Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript photoslide上的SetTimeout函数_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript photoslide上的SetTimeout函数

Javascript photoslide上的SetTimeout函数,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我在一个页面上创建一个网站,就像photoslide一样,下面是我的代码和功能 有两件事我需要帮助 1) 在第二页上设置Timeout,因此如果5秒钟内没有人单击任何按钮/链接,它会自动返回到第一页,而不会单击任何按钮/链接 2) 在第三页,现在有一个“谢谢你”的标签,我想完全删除这个标签,所以它只会是页面上的一个图像。3秒钟后,它会自动返回到第一页 如何在这两个页面上设置超时以实现上述两个功能?感谢您的帮助 谢谢 如果将此代码添加到a.panel单击事件处理程序的开头,则超时将生效: //ca

我在一个页面上创建一个网站,就像photoslide一样,下面是我的代码和功能

有两件事我需要帮助

1) 在第二页上设置Timeout,因此如果5秒钟内没有人单击任何按钮/链接,它会自动返回到第一页,而不会单击任何按钮/链接

2) 在第三页,现在有一个“谢谢你”的标签,我想完全删除这个标签,所以它只会是页面上的一个图像。3秒钟后,它会自动返回到第一页

如何在这两个页面上设置超时以实现上述两个功能?感谢您的帮助


谢谢

如果将此代码添加到
a.panel
单击事件处理程序的开头,则超时将生效:

//cache all the `a.panel` elements and setup a timer for our `setTimeout`s
var $panels = $('a.panel'),
    timer   = null;

//add click event handlers to all the `a.panel` links
$panels.click(function () {


    //clear our timer so we don't get redirected back to `#item1` after clicking a link in a timely manor
    clearTimeout(timer);
    timer = null;

    //cache the value of `$(this)` since we will use it more than once
    var $this = $(this);

    //check if we just clicked the link to the second page
    if ($this.attr('href') == '#item2') {

        //set a timer to return to the first page after five seconds of inactivity
        timer = setTimeout(function () {
            $panels.filter('[href="#item1"]').trigger('click');
        }, 5000);

    //check if we just clicked the link to the third page
    } else if ($this.attr('href') == '#item3') {

        //set a timer to return to the first page after three seconds of inactivity
        timer = setTimeout(function () {
            $panels.filter('[href="#item1"]').trigger('click');
        }, 3000);
    }

这里是一个演示:

嗨,贾斯珀,非常感谢你的代码,第二页工作得很好,谢谢。只有一个问题,我的第三个页面/div是一个图像,现在我有一个标记,我想删除它,是否可以删除第三个项目上的标记,并且相同的功能仍然有效?谢谢大家!@SamIAm一个问题是,单击
a.panel
链接会重置
计时器
变量(停止自动重定向功能)。因此,如果没有
a.panel
链接来单击第三页,那么用户将在三秒后自动返回到第一页。另一个问题是,我的代码使用该链接(第三页上的链接)触发到第一页的重定向。一个简单的解决方法是将link元素更改为隐藏,而不是全部删除。@SamIAm这里是我上述评论的一个演示:(注意第三页的
标记)。谢谢Jasper,你的速度太快了!使用此自动重定向功能,我可以将3秒更改为5秒吗?我还可以改变移动速度吗?谢谢@SamIAm这可能是我暂时的最后一句话,因为我将离开我的电脑。您可以通过更改传递到
setTimeout
函数的毫秒数来更改持续时间,例如更改
timer=setTimeout(…,3000)
定时器=设置超时(…,5000)
<代码>1000ms==1秒
。更改“移动速度”几乎是一样的,只需更改
.scrollTo()
函数调用,使其具有更长的持续时间(对于较慢,持续时间更短,对于较快)。更改:
$('#wrapper')。滚动到($(this).attr('href'),800,
到:
$('#wrapper')。滚动到($(this).attr('href'),1200,
)。