我在悬停时有一个div动画(我正在使用jquery的.hover()方法)。 div包含一个带选择的表单。打开选择并将鼠标悬停在选项上会使IE9将其解释为“未悬停”父div,导致第二个悬停动画触发。你可以在这里看到它:
http://www.oliveboutiquehotelpr.com/temp/
有关如何避免这种情况的任何想法?它适用于所有其他主流浏览器。
很抱歉,这是一个jsFiddle:http://jsfiddle.net/jun6g/1/
答案 0 :(得分:4)
通过添加一个反映select的焦点并检查每次想要动画的变量,我已经修复了你的问题。这里的Javascript代码(JSFiddle)
的更新强>
我已经修复了选项在打开后再次出现问题的问题,并在框关闭时通过修剪选项将其关闭。代码和链接已更新。
var selectfocused = false;
$('#block-block-5').mouseover(function () {
selectfocused = false;
});
$('#block-block-5 select').focus(function () {
selectfocused = true;
}).blur(function () {
selectfocused = false;
});
$('#block-block-5').hover(function () {
if (selectfocused == false) {
console.log(selectfocused);
$(this).stop().animate({
top: 0,
opacity: 1
});
}
}, function () {
if (selectfocused == false) {
$('#block-block-5 select').blur();
$(this).stop().animate({
top: -294,
opacity: 0.6
});
}
});
快乐的编码!
答案 1 :(得分:0)
此页面上没有选择。无论如何,选择元素没有悬停。