加载页面后隐藏此类,并在20秒后显示

时间:2018-05-29 13:52:00

标签: javascript jquery

我有这个代码,这是有效的,但是我想快速隐藏,所以1秒钟是要mouch,我想隐藏这个不到1秒,并在20秒后显示?

$(function(){
  setTimeout(function(){
    $(".video-LeAdClick-front").show(function(){
      setTimeout(function(){
        $(".video-LeAdClick-front").hide()
      }, 1000)
    })
  }, 20000)
})

3 个答案:

答案 0 :(得分:3)

首先请注意,您不需要在单个页面中使用多个document.ready事件处理程序。你可以把它们结合起来。

其次,我假设,您已经在当前元素上调用hide(),该元素在页面加载时可见,并且您希望隐藏它20秒 页面加载完毕后,不要将隐藏 20秒然后显示它。

要实现这一点,您可以使用setTimeout()调用,如下所示:

$(function() {
  var $video = $(".video-LeAdClick-front").attr('target', '_blank');

  setTimeout(function() {
    $video.hide(1000);
  }, 20000);
});

如果逆是真的(即元素应该开始隐藏,然后在20秒后显示),那么只需将hide()翻转到show()

.video-LeAdClick-front { display: none; }
$(function() {
  var $video = $(".video-LeAdClick-front").attr('target', '_blank');

  setTimeout(function() {
    $video.show(1000);
  }, 20000);
});

答案 1 :(得分:3)

如果我理解正确,为什么不开始使用display: none

.video-LeAdClick-front { display: none }

然后在ready()

$(document).ready(function () {
    setTimeout(function () {
        $(".video-LeAdClick-front").show().click(function() {
            $(this).hide(1000);
        });
    }, 20000);
});

或者,使用visibility

.video-LeAdClick-front { visibility: hidden }

然后在ready()

$(document).ready(function () {
    setTimeout(function () {
        $(".video-LeAdClick-front").css({"visibility" : "visible"}).click(function() {
            $(this).hide(1000);
        });
    }, 20000);
});

答案 2 :(得分:0)

2天后的解决方案

$(function(){
$(".video-LeAdClick-front").hide();
})

感谢您的帮助。