2015-11-08 3 views
-1

Я очень много нового Javascript и я нужна помощь со следующей проблемой:набора по умолчанию класса Javascript

Я хочу использовать следующую функцию, чтобы сделать заголовок, который закрывает и открывает после щелчка, и я наткнулся на эту функцию, в которой я добавил «закрытый» класс, который я бы хотел установить по умолчанию, когда страница загружается изначально. У кого-то есть идея для меня, я был бы очень благодарен!

$(function() { 
    var b = $("#contact"); 
    var w = $("#button"); 
    var l = $("#list"); 

    w.height(l.outerHeight(true)); 

    b.click(function() { 

    if(w.hasClass('closed')) { 
    w.removeClass('closed'); 
    w.addClass('open'); 
    w.height(l.outerHeight(true)); 
} else { 
    w.addClass('closed'); 
    w.height(0); 
} 

    }); 
}); 
+2

Почему вы не можете просто добавить класс в HTML? – JJJ

ответ

0

Функция вы передаете $(…) вызывается один раз, когда страница первоначально нагрузок. Вы уже используете это, чтобы настроить обработчик кликов, который переключает класс closed. Поэтому в дополнение к настройке обработчика щелчка вы также можете просто добавить класс:

$(function() { 
    … 
    b.click(function() { 
    … 
    }); 

    // set the initial class value 
    w.addClass('closed'); 
}); 
+0

Вам не кажется, что лучше использовать атрибут 'class'? Я имею в виду, что позже он сможет манипулировать им с помощью jQuery. – weirdpanda

+2

@weirdpanda Я бы не сделал этого с jQuery вообще, но в коде OP 'w' уже является объектом jQuery. И да, вы могли бы просто задать атрибут класса, но вы не знаете, нет ли на нем каких-либо других имен классов, вы бы перезаписали этот путь. – poke

+0

@poke: спасибо, я добавил начальное значение класса, а также изменил 'w.height (l.outerHeight (true)),' сразу после определения переменных на 'w.height (0);', который I должно было быть сделано в первую очередь. Извините, мой вопрос был, вероятно, немного лишним – svewas

Смежные вопросы