[英]JQuery fadeIn/fadeOut on hover from the left
我试图在悬停时获得fadeIn和fadeOut效果,但似乎不起作用!
<div class="icon_menu">
<div class="text_menu_slide">Logout</div> x
</div>
jQuery的:
$(function(){
$(".icon_menu").hover(function(){
$(this).find(".text_menu_slide").fadeIn();
},function(){
$(this).find(".text_menu_slide").fadeOut();
});
});
CSS:
.text_menu_slide{
display:none;
}
.icon_menu:hover .text_menu_slide, .icon_menu{
display:inline;
}
演示: http : //jsfiddle.net/XwnGA/
不需要display:inline CSS代码。 在没有显示库的框架和扩展中,选择任何jQuery版本。 此外,您可以使用span标签代替div。
HTML代码
<div class="icon_menu">
<span class="text_menu_slide">Logout</span> x
</div>
CSS代码
.text_menu_slide{
display:none;
}
jQuery代码
$(function(){
$(".icon_menu").hover(function(){
$(this).find(".text_menu_slide").fadeIn();
},function(){
$(this).find(".text_menu_slide").fadeOut();
});
});
您的代码中有3个问题
问题1 :包括jQuery lib
问题2 :从以下代码中删除Display: inline
.icon_menu:hover .text_menu_slide, .icon_menu{
/* display:inline*/ /*Remove this as this overwrite JS fadeIn */
}
问题3实际上不是问题,但是对于您要使div
.text_menu_slide
span
的行为
注意您也可以在span
ti之前移动X
,以免移位
查看LAB DEMO
编辑:2
.icon_menu
是在CSS .icon_menu
的块级元素使用,以使其内联,也可以始终使用内联元素(例如span)
.icon_menu{
display:inline;
}
我已经更新了你的小提琴
您没有在其中包含jquery文件。
$(function(){
$(".icon_menu").hover(function(){
$(this).find(".text_menu_slide").fadeOut( "slow");
});
});
$(function(){
$(".icon_menu").mouseout(function () {
$(this).find(".text_menu_slide").fadeIn( "slow");
});
});
第一件事
您的小提琴没有jQuery。
第二,
您的CSS中有.icon_menu:hover。 这阻碍了效果。 删除此行即可。
这是新的CSS
.text_menu_slide{
display:none;
}
.icon_menu .text_menu_slide, .icon_menu{
display:inline;
}
这是小提琴链接http://jsfiddle.net/2yu52/
[EDIT]根据评论,您要从隐藏开始
将div更改为span,然后使用此CSS。
.text_menu_slide{
display:none;
}
$(function(){
$(".icon_menu").hover(function(){
$(this).find(".text_menu_slide").fadeOut( "slow");
});
});
$(".icon_menu").mouseout(function () {
$(this).find(".text_menu_slide").fadeIn( "fast");
});
HTML
<div class="icon_menu">
<span class="text_menu_slide">Logout</span> x
</div>
CSS
.text_menu_slide{
display:none;
}
JS
不要忘记使用stop()清除队列,以避免动画重复。
$(function(){
$(".icon_menu").hover(function(){
$(this).find(".text_menu_slide").stop(true, true).fadeIn();
},function(){
$(this).find(".text_menu_slide").stop(true, true).fadeOut();
});
});
稍微改写。
<div class="icon_menu">
<div class="text_menu_slide">Logout</div> x
</div>
$(".icon_menu").mouseover(function() {$(".text_menu_slide").stop().animate({opacity: 1}, 300)});
$(".icon_menu").mouseleave(function() {$(".text_menu_slide").stop().animate({opacity:0}, 500)});
.icon_menu * {display: inline;}
.text_menu_slide {opacity: 0;}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.