Javascript 单击或10秒后jquery重定向
我在一个网站上有一个spash屏幕,上面有一个ID为“splash”的div。我正在尝试使div淡入,然后如果用户单击div,它就会淡出并重新访问主站点。如果用户没有点击它,它会在10秒后淡出并重定向 定时重定向正在工作,但单击功能不起作用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
<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,而没有使超时生效。