4

我在一个网站上有一个闪屏,它有一个 ID 为“splash”的 div,我试图让 div 淡入,然后如果用户单击 div,它会淡出并重定向到主站点。如果用户不点击它只会淡出并在 10 秒后重定向。

定时重定向有效,但点击功能无效。

    <script type="text/javascript">
  $(document).ready(function() {
  $('#splash').hide();  
        $('#splash').fadeIn(1000, function() {
              $(this).delay(10000).fadeOut(1000, function() { 
               window.location = 'http://www.examle.com'; });
              $(this).click().fadeOut(1000,function() { 
               window.location = 'http://www.example.com'; });
         });
  });
</script>

任何帮助都会很棒

4

1 回答 1

5

试试这个:

$(document).ready(function() {
  $('#splash').hide();
  $('#splash').click(function(){
             $(this).fadeOut(1000,function() { 
                     window.location = 'http://www.example.com'; });
             });
  $('#splash').fadeIn(1000, function() {
           window.setTimeout ( function() {
             $('#splash').fadeOut(1000, function() { 
               window.location = 'http://www.example.com'; }) }
             , 10000);
     });
 });​

我对示例所做的更改:

我已将点击处理程序设置在 fadeOut 函数之外(更好的做法,恕我直言),并且我已将您对 delay() 的调用更改为 setTimeout()。

不同之处在于,delay() 不允许在后台执行其他 jQuery 代码,而 setTimeout() 会。

于 2010-07-13T03:39:22.947 回答