Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用持续时间和显示切换jQuery元素?_Javascript_Jquery_Html_Toggle - Fatal编程技术网

Javascript 如何使用持续时间和显示切换jQuery元素?

Javascript 如何使用持续时间和显示切换jQuery元素?,javascript,jquery,html,toggle,Javascript,Jquery,Html,Toggle,当我想关闭一个我可以使用的组件时 $("#donkey").toggle(false); $("#emailInvalid").toggle(700); 当我需要在特定时间段内切换时,我可以使用 $("#donkey").toggle(false); $("#emailInvalid").toggle(700); 但现在我想把这两者结合起来。我想确保组件被切换到关闭状态(不仅仅是来回切换),并且我想指定过程的持续时间 根据,我也应该能够指定一个带有选项的对象。然而,以下情况 $("#do

当我想关闭一个我可以使用的组件时

$("#donkey").toggle(false);
$("#emailInvalid").toggle(700);
当我需要在特定时间段内切换时,我可以使用

$("#donkey").toggle(false);
$("#emailInvalid").toggle(700);
但现在我想把这两者结合起来。我想确保组件被切换到关闭状态(不仅仅是来回切换),并且我想指定过程的持续时间

根据,我也应该能够指定一个带有选项的对象。然而,以下情况

$("#donkey").toggle({ duration: 700, display: false });
只会来回切换驴子(不过,在上述时间内),而我希望它切换到隐身状态。当我查看这些选项时,我注意到没有显示任何地址,因此我担心jQuery会将上述内容等同于

$("#donkey").toggle({ duration: 700, biteMe: "in the donkey" });

如何确保切换程序隐藏组件(相当于上面的第一行代码)以及我可以控制完成流程的时间(相当于上面的第二行代码)?

仅在可见时应用切换:

 $('#donkey:visible').toggle(500);
或者

   var element=$('#donkey');  
    if(element.css('display') !== 'none'){ 
    element.toggle(500);
}

我想这就是你想要的——如果元素(#驴子)是可见的,它就会被隐藏,如果它被隐藏,什么也不会发生

$( '#button' ).click( function(){
  if( $( '#donkey' ).css( 'display' ) === 'block' ) {
    $("#donkey").toggle( 700 );
  }
});

代码笔:

简短回答-你不能

您可以选择构建自定义的东西,并在自定义代码中执行逻辑。另外,您可能希望在具有您喜欢的外观的不同类之间切换。查看详细信息


为了完整起见,我还向您提供了@DavidThomas建议的链接,尽管我很少使用该链接。

这个小插件可以让您将两者结合起来:

(function ( $ ) {
  $.fn.myToggle = function(show, options) {
    return this.each(function() {
      if ($(this).is(":hidden") ? show : !show) $(this).toggle(options);
    });
  };
}( jQuery ));
简单的例子:

$("#donkey").myToggle(false, 700);

你可以使用$(“#emailInvalid”).hide(700)@rishabhdev hide,持续时间?我的印象是,从1.7或1.9版(或类似的版本)开始使用toggle(切换)的好处是降低了(正如所显示的那样)…@KonradViltersten:你会为此制作小提琴吗?@Parabhayani不确定我是否会遵循。您想看看不推荐的组件是如何工作的吗?请提供建议。我认为使用将允许更多的定制,允许在提供的时间段内使用回调函数对任何CSS属性进行动画制作,该函数在动画完成时运行。尽管在开始状态(类1)和结束状态(类2)之间使用CSS动画很有可能更具定制性。但是如果不知道你想要达到什么目的,就很难给出一般性的建议。@DavidThomas Hehe,当我读到他的答案时,我错过了这一点。我猜他轮班很快,但没有到达cl。或者在我的例子中,这是指驴子。好眼力,伙计。。。或者很容易看到自己喜欢看的东西,呵呵。