Jquery关闭按钮适用于某些div

时间:2013-11-11 20:41:27

标签: javascript jquery

我一直在研究这个问题,我似乎无法弄明白。我有一个美国的可点击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);

    }
});

1 个答案:

答案 0 :(得分:5)

查看正在生成的html。每个弹出窗口都有相同的input,其中相同的ID为close。这样就可以解决您的问题,因为您不能拥有多个具有相同ID的html元素。

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