只有当我向下滚动时才会淡出
如果scrolltop
为>
750并且当它为<
750时我正在使用此代码片段使淡出元素淡出。它工作正常,但我希望当它仍然不可见时滚动备份(淡出后),直到用户到达页面顶部。只有当我向下滚动时才会淡出
所以,这是什么目前发生的事情: 元素默认为可见,用户滚动750和它淡出。用户到达页面的结束,滚动备份和达到750当元素淡出早在
var $window = $(window);
var $freccia = $('#freccia1');
function showHideFreccia() {
var availableScroll = $(document).height() - $window.height(),
scrollTop = $window.scrollTop();
if(scrollTop < 750 || scrollTop == availableScroll) {
$freccia.fadeIn("slow", function() {
});
} else {
$freccia.fadeOut("slow", function() {
});
}
}
showHideFreccia();
$window.scroll(showHideFreccia);
应该怎样改变的是: 元素默认为可见,用户滚动750和它淡出。用户到达页面的结束,滚动备份当到达页面元素变淡回顶
我试图用这个,但它不工作(不淡入/淡出了):
var $window = $(window);
var $freccia = $('#freccia1');
function showHideFreccia() {
var availableScroll = $(document).height() - $window.height(),
scrollTop = $window.scrollTop();
if (scrollTop > 750 || scrollTop == availableScroll) {
$freccia.fadeout("slow", function() {
});
}
if (scrollTop < 1 || scrollTop == availableScroll) {
$freccia.fadein("slow", function() {
});
}
}
showHideFreccia();
$window.scroll(showHideFreccia);
你的第二个代码片段正常工作,您只需要使用淡入和淡出代替淡入和淡出,一个常见的错误!
此代码为我工作的罚款: JSFiddle
var $window = $(window);
var $freccia = $('#freccia1');
function showHideFreccia() {
var availableScroll = $(document).height() - $window.height(),
scrollTop = $window.scrollTop();
if (scrollTop > 750 || scrollTop == availableScroll) {
$freccia.fadeOut("slow", function() {
});
}
if (scrollTop < 1 || scrollTop == availableScroll) {
$freccia.fadeIn("slow", function() {
});
}
}
showHideFreccia();
$window.scroll(showHideFreccia);
编辑:
不能确定这是否是你想要的发生与否,而是这个当前的代码将再次显示元素当你到达页面的末尾时。你可以通过从第二个if语句中删除|| scrollTop == availableScroll
来解决这个问题(如果根本不需要它,它也可以从第一个中删除)。
你可以使用这个脚本,在你的滚动顶部申请:
var detectScroll = function (_event) {
var event = window.event || _event; // old IE support
var direction = Math.max(-1, Math.min(1, (event.wheelDelta || -event.detail)));
return direction;
};
function showHideFreccia(e) {
var dir = detectScroll(e);
//...
if (dir == 1 || scrollTop == availableScroll) {
// your action
}
}
// and into your scroll event
$window.scroll(function(e) {
showHideFreccia(e);
});
如果将retur ñ1
这意味着,你向上滚动,然后执行你的fadein
行动。 -1
我指滚动到底
我应该把这个放在哪里? – MultiformeIngegno
我更新了我的安装程序 –
是你确切的代码?因为你在淡入淡出时缺少大写字母。应该是fadeIn和fadeOut –
是的,这是我的实际代码...我没有得到警告或错误.. – MultiformeIngegno
哦,好吧,理解。现在我想改变它 – MultiformeIngegno