0

我已经为此工作了一段时间,但我似乎无法弄清楚。我有一个可点击的美国 jquery 地图,当您单击一个州时,它将打开该州的链接列表。我正在使用美国地图插件(http://newsignature.github.io/us-map/#usage-style-options)。

我无法弄清楚的奇怪部分是,当我单击加利福尼亚时,我编写的与插件一起使用的 jquery 按预期工作,但是当您单击其他州时却没有。如果您想亲眼看看它应该做什么,我将提供我的测试站点的 url。首先点击California,然后关闭一角有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);

    }
});
4

1 回答 1

5

查看正在生成的 html。每个弹出窗口都input具有相同的 id close。这给您带来了问题,因为您不能拥有多个具有相同 ID 的 html 元素。

您正在使用 id 创建弹出窗口links-STATE。看看你是否可以为关闭按钮做类似的事情或使用一个类然后 jQuerys find() 或 parent() 选择器来关闭弹出窗口

于 2013-11-11T20:47:13.100 回答