Передача 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);
}

Наслаждайтесь!