Javascript 同时从两个div悬停
请查看以下JQuery代码:Javascript 同时从两个div悬停,javascript,jquery,html,css,Javascript,Jquery,Html,Css,请查看以下JQuery代码: function my_hover() { $( "#up,#down" ).hover( function() { $("#up").animate({ "background-color": "#020306" }); $("#down").animate({ "background-color": "#171716" });
function my_hover()
{
$( "#up,#down" ).hover(
function() {
$("#up").animate({
"background-color": "#020306"
});
$("#down").animate({
"background-color": "#171716"
});
},
function() {
$("#up").css("background-color","#C8CACF" );
$("#down").css("background-color","#FAFAF8" );
}
);
}
有两个div:#up,#down,我无法将其包装到父div中(由于设计限制)。我想做的是,每当悬停“向上”或“向下”时,设置背景颜色变化的动画。但是,如果鼠标通过直接指向另一个div(两个div垂直粘在一起)离开一个div,我不希望应用上面代码的最后两行。我希望仅当鼠标从两个div悬停时才应用它们。我怎样才能做到这一点?在users.sch.gr/ellhn中,您可以看到目标照片左前一个矩形中的上述代码发生了什么(上下转换会引起颜色变化,这是不可取的)。
谢谢试试这个
HTML
<div id="up">Up</div>
<div id="down">down</div>
脚本
$('#up, #down').mouseenter(function(){
//alert('hi')
$("#up").addClass('up-hover');
$("#down").addClass('down-hover');
})
.mouseleave(function(){
//alert('hi')
$("#up").removeClass('up-hover');
$("#down").removeClass('down-hover');
});
试试这个
HTML
<div id="up">Up</div>
<div id="down">down</div>
脚本
$('#up, #down').mouseenter(function(){
//alert('hi')
$("#up").addClass('up-hover');
$("#down").addClass('down-hover');
})
.mouseleave(function(){
//alert('hi')
$("#up").removeClass('up-hover');
$("#down").removeClass('down-hover');
});
试试这个
HTML
<div id="up">Up</div>
<div id="down">down</div>
脚本
$('#up, #down').mouseenter(function(){
//alert('hi')
$("#up").addClass('up-hover');
$("#down").addClass('down-hover');
})
.mouseleave(function(){
//alert('hi')
$("#up").removeClass('up-hover');
$("#down").removeClass('down-hover');
});
试试这个
HTML
<div id="up">Up</div>
<div id="down">down</div>
脚本
$('#up, #down').mouseenter(function(){
//alert('hi')
$("#up").addClass('up-hover');
$("#down").addClass('down-hover');
})
.mouseleave(function(){
//alert('hi')
$("#up").removeClass('up-hover');
$("#down").removeClass('down-hover');
});
使用@nnnnn暗指的技术,例如使用超时:
(function init() {
var $up = $('#up'),
$down = $('#down'),
hovered = false;
$up.hover(over, out);
$down.hover(over, out);
function over() {
hovered = true;
$up.css({
"background-color": "#020306"
});
$down.css({
"background-color": "#171716"
});
}
function out() {
setTimeout(function to() {
if (!hovered) {
$up.css("background-color", "#C8CACF");
$down.css("background-color", "#FAFAF8");
}
}, 1000);
hovered = false;
}
})();
元素并排排列,而不是垂直排列:
使用@nnnnn暗指的技术,例如使用超时:
(function init() {
var $up = $('#up'),
$down = $('#down'),
hovered = false;
$up.hover(over, out);
$down.hover(over, out);
function over() {
hovered = true;
$up.css({
"background-color": "#020306"
});
$down.css({
"background-color": "#171716"
});
}
function out() {
setTimeout(function to() {
if (!hovered) {
$up.css("background-color", "#C8CACF");
$down.css("background-color", "#FAFAF8");
}
}, 1000);
hovered = false;
}
})();
元素并排排列,而不是垂直排列:
使用@nnnnn暗指的技术,例如使用超时:
(function init() {
var $up = $('#up'),
$down = $('#down'),
hovered = false;
$up.hover(over, out);
$down.hover(over, out);
function over() {
hovered = true;
$up.css({
"background-color": "#020306"
});
$down.css({
"background-color": "#171716"
});
}
function out() {
setTimeout(function to() {
if (!hovered) {
$up.css("background-color", "#C8CACF");
$down.css("background-color", "#FAFAF8");
}
}, 1000);
hovered = false;
}
})();
元素并排排列,而不是垂直排列:
使用@nnnnn暗指的技术,例如使用超时:
(function init() {
var $up = $('#up'),
$down = $('#down'),
hovered = false;
$up.hover(over, out);
$down.hover(over, out);
function over() {
hovered = true;
$up.css({
"background-color": "#020306"
});
$down.css({
"background-color": "#171716"
});
}
function out() {
setTimeout(function to() {
if (!hovered) {
$up.css("background-color", "#C8CACF");
$down.css("background-color", "#FAFAF8");
}
}, 1000);
hovered = false;
}
})();
元素并排排列,而不是垂直排列:
始终提供演示。理解Problemone方法有助于理解,一种方法是使用
setTimeout()
稍微延迟悬停退出功能,然后在悬停进入处理程序调用clearTimeout()
。我访问了你的网站,但仍然无法理解你的问题,你能详细说明吗?可能的小提琴:亲爱的Jared,你的小提琴和我描述的一模一样。然而,我的两个div是垂直的,我想防止在从一个传递到另一个时背景颜色的变化…总是提供演示。理解Problemone方法有助于理解,一种方法是使用setTimeout()
稍微延迟悬停退出功能,然后在悬停进入处理程序调用clearTimeout()
。我访问了你的网站,但仍然无法理解你的问题,你能详细说明吗?可能的小提琴:亲爱的Jared,你的小提琴和我描述的一模一样。然而,我的两个div是垂直的,我想防止在从一个传递到另一个时背景颜色的变化…总是提供演示。理解Problemone方法有助于理解,一种方法是使用setTimeout()
稍微延迟悬停退出功能,然后在悬停进入处理程序调用clearTimeout()
。我访问了你的网站,但仍然无法理解你的问题,你能详细说明吗?可能的小提琴:亲爱的Jared,你的小提琴和我描述的一模一样。然而,我的两个div是垂直的,我想防止在从一个传递到另一个时背景颜色的变化…总是提供演示。理解Problemone方法有助于理解,一种方法是使用setTimeout()
稍微延迟悬停退出功能,然后在悬停进入处理程序调用clearTimeout()
。我访问了你的网站,但仍然无法理解你的问题,你能详细说明吗?可能的小提琴:亲爱的Jared,你的小提琴和我描述的一模一样。但是,我的两个div垂直固定,我想防止在从一个div传递到另一个div时背景颜色发生变化……这不考虑将鼠标悬停在另一个div上,如果两个div相邻,则阻止动画。请参阅:对于这两个元素都应该有父元素。这不考虑将鼠标悬停在一个元素上和另一个元素上,以及如果这两个元素相邻则阻止动画。请参阅:对于这两个元素都应该有父元素。这不考虑将鼠标悬停在一个元素上和另一个元素上,以及如果这两个元素相邻则阻止动画。请参阅:对于这两个元素都应该有父元素。这不考虑将鼠标悬停在一个元素上和另一个元素上,以及如果这两个元素相邻则阻止动画。请参阅:对于这两个元素都应该有父元素。