【问题标题】:Jquery show div after hiding it onclick after 5 secondsJquery在5秒后隐藏它onclick后显示div
【发布时间】:2014-04-16 16:31:00
【问题描述】:

嘿,所以我有一个 div,我想在单击按钮后用一些文本替换它,然后在 5 秒后重新显示相同的隐藏文本。我被困在需要重新展示它的部分。我用 onclick 函数隐藏了 div 并附加了一些文本,但几秒钟后我想重新显示原始文本。

这是我需要在点击时更改文本的链接,然后在 5 秒后显示原始文本...

最初的文字是“添加到日历”,点击后应该会变成“更新日历”,然后在 5 秒后变回“添加到日历”。

<div class="resSubmitAction download resDetailsButton">
    <a href="javascript:void(0);">
</div>
<div class="calText"><p>add to calendar</p></div></a>
</div>

jquery:

$(document).ready(function () {
     $(".resSubmitAction").click(function () {
         $(".calText > p").replaceWith("Calendar Updated");
     });
 });

【问题讨论】:

  • setTimeout 可以帮忙
  • POST 代码有问题!

标签: javascript jquery


【解决方案1】:

利用 setTimeout 函数。 Fiddle

$("#clickme").click(function(){
    var elem = $(this);
    setTimeout(function(){
        elem.hide();        
    }, 5000);
});

【讨论】:

    【解决方案2】:

    在您提供的代码中,点击事件未正确附加,如果您点击“添加到日历”,则不会触发该事件。

    您可以使用 setTimeout 函数在一定时间延迟后调用任何函数,这是您实现了 setTimeout 的代码。 Fiddle

     $(".calText").click(function () {
         var originalText = $(".calText > p").text();
         $(".calText > p").text("Calendar Updated");
    
         setTimeout(function(){ 
                 $(".calText > p").text(originalText) 
         }, delayTime);
    
         //Just a little timer I added
         triggerTimer();
     });
    

    【讨论】:

    • 这很有帮助!我想我忘了提到“.resSubmitAction”类触发一个javascript事件,它下载一个.ics文件,一旦用户点击按钮,文本应该从“添加到日历”变为“日历更新”几秒钟
    猜你喜欢
    • 2011-03-26
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    • 2015-10-07
    相关资源
    最近更新 更多