【发布时间】:2011-08-09 19:54:15
【问题描述】:
我正在使用带有美国地图的 jQuery maphighlight 插件
我有几个州太小了,不能把它们的缩写放在上面,所以我不得不把它们放在一边。
我已经做过的是,当用户将鼠标悬停在缩写上时,相应的状态会突出显示。效果很好。
我遇到的“问题”是,虽然代码有效,但对我来说它看起来太重复了,我试图简化/优化它,但我得到的错误是所有缩写都突出显示一个单一状态而不是对应的。
这是我目前的代码:
$(function() {
$('.map').maphilight();
$('#ma-link').mouseover(function(e) {
$('#ma').mouseover();
}).mouseout(function(e) {
$('#ma').mouseout();
}).click(function(e) { e.preventDefault(); });
$('#ri-link').mouseover(function(e) {
$('#ri').mouseover();
}).mouseout(function(e) {
$('#ri').mouseout();
}).click(function(e) { e.preventDefault(); });
$('#ct-link').mouseover(function(e) {
$('#ct').mouseover();
}).mouseout(function(e) {
$('#ct').mouseout();
}).click(function(e) { e.preventDefault(); });
$('#nj-link').mouseover(function(e) {
$('#nj').mouseover();
}).mouseout(function(e) {
$('#nj').mouseout();
}).click(function(e) { e.preventDefault(); });
$('#de-link').mouseover(function(e) {
$('#de').mouseover();
}).mouseout(function(e) {
$('#de').mouseout();
}).click(function(e) { e.preventDefault(); });
$('#md-link').mouseover(function(e) {
$('#md').mouseover();
}).mouseout(function(e) {
$('#md').mouseout();
}).click(function(e) { e.preventDefault(); });
});
有办法简化吗?
对此的任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
你能把这背后的一些 HTML 也贴出来吗?