如何在页面加载后立即激活幻灯片?

时间:2012-05-22 00:18:12

标签: javascript jquery slidetoggle

让我先说明我不懂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秒自动打开。

2 个答案:

答案 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);  
});