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