4

我正在尝试向SetTimeoutjQuery Show / Hide 调用添加动画类型转换。以下是我目前拥有它的方式,但我想添加“显示” div 在恢复为原始 div 之前保持显示的特定时间#bg_dv。如果可能的话,我还想在效果之间添加动画过渡。

   function tilt(){
    $("#area1").click(function(){
        $("#bg_div").hide();
        $("#bg_skew").show(); // I would like to show this Div for about 5 seconds
 // and then have original back. 
       });
    }
4

3 回答 3

9
$("#bg_div").hide(0).delay(5000).show(0);
$("#bg_skew").show(0).delay(5000).hide(0);

如果你想要动画,你可以用适当的东西替换对hide()和的调用。show()例如fadeIn()fadeOut()

于 2013-07-03T14:55:10.027 回答
2
    $("#area1").click(function(){

        $("#bg_div").fadeOut('fast',function(){
             $("#bg_skew").delay(5000).fadeIn('fast');
        });


    });

为了防止缓存多次点击并多次播放动画,您还应该看看

.stop(true,true)

在任何动画之前。还请查看此动画选项 - 属性。

{cache:false}
于 2013-07-03T14:59:28.260 回答
2

就这么简单。只需将毫秒放入show.delay(5000)其中即可延迟 5 秒。

句法:

$(selector).delay(speed)

speed:以毫秒为单位的时间,例如 5000 5 秒。

$(selector).show(speed,easing,callback)

speed:这里以毫秒为单位输入时间,例如 1000 1 秒。

easing:它定义了不同点的元素速度,即“线性”“摆动”。

callback:在这里你可以把你的函数在完成 show 方法后执行。例如,当您在显示图像后单击按钮显示图像时,它将执行功能,例如 .show(1000,function(){alert("hello")};);

希望我帮助了你。

于 2013-07-03T15:09:50.343 回答