Переключатель jQuery не работает - PullRequest
0 голосов
/ 21 июля 2011

Мне нравится переключать .toggle-item-(number here) с .link(number here).В начале все .toggle-item s закрыты.Только один элемент переключения должен быть показан одновременно.Каждый раз, когда открывается новый элемент переключения, другой открытый элемент переключения должен закрываться.

Ссылка с кодом здесь: http://jsfiddle.net/rAUqb/

Почему не работает код jQuery?

Ответы [ 4 ]

1 голос
/ 21 июля 2011

Я обновил ваш код.

Вы не правильно набрали номер.

$(document).ready(function() {
    $('[class^=toggle-item]').hide();
    $('[class^=link]').click(function() {
        var x = $(this).attr("class").replace('link', '');
        $('[class^=toggle-item]:not(.toggle-item-'+x+')').hide();
        $('.toggle-item-' + x).toggle();
        return false;
    });
});

Значением в x было полное имя класса («link1», «link2» и т. Д.). Я просто удалил часть «ссылка», чтобы просто получить номер.

0 голосов
/ 21 июля 2011

Обновлен код Марка, чтобы он закрывал остальные при нажатии.

$(document).ready(function() {
    $('[class^=toggle-item]').hide();
    $('[class^=link]').click(function() {
        var $this = $(this);
        var x = $this.attr("class");
        var className = '.toggle-item-' + x.replace('link', '');
        $(className ).toggle();
        $('[class^=toggle-item]:not('+className +')').hide();
        return false;
    });
});
0 голосов
/ 21 июля 2011

используйте attr("class") вместо attr("classname")

0 голосов
/ 21 июля 2011

Разве Jquery гармошка не подойдет вам?

...