Передача true/false в slideToggle()
В jQuery я знаю, что мы можем передать значение true
или false
функции на toggle
видимость элемента. Я не могу заставить slideToggle
делать то же самое. Любая помощь пожалуйста?
Например, вместо:
if (true)
$('something').slideDown();
else
$('something').slideUp();
Мне бы очень хотелось сделать что-то похожее на:
$('something').toggle(myBoolValue);
Но я хочу сделать это с помощью slideToggle
.
Посмотрите мой пример jsfiddle, чтобы узнать, что я пытаюсь сделать.
Возможно ли это?
Ответы
Ответ 1
slideToggle
необязательно принимает 2 параметра duration
и a callback
, поэтому передача true/false для показа /hide не будет работать. Возможно, вам придется написать свой собственный плагин, который будет реализовывать эту логику. Что-то вроде этого
$.fn.mySllideToggle = function(show){
if(show){
$(this).slideDown();
}
else{
$(this).slideUp();
}
}
Ответ 2
Обновление:. По-видимому, был добавлен запрос на добавление, чтобы добавить эту функциональность для согласованности, но они проголосовали против: Ticket # 10491
Ответ 3
Это просто:
$.fn.slideToggleBool = function(bool, options) {
return bool? $(this).slideDown(options) : $(this).slideUp(options);
}
Наслаждайтесь!
Ответ 4
http://api.jquery.com/slideToggle/
$('something').slideToggle('slow');
http://jsfiddle.net/WLp9z/1/