我一直在研究这个问题,我似乎无法弄明白。我有一个美国的可点击jquery地图,当你点击状态时,它将打开该状态的链接列表。我正在使用美国地图插件(http://newsignature.github.io/us-map/#usage-style-options)。
我无法弄清楚的奇怪部分是当我点击加利福尼亚时,我写的与插件一起使用的jquery按预期工作,但是当你点击其他状态时它没有。如果你想亲眼看看它想要做什么,我会提供我的测试网站的网址。首先单击加利福尼亚然后关闭模式窗口,角落中的X然后尝试另一个状态,您将看到关闭按钮不起作用。加利福尼亚州可以反复打开和关闭。
以下是测试网址:http://test.sportdirections.com/restaurants.php
这是我的Jquery代码
var mouseX;
var mouseY;
$(document).mousemove( function(e) {
mouseX = e.pageX-200;
mouseY = e.pageY-500;
});
$('#map').usmap({
// The hover action..
mouseover: function(event, data){
$('#restaurant-hover-'+data.name).css({'top':mouseY,'left':mouseX}).fadeIn(500);
},
// Hover away action
mouseout:function(event, data){
$('#restaurant-hover-'+data.name).fadeOut('fast');
},
// State clicked action
click:function(event, data) {
function closeList () {
$('#loading').hide();
$('#links-'+data.name).fadeOut('fast');
}
$('#close').click(closeList);
$('#loading').show();
$('#links-'+data.name).fadeIn(1000);
}
});
答案 0 :(得分:5)
查看正在生成的html。每个弹出窗口都有相同的input
,其中相同的ID为close
。这样就可以解决您的问题,因为您不能拥有多个具有相同ID的html元素。
您正在创建标识为links-STATE
的弹出式窗口。看看你是否可以为关闭按钮做类似的事情或使用类然后jQuerys find()或parent()选择器来关闭弹出窗口