时间段后隐藏元素没有"收缩效果"?

时间:2014-05-08 12:52:29

标签: javascript jquery html

我想做什么:

我想在设定的持续时间(例如3秒)后隐藏元素或图像。不幸的是,如果我使用.hide(3000)方法,那就有了#34;缩小"影响。如果我使用.fadeOut(3000)方法,它当然会逐渐淡出。我只想显示元素3秒(没有任何效果或平滑过渡),在这3秒后它会立即消失。

HTML:

<button class="buttonHide">Hide</button>
<img id="loadinggif" src="http://hosting-nation.ca/templates/hn1/images/loading.gif"/>

JQuery的:

$(document).ready(function(){
    $(".buttonHide").click(function(){
        $("#loadinggif").hide(3000);          //or fadeOut(3000)? Both doesn't have the desired effect. 
    });
});

http://jsfiddle.net/d2LYa/6/

非常感谢!

3 个答案:

答案 0 :(得分:5)

在hide()中使用零值的

delay()将起作用。零时间将使其成为动画并延迟暂停动画。

$("#loadinggif").delay(3000).hide(0);

答案 1 :(得分:3)

使用setTimeout()方法:

$(document).ready(function(){
    $(".buttonHide").click(function(){
       setTimeout(function(){
            $("#loadinggif").hide();  
        },3000); 
 });
});

答案 2 :(得分:0)

如果不想缩小,则使用setTimeout()3秒将CSS可见性用作隐藏。检查下面的这个文件

$(document).ready(function(){
$(".buttonHide").click(function(){
     setTimeout(function(){
   $("#loadinggif").css('visibility','hidden');
          },3000); 
});
});

http://jsfiddle.net/d2LYa/5/