回調到您的通話添加到animate()
:
$(document).ready(function() {
var topClicked = false;
$('#top').hide();
$(window).scroll(function() {
if (!topClicked) {
$('#top').fadeIn(3500);
}
});
$('#top').click(function(){
topClicked = true;
$('html, body').animate({scrollTop:0}, 'fast', function() {
$("#top").hide();
});
return false;
});
});
更新:還增加了一個變量,顯示#top
元素,所以它不會出現之前的滾動處理程序檢查再次點擊後再次顯示。這裏有一個例子:http://jsfiddle.net/eunX3/1/
更新2:如果你想淡出元素了,這裏是一個演示一個例子:http://jsfiddle.net/eunX3/2/
更新3:這裏是你如何使這項工作不止一次:
$(document).ready(function() {
var topClicked = false;
$('#top').hide();
$(window).scroll(function() {
if (!topClicked && $(this).scrollTop() > 0) {
$('#top').fadeIn(3500);
}
});
$('#top').click(function(){
topClicked = true;
$('html, body').animate({ scrollTop:0 }, 'fast', function() {
$("#top").hide();
topClicked = false;
});
return false;
});
});
這裏有一個工作示例:http://jsfiddle.net/eunX3/4/
如果我想#top返回到淡出,在結束了嗎?我試着改變.hide(); .fadeOut(1000);但是這使得元素在淡出之前再次消失。 – 585connor 2011-03-10 00:37:57
@ 585connor:我會更新示例:) – 2011-03-10 00:59:05
@ 585connor:這應該工作;看到我的更新。 – 2011-03-10 01:01:05