jQuery: не срабатывает событие после клика - PullRequest
1 голос
/ 12 февраля 2012

В действии: http://3.alphenweer.nl/weer/
Код:

    $(document).ready(function(){
        $('.categorie[data-cat]').click(function(){
            $('#cat-'+ $(this).attr('data-cat')).slideToggle('slow');
        });
    });

<span class="categorie" data-cat="nieuws">Nieuws</span>
<div class="box" id="box-nieuws">
    <a href="/pages/nieuws/nieuws/alphen.php">Alphen</a>
    <a href="/pages/nieuws/nieuws/nederland.php">Nederland</a>
</div>

Проблема: Когда я нажимаю на кнопку меню (в примере: нажмите «Neerslag» или «Satteliet»), ничего не происходит.Я думаю, что селектор не правильный, но это должно быть.Ребята, вы можете мне помочь?

Ответы [ 2 ]

1 голос
/ 12 февраля 2012

Я думаю, вы немного смущены. Похоже, что вы хотите использовать атрибут данных нажатой .categorie, чтобы сдвинуть переключатель соответствующего элемента. Итак, вы можете сделать:

$('.categorie[data-cat]').click(function(){
    $('div[id=box-"' + $(this).attr('data-cat') + '"]').slideToggle('slow');
});

или, если структура соответствует той, которую вы опубликовали, она может быть проще:

$('.categorie[data-cat]').click(function(){
    $(this).next(".box").slideToggle('slow');
});
0 голосов
/ 12 февраля 2012

Уже нашли проблему:

$(document).ready(function(){
    $('.categorie[data-cat]').click(function(){
        $('#cat-'+ $(this).attr('data-cat')).slideToggle('slow');
    });
});

В третьей строке $('#cat-' ... должно было быть $('#box-'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...