【发布时间】:2013-05-14 17:15:37
【问题描述】:
所以我目前正在创建一个“按钮”,其中包含多个图像,就像幻灯片一样,每当我将鼠标悬停在它上面时,图像就会变成另一个图像。
但是,只要幻灯片图像发生变化,MouseOver 效果就会被移除为 MouseOut 状态,因为从技术上讲,鼠标不再位于图像上。
我也尝试为我的按钮设置淡入淡出效果,但是我的大多数搜索导致使用悬停功能而不是 MouseOver 和 MouseOut。
所以我想知道 Hover 在潜在功能方面是否比 MouseOver 更好?
是否可以在悬停等时暂停幻灯片事件?我该怎么做呢?
这是我当前的代码:
function.js
$(function () {
$('#01 img:gt(0)').hide();
setInterval(function () {
$('#01 :first-child').fadeOut(1500)
.next('img').fadeIn(1500)
.end().appendTo('#01');
},
3000);
});
$(document).ready(function () {
$("#image1").mouseover(function () {
$(this).attr("src", "images/board_01_over.jpg");
});
$("#image1").mouseout(function () {
$(this).attr("src", "images/board_01_01.jpg");
});
});
main.css
#board {
float: left;
width: 998px;
overflow: hidden;
}
.fadein {
float: left;
position: relative;
width: 240px;
height: 140px;
margin: 1px 1px 1px 1px;
}
.fadein img {
position: absolute;
left: 0;
top: 0;
height: 140px;
opacity: 0.6;
overflow: hidden;
}
.fadein img:hover {
opacity: 1;
}
Main.html
<div id="board">
<div class="fadein" id="01">
<img src="images/board_01_01" id="image1" />
<img src="images/board_01_02.jpg" id="image2" />
</div>
</div>
【问题讨论】:
-
在 mouseenter 时取消计时器,在 mouseleave 时重新启动计时器。
-
两件事:jQuery 的悬停与做 mouseenter 和 mouseleave 是一样的。您可以使用
.fadein:hover img或其他变体吗?$(function () {与$(document).ready(function () {相同,因此您可以将其折叠成一个块。 -
@epascarello 如果我使用悬停功能而不是 mouseover/mouseout 会怎样?
标签: javascript jquery html css hover