Кнопка закрытия Jquery работает на некоторых div

0

Я работаю над этим некоторое время, и я, похоже, не понимаю его. У меня есть интерактивная карта jquery из Соединенных Штатов, которая, когда вы нажимаете состояние, откроет список ссылок для этого состояния. Я использую плагин US Map (http://newsignature.github.io/us-map/#usage-style-options).

Странная часть, которую я не могу понять, - это когда я нажимаю "Калифорния", jquery, который я написал для использования с плагином, работает так, как ожидалось, но когда вы нажимаете на другие состояния, это не так. Я предоставлю URL-адрес моего тестового сайта, если вы хотите сами убедиться, что он должен делать. Сначала нажмите Калифорнию, а затем закройте окно мода с помощью X в углу, затем попробуйте другое состояние, и вы увидите, что кнопка закрытия не работает. Калифорния может быть открыта и закрыта повторно без проблем.

Вот тестовый URL: 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 ответ

5
Лучший ответ

Посмотрите на генерируемый html. Каждое всплывающее окно имеет тот же input каждый с одинаковым идентификатором быть close. Это дает вам вашу проблему, потому что у вас не может быть более одного элемента html с тем же идентификатором.

Вы создаете всплывающие окна с идентификационными links-STATE. Посмотрите, можете ли вы сделать что-то подобное для кнопки закрытия или использовать класс, а затем выбрать jQuerys find() или parent(), чтобы закрыть всплывающее окно

  • 0
    Все они имеют разные идентификаторы. Идентификаторы: # links-CA или заменяют CA на любое нажатие. close - это идентификатор кнопки закрытия. Предполагается ли называть каждую кнопку закрытия отдельным идентификатором?
  • 0
    Да, но у вас есть кнопка закрытия для каждого тэга # links-CA и # links-NY. И у каждой из этих кнопок закрытия есть идентификатор закрытия. Используйте инструменты разработчика в chrome или firefox для проверки всего генерируемого HTML
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню