Очень просто поставить: строка currentItem.toggleClass('open');
не работает.jQuery toggleClass не работает?
Точнее, при проверке результатов с помощью firebug я вижу, что класс «открыт» мигает (появляется и сразу исчезает) на соответствующем элементе. Так что, как будто функция запускается дважды (конечно, я только один раз кликнул).
Может кто-нибудь объяснить мне, почему это так и как предотвратить это?
Вот мой JQuery код:
$('div.collapse ul.radio_list li input[type=radio]').click(function (event) {
var currentTree = $(this).parent().parent().parent();
var currentItem = $(this).parent().parent();
var currentGroup = currentItem.attr('rel');
$(this).parents('ul').children('li').removeClass('select');
if ($(this).is(':checked')) {
currentItem.addClass('select');
}
currentItem.toggleClass('open');
var currentLevel = 0;
if (currentItem.is('.level1')) {currentLevel = 1;}
if (currentItem.is('.level2')) {currentLevel = 2;}
if (currentItem.is('.level3')) {currentLevel = 3;}
var nextLevel = currentLevel + 1;
currentTree.children('li').filter('li[rel ^=' + currentGroup + '].level' + nextLevel).animate({'height': 'show', 'opacity': 'show'}, 250).addClass('currentChild');
});
А вот часть моего HTML кода, немного упрощен для лучшей читаемости (не очень красиво, я знаю, но у меня есть только ограниченный контроль на выходе HTML):
<div class="col_left collapse">
<ul class="radio_list" rel="7">
<li class="onglet level0" rel="group1">
<span class="onglet level0">
<input type="radio" />
<label>Services Pratiques</label></span>
<input type="hidden" value="1">
</li>
Заранее спасибо.
Вы уверены, что не используете функцию дважды? – NOtherDev
@A .: Я так не думаю: это единственный раз, когда я использую «.click()» на моей странице, а также единственный раз, когда я изменяю это имя класса. Я также пытался использовать другие имена классов без каких-либо лучших результатов. – s427
@A .: На самом деле вы были правы! Я работаю с фреймворком (Prado), которого я не очень хорошо знаю, и я не знал, что JS-файл был дважды включен в заголовок HTML. Исправление этого проблемы решило проблему. Благодаря! – s427