replaceWith&fadeIn/fadeOut-悬停后无法工作
replaceWith & fadeIn/fadeOut - hover not working afterwards
我有一项任务需要大量的DOM操作。因为这可能会对性能产生不良影响,所以我克隆元素,在那里进行更改,并用原始元素替换克隆。
更换后,这些元素具有悬停功能。
因为我想要褪色的过渡,我这样做改变:
myElement.fadeOut(500, function(){
myClone.hide();
myElement.replaceWith(myClone);
myClone.fadeIn(500);
});
这是可行的,但在那之后悬停功能就不起作用了。当我从fadeOut
中删除回调时,我可以再次悬停,但定时转换看起来不再好了。
我该怎么办?为什么元素在使用回调时会失去悬停功能
我有一个不同的解决方案。CSS方法:
您可以设置元素的一个位置;
#myElement { top:100px; left:200px; }
#myElement, #myClone { position:absolute; }
jQuery:
$(document).ready(function() {
var myElement = $('#myElement');
var myClone = $('#myClone');
var myEleTop = parseInt(myElement.css('top'));
var myEleLeft = parseInt(myElement.css('left'));
myClone.hide();
myClone.css({'top':myEleTop+'px','left':myEleLeft+'px'});//sets position here
myElement.mouseenter(function() {
myElement.fadeOut(500, function(){
myClone.fadeIn(500);
}
});
myElement.mouseleave(function() {
myClone.fadeOut(500, function(){
myElement.fadeIn(500);
}
});
});
或者你可以只使用appendTo()和remove()方法,我对这些方法没有真正的经验,但尝试一下:
myElement.mouseenter(function() {
myElement.fadeOut(500, function(){
myElement.remove();
myClone.appendTo($('.container'));
myClone.fadeIn(500);
}
});
myElement.mouseleave(function() {
myClone.fadeOut(500, function(){
myClone.remove();
myElement.appendTo($('.container'));
myElement.fadeIn(500);
}
});
当一个对象被克隆时,克隆将不再具有附加到它的事件侦听器。修复它的一种方法是使用"on"附加事件处理程序:
$("my-clone-container").on("hover", "my-clone-selector", myHoverHandler);
这样,每当你添加克隆时,它都会自动处理你想要的悬停事件。请参阅文档中的"on"。
相关文章:
- 为什么jquery悬停在jsfiddle中可以工作,而在我的html布局中却不能
- 链接don'由于Javascript悬停效果,无法在移动设备上工作
- 链接悬停css在不浮动时不在表浮动标题中工作
- 在jquery中切换类不在悬停中工作
- 努力让第n个有悬停的孩子在IE工作
- 地图,rails 4.2,javascript,鼠标悬停,只工作一次(或两次).然后在重新加载之后
- 切换悬停和单击无法正常工作
- fadeIn在悬停时工作,但在单击/单击时不工作
- Javascript JIRA扩展无法在悬停时工作
- replaceWith&fadeIn/fadeOut-悬停后无法工作
- 只显示潜水时悬停按钮X时间-可以'我不能使它正常工作
- css img:悬停工作,img:活动无效
- jQuery悬停只工作一次
- 停止动画停止工作,jQuery/悬停
- 如何将悬停事件添加到 SVG 中的多个路径?并让它在IE9中工作
- 悬停添加类在Chrome上出现故障,但在Firefox上工作正常
- 打开和悬停不一起工作
- 鼠标悬停在整个页面上工作,而不是一个元素
- jQuery 悬停在几秒钟后停止工作
- 为什么只有第一个鼠标悬停和鼠标悬停工作?