jQuery mouseout 效果失败
jQuery mouseout effect failed
我通过jQuery制作了一个导航效果演示,
我想要效果:
当鼠标悬停时,手机名称 phone 显示,手机名称 phone 隐藏;
和
mouseout 时,手机 phone 显示,手机名称 phone 隐藏;
但是鼠标移开效果不起作用。有人知道吗?非常感谢!
这是 jQuery 代码。
$(document).ready(function(){
//initial
$("#active").css("left", $("#a1").offset().left);
$("#navul").on("mouseover","a" ,function(){
$(this).html('<li><img src="img/00'+$(this).attr('num')+'a.png"></li>');
//$("#active").stop().animate({left: $(this).offset().left},400);
});
$("#navul").on("mouseout","a" ,function(){
$(this).html('<li><img src="img/00'+$(this).attr('num')+'.png"></li>');
});
});
您的标记无效,尽管您想让它正常工作,但也请尝试将事件与 li
耦合。除此之外,你必须使用 .closest()
来获取相关的 a
标签,
$(document).ready(function(){
//initial
$("#active").css("left", $("#a1").offset().left);
$("#navul").on("mouseover","a,li" ,function(){
$(this).closest('a').html('<li><img src="img/00'+$(this).attr('num')+'a.png"></li>');
//$("#active").stop().animate({left: $(this).offset().left},400);
});
$("#navul").on("mouseout","a,li" ,function(){
$(this).closest('a').html('<li><img src="img/00'+$(this).attr('num')+'.png"></li>');
});
});
你可以这样试试
$(document).ready(function(){
//initial
$("#active").css("left", $("#a1").offset().left);
$("#navul a img").on("mouseover", function(){
$(this).css('src', 'img/00'+$(this).attr('num')+'a.png');
$("#active").stop().animate({left: $(this).offset().left},400);
}).on("mouseout", function(){
$(this).css('src', 'img/00'+$(this).attr('num')+'.png');
});
});
我不确定,但我认为它对你有帮助。
使用有效的 html 标记查看此示例。
$(document).ready(function() {
//initial
$("#active").css("left", $("#a1").offset().left);
$('.hover').on('mouseover mouseout', function(event) {
if (event.type == 'mouseover') {
var imgeSrc = "http://54.69.15.179/autemp/img/00" + $(this).attr('num') + "a.png";
$(this).attr("src", imgeSrc);
$("#active").stop().animate({
left: $(this).offset().left
}, 400);
} else {
var img2Src =
"http://54.69.15.179/autemp/img/00" + $(this).attr('num') + ".png";
$(this).attr("src", img2Src);
}
});
});
body{padding:0;margin:0;color: #FFF;}
.wrapper{
width: 1440px;
padding: 0;
margin: 0 auto;
text-align: center;
}
#slideshow{
position: relative;
width: 100%;
margin: 0 auto;
text-align: center;
height: 519px;
display: block;
}
#navwrapper{
position: relative;
top: 0;
margin: 0 auto;
width: 100%;
height: 77px;
background-color: rgba(224,252,255,0.7);
z-index: 20;
}
#nav{
width: 980px;
padding: 0;
margin: 0 auto;
height: 77px;
text-align: left;
}
#navtitle{
background-color: rgba(224,252,255,0.5);
height: 77px;
width: 203px;
float: left;
margin-right: 0px;
text-align: center;
}
#nav {
position: relative;
}
#nav ul{
padding: 0; margin: 0; text-decoration: none; list-style: none;
float: left;
}
#nav ul li{
display: block;
height: 77px;
float: left;
width: 110px;
text-align: center;
border-right: 1px solid rgba(255,255,255,0.4);
}
#nav ul li:after {
border-bottom-color: #333;
position: absolute;
top: -24px;
left: 255px;
z-index: 1;
}
#active{
position: absolute;
left: 00px;
z-index: 30;
top:0;
}
#nav{
z-index:41;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script><div class="wrapper">
<div id="slideshow">
<div id="navwrapper">
<div id="nav">
<div id="navtitle">
<img src="http://54.69.15.179/autemp/img/bartitle.png"/>
</div>
<ul id="navul" style="z-index:41;">
<li><a href="#" id="a1"><img class="hover" src="http://54.69.15.179/autemp/img/001.png" num="1"/></a></li>
<li><a href="#" id="a2"><img class="hover" src="http://54.69.15.179/autemp/img/002.png" num="2"/></a></li>
<li><a href="#" id="a3" ><img class="hover" src="http://54.69.15.179/autemp/img/003.png" num="3"/></a></li>
<li><a href="#" id="a4"><img class="hover" src="http://54.69.15.179/autemp/img/004.png" num="4"/></a></li>
<li><a href="#" id="a5"><img class="hover" src="http://54.69.15.179/autemp/img/005.png" num="5"/></a></li>
<li><a href="#" id="a6" ><img class="hover" src="http://54.69.15.179/autemp/img/006.png" num="6"/></a></li>
<li> <a href="#" id="a7" ><img class="hover" src="http://54.69.15.179/autemp/img/007.png" num="7"/></a></li>
</ul>
</div>
<img id="active" src="http://54.69.15.179/autemp/img/active.png"/>
</div>
</div>
</div>
以下代码有效。 DEMO
$(document).ready(function () {
//initial
$("#active").css("left", $("#a1").offset().left);
$("#navul li").mouseover(function () {
var src = "http://54.69.15.179/autemp/img/00" + $(this).closest($("a")).attr('num') + "a.png";
$(this).find("img").attr("src", src);
//$("#active").stop().animate({left: $(this).offset().left},400);
});
$("#navul li").mouseout(function () {
var src = "http://54.69.15.179/autemp/img/00" + $(this).closest($("a")).attr('num') + ".png";
$(this).find("img").attr("src", src);
});
});
我通过jQuery制作了一个导航效果演示, 我想要效果: 当鼠标悬停时,手机名称 phone 显示,手机名称 phone 隐藏; 和 mouseout 时,手机 phone 显示,手机名称 phone 隐藏; 但是鼠标移开效果不起作用。有人知道吗?非常感谢! 这是 jQuery 代码。
$(document).ready(function(){
//initial
$("#active").css("left", $("#a1").offset().left);
$("#navul").on("mouseover","a" ,function(){
$(this).html('<li><img src="img/00'+$(this).attr('num')+'a.png"></li>');
//$("#active").stop().animate({left: $(this).offset().left},400);
});
$("#navul").on("mouseout","a" ,function(){
$(this).html('<li><img src="img/00'+$(this).attr('num')+'.png"></li>');
});
});
您的标记无效,尽管您想让它正常工作,但也请尝试将事件与 li
耦合。除此之外,你必须使用 .closest()
来获取相关的 a
标签,
$(document).ready(function(){
//initial
$("#active").css("left", $("#a1").offset().left);
$("#navul").on("mouseover","a,li" ,function(){
$(this).closest('a').html('<li><img src="img/00'+$(this).attr('num')+'a.png"></li>');
//$("#active").stop().animate({left: $(this).offset().left},400);
});
$("#navul").on("mouseout","a,li" ,function(){
$(this).closest('a').html('<li><img src="img/00'+$(this).attr('num')+'.png"></li>');
});
});
你可以这样试试
$(document).ready(function(){
//initial
$("#active").css("left", $("#a1").offset().left);
$("#navul a img").on("mouseover", function(){
$(this).css('src', 'img/00'+$(this).attr('num')+'a.png');
$("#active").stop().animate({left: $(this).offset().left},400);
}).on("mouseout", function(){
$(this).css('src', 'img/00'+$(this).attr('num')+'.png');
});
});
我不确定,但我认为它对你有帮助。
使用有效的 html 标记查看此示例。
$(document).ready(function() {
//initial
$("#active").css("left", $("#a1").offset().left);
$('.hover').on('mouseover mouseout', function(event) {
if (event.type == 'mouseover') {
var imgeSrc = "http://54.69.15.179/autemp/img/00" + $(this).attr('num') + "a.png";
$(this).attr("src", imgeSrc);
$("#active").stop().animate({
left: $(this).offset().left
}, 400);
} else {
var img2Src =
"http://54.69.15.179/autemp/img/00" + $(this).attr('num') + ".png";
$(this).attr("src", img2Src);
}
});
});
body{padding:0;margin:0;color: #FFF;}
.wrapper{
width: 1440px;
padding: 0;
margin: 0 auto;
text-align: center;
}
#slideshow{
position: relative;
width: 100%;
margin: 0 auto;
text-align: center;
height: 519px;
display: block;
}
#navwrapper{
position: relative;
top: 0;
margin: 0 auto;
width: 100%;
height: 77px;
background-color: rgba(224,252,255,0.7);
z-index: 20;
}
#nav{
width: 980px;
padding: 0;
margin: 0 auto;
height: 77px;
text-align: left;
}
#navtitle{
background-color: rgba(224,252,255,0.5);
height: 77px;
width: 203px;
float: left;
margin-right: 0px;
text-align: center;
}
#nav {
position: relative;
}
#nav ul{
padding: 0; margin: 0; text-decoration: none; list-style: none;
float: left;
}
#nav ul li{
display: block;
height: 77px;
float: left;
width: 110px;
text-align: center;
border-right: 1px solid rgba(255,255,255,0.4);
}
#nav ul li:after {
border-bottom-color: #333;
position: absolute;
top: -24px;
left: 255px;
z-index: 1;
}
#active{
position: absolute;
left: 00px;
z-index: 30;
top:0;
}
#nav{
z-index:41;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script><div class="wrapper">
<div id="slideshow">
<div id="navwrapper">
<div id="nav">
<div id="navtitle">
<img src="http://54.69.15.179/autemp/img/bartitle.png"/>
</div>
<ul id="navul" style="z-index:41;">
<li><a href="#" id="a1"><img class="hover" src="http://54.69.15.179/autemp/img/001.png" num="1"/></a></li>
<li><a href="#" id="a2"><img class="hover" src="http://54.69.15.179/autemp/img/002.png" num="2"/></a></li>
<li><a href="#" id="a3" ><img class="hover" src="http://54.69.15.179/autemp/img/003.png" num="3"/></a></li>
<li><a href="#" id="a4"><img class="hover" src="http://54.69.15.179/autemp/img/004.png" num="4"/></a></li>
<li><a href="#" id="a5"><img class="hover" src="http://54.69.15.179/autemp/img/005.png" num="5"/></a></li>
<li><a href="#" id="a6" ><img class="hover" src="http://54.69.15.179/autemp/img/006.png" num="6"/></a></li>
<li> <a href="#" id="a7" ><img class="hover" src="http://54.69.15.179/autemp/img/007.png" num="7"/></a></li>
</ul>
</div>
<img id="active" src="http://54.69.15.179/autemp/img/active.png"/>
</div>
</div>
</div>
以下代码有效。 DEMO
$(document).ready(function () {
//initial
$("#active").css("left", $("#a1").offset().left);
$("#navul li").mouseover(function () {
var src = "http://54.69.15.179/autemp/img/00" + $(this).closest($("a")).attr('num') + "a.png";
$(this).find("img").attr("src", src);
//$("#active").stop().animate({left: $(this).offset().left},400);
});
$("#navul li").mouseout(function () {
var src = "http://54.69.15.179/autemp/img/00" + $(this).closest($("a")).attr('num') + ".png";
$(this).find("img").attr("src", src);
});
});