Pro*_*ool 5 jquery animation hover
使用Hover隐藏或显示项目时基本上遇到了一些麻烦.
这个想法很简单,在悬停时显示一个div.当不再盘旋时,隐藏它.问题是如果鼠标悬停在div上并且离开太快,show/hide div将保持可见.我希望这可以很容易地解决,而不是悬停事件的典型问题.
jQuery
(
function()
{
jQuery(".slideDiv").hide();
jQuery(".mainDiv").hover
(
function()
{
var children = jQuery(this).children(".slideDiv");
if (children.is(":hidden"))
{
children.show("slide", { direction: "left" }, 100);
}
},
function()
{
var children = jQuery(this).children(".slideDiv");
children.hide("slide", { direction: "left" }, 100);
}
);
}
);
Run Code Online (Sandbox Code Playgroud)
样式看起来像:
.mainDiv
{
margin:5px;
height:200px;
}
.slideDiv
{
background-color:Teal;
float:left;
height:200px;
position:absolute;
z-index:100;
}
Run Code Online (Sandbox Code Playgroud)
和标记
<div class="mainDiv">
<div class="showDiv">
Hover me
</div>
<div class="slideDiv">
Do you see me?
</div>
</div>
<div class="clear"></div>
<div class="mainDiv">
<div class="showDiv">
Hover me too
</div>
<div class="slideDiv">
Do you see me now?
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我尝试了你的脚本,就像你描述的那样.我尝试从您的脚本中删除children.is(":hidden"),但问题仍然存在.
当我重新编写脚本时,div永远不会保持可见.所以,似乎问题在于使用jQuery的子代而不是找到对象:
还有问题:
jQuery (
function(){
jQuery(".slideDiv").hide();
jQuery(".mainDiv").hover (
function() {
$(this).children(".slideDiv").show("slide", { direction: "left" }, 100);
},function(){
$(this).children(".slideDiv").hide("slide", { direction: "left" }, 100);
}
);
}
);
Run Code Online (Sandbox Code Playgroud)
按预期工作:
$(document).ready(function(){
$('.slideDiv').hide();
$('.mainDiv').hover(
function(){
$(this).find('.slideDiv').show('slide', { direction: 'left' }, 100)
},
function(){
$(this).find('.slideDiv').hide('slide', { direction: 'left' }, 100)
}
)
})
Run Code Online (Sandbox Code Playgroud)
是的,hoverIntent插件很不错:P
| 归档时间: |
|
| 查看次数: |
43745 次 |
| 最近记录: |