让我先说明我不懂JS的事实,所以我们非常感谢任何帮助。
我有一个幻灯片切换,我想在页面加载后3秒打开。这是我目前用于幻灯片切换的内容:
$(function(){
// hide/show header
$('#close-open-top a').bind('click', function() {
if($('header:visible').length) {
$('img', this).attr('src', 'img/open.png');
} else {
$('img', this).attr('src', 'img/close.png');
}
$('header').slideToggle('slow');
return false;
});
目前它已加载关闭,当我点击箭头时它会打开。我想让它在页面加载后3秒自动打开。
答案 0 :(得分:2)
请准备好文档中的以下内容:
$('header').delay(3000).slideToggle('slow');
.delay()
method会延迟动画队列中的后续项目(请注意,您无法使用它来延迟非动画方法)。
或者,如果您希望执行单击处理程序中的所有代码(包括设置图像src),那么最简单的方法是在3秒延迟后以编程方式触发单击,因此将以下内容添加到您的结尾文档就绪处理程序(在单击处理程序绑定之后):
setTimeout(function() { $('#close-open-top a').trigger('click'); }, 3000);
答案 1 :(得分:1)
嗯,我想我没有完全得到你......但也许我可以帮助你
获取延迟使用setTimeout,如:
setTimeout(function(){ $('header').slideToggle('slow');
},3000);
所以在函数内部可以放置要执行的代码。必须将第二个参数选择为在调用函数之前等待的毫秒数。如果您想在Pageload之后3秒自动执行此操作:
$(document).ready(function(){
setTimeout(function(){ $('header').slideToggle('slow');
},3000);
});