我试图为相同的元素绑定两个事件处理程序,但是当触发onScroll()时,mouseenter将不会为此工作任何原因,而只工作?
var main = function() {
$(window).scroll(function() {
if ($(window).scrollTop() > 900) {
$(".swap").delay(900).animate({
opacity: 1,
marginRight: 0
}, 'slow'
);
}
});
$(".swap").mouseenter(function(){
$(".swap").fadeOut('fast', function() {
$(".swap-hidden").fadeIn("slow");
$(".mobile p").last().append('and tablets')
});
});
};
$(document).ready(main);发布于 2015-03-20 15:49:59
这是因为mouseenter需要实际的页面坐标(x和y),并且滚动会动态地更改它们,因此您需要在每个滚动事件之后重新绑定(或检查) mouseenter。
你的选择是:
mouseenter切换hover。document.ready函数中:
var main = function() {$(Window).scroll(函数(){ if ($(window).scrollTop() > 900) { $(".swap").delay(900).animate({不透明度: 1,marginRight: 0 },'slow');}$(“.swap”).mouseenter(函数(){ $(".swap").fadeOut('fast',function() {$(“.交换-隐藏”).fadeIn(“慢速”);$(".mobile p“).last().append(‘和平板]} });};$(文档).ready(Main);https://stackoverflow.com/questions/29170526
复制相似问题