【问题标题】:Hide This Class after the page is loaded and show after for 20 seconds页面加载后隐藏此类并在 20 秒后显示
【发布时间】:2018-11-08 05:04:32
【问题描述】:

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

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

【问题讨论】:

  • 为什么不先把它隐藏起来,然后在 20 秒后显示呢?
  • 所以超时设置为 20 秒,看起来很简单......
  • 这就是我想要做的,从隐藏开始,然后在 20 秒后 @gforce301 谢谢
  • 所以用 CSS 而不是 Javascript 隐藏它,然后在 20 秒后执行一个显示函数(或删除一个导致它被隐藏的类名)。
  • 您没有很好地解释它,并且在您自己的代码和下面的两个答案之间(根据您以前版本的问题正确),您已经有足够的代码来解决问题.

标签: javascript jquery


【解决方案1】:

如果我理解正确,为什么不以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);
});

【讨论】:

  • 感谢您的帮助我已经尝试过但无法正常工作,所以我想在 20 秒后隐藏并显示,感谢您的帮助
  • 不,您的代码是正确的,但也许我的问题是错误的,感谢您的帮助,我现在已经编辑了我的问题,再次感谢
  • 好的 - 我会在您编辑后返回并检查您的问题
  • 我已经编辑了我的问题,@David 谢谢你的帮助
  • 我查看了您的编辑 - 我认为我的回答仍然适合您。如果“可见性:隐藏”或“显示:无”是您的初始状态,则无需使用 Javascript 或 jQuery 隐藏某些内容。为此使用 CSS - 然后在您的 x 秒延迟后,使用 Javascript 或 jQuery 显示它。如果这是您的意图,还添加了使用可见性处理的代码。
【解决方案2】:

首先请注意,您不需要在单个页面中使用多个 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);
});

【讨论】:

  • 感谢您的帮助我已经尝试过但无法正常工作,所以我想在 20 秒后隐藏并显示,感谢您的帮助
  • 不,您的代码是正确的,但也许我的问题是错误的,感谢您的帮助,我现在已经编辑了我的问题,再次感谢
【解决方案3】:

2天后的解决方案

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

感谢您的帮助。

【讨论】:

    猜你喜欢
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多