在单击按钮时取消正在进行的 JavaScript 介绍

Cancel ongoing javascript intro on button click

本文关键字:JavaScript 介绍 正在进行 取消 单击 按钮      更新时间:2023-09-26

我正在开发一个单页网站,在显示主要内容之前,我会使用介绍。引入(大约十秒(立即触发并以以下代码结束:

// Fade in divs for intro
$('.intro-logo').fadeIn(800).delay(800, function() {
    $('.groupC').delay(400).fadeOut(800, function() {
        $('.main-holder').fadeIn(800);
        hash_handler();
        $('.footershow').delay(1600).fadeIn(800);
    });
});

在此事件期间,将触发hash_handler,该根据 url 中的 # 滚动主页,以显示页面的正确部分。

在介绍过程中,将显示一个 SKIP 按钮,按下时遵循以下代码:

function hideIntro() {
    $('.groupC').fadeOut(800);
    $('.main-holder').fadeIn(800);
    hash_handler();
    $('.footershow').delay(1600).fadeIn(800);
}

请在按下 SKIP 按钮时告知如何取消介绍,以避免hash_handler被执行两次。

谢谢

我希望你使用的是jQuery。如果正确,则可以像这样使用 .stop( [clearQueue ] [, jumpToEnd ] ) 方法:

$('.groupC').stop(true, false).fadeOut(800);

第一个参数确定 jQuery 是取消对象的任何挂起动画,而第二个参数确定 jQuery 是跳转到当前动画的末尾还是将其保留在原处。