Javascript 单击或10秒后jquery重定向

Javascript 单击或10秒后jquery重定向,javascript,jquery,click,delay,splash-screen,Javascript,Jquery,Click,Delay,Splash Screen,我在一个网站上有一个spash屏幕,上面有一个ID为“splash”的div。我正在尝试使div淡入,然后如果用户单击div,它就会淡出并重新访问主站点。如果用户没有点击它,它会在10秒后淡出并重定向 定时重定向正在工作,但单击功能不起作用 <script type="text/javascript"> $(document).ready(function() { $('#splash').hide(); $('#splash').fadeIn(1

我在一个网站上有一个spash屏幕,上面有一个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>

$(文档).ready(函数(){
$('#splash').hide();
$('#splash').fadeIn(1000,function(){
$(this).delay(10000).fadeOut(1000,function(){
window.location=http://www.examle.com'; });
$(this).单击().fadeOut(1000,函数(){
window.location=http://www.example.com'; });
});
});
任何帮助都会很好

尝试以下方法:

$(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);
     });
 });​
我对示例所做的更改:

我已将单击处理程序的设置移到淡出函数(better practice,IMHO)之外,并将您对delay()的调用更改为setTimeout()


区别在于,delay()不允许在后台执行其他jQuery代码,而setTimeout()则允许。

谢谢,click函数仍然不能与上述代码一起工作。对不起,错误不是我最初想的。请尝试更新的代码示例:)问题在于它没有在单击时停止
delay()
。因此,如果您单击,您仍然必须等到延迟结束。奇怪的(但看起来你发现了:))试试我发布的更新代码(我编辑了我的答案)。这是我应该做的。正如我在更新后的回答中提到的,我用delay()代替setTimeout(),后者不允许执行进一步的jQuery代码。这也不起作用,它先运行fadein,然后再运行fadeout,而没有使超时生效。