2009-05-21 82 views
2

我试图向用户浏览网站时页面淡入黑色的站点添加转换。如何使用jQuery离开页面时添加页面转换

我决定实现这个目标的最佳方式是创建一个div,它将掩盖黑色页面,然后使用jQuery对其进行动画处理。

到目前为止,我已经成功地为“暗下”的效果创建代码...

$(document).ready(function(){ 
    // Insert mask after container 
    $('.container').after('<div class="mask"></div>'); 
    // Delay the fadeOut effect for half a second so you can actually see it 
    $('.mask').animate({opacity: 1.0}, 500) 
    // Slowly make the mask dissapear 
    .fadeOut('slow'); 
}); 

但我不知道如何让页面“从黑色淡入淡出”的时候用户点击该网站的另一部分。

我知道我不得不使用点击功能,但是如何延迟加载页面以便能够看到“淡入黑色”动画?

非常感谢您的时间。

回答

6

您可以绑定到click()事件并使其返回false,从而阻止默认操作(页面转到链接的href)。然后,您可以将回调绑定到将文档位置设置为链接的超文本引用的fadeIn()方法。

你可以做这样的事情:

$('a').click(function(){ 
    var url = $(this).attr('href'); 

    $('.mask').fadeIn('slow', function(){ 
    document.location.href = url; 
    }); 

    return false; 
}); 

谢谢!杰米

1

捕获click事件,防止发生默认行为:

$('a').click(function(event) { 
    event.preventDefault(); 

    // mask effect code here 
}); 

event.preventDefault()类似于非的jQuery JavaScript的使用onclick='function(); return false;'

+0

无需传递事件对象或调用preventDefault() - jQuery侦听返回值,如果为false,则会自动禁用该事件。 – 2009-05-21 16:38:55