jquery问题,鼠标移除间隔一秒隐藏div层,鼠标移上去继续显示div,一秒内可反复移入移除

jquery问题,鼠标移除间隔一秒隐藏div层,鼠标移上去继续显示div,一秒内可反复移入移除,第1张

<style>
#menu li{float:left:position:relative;line-height:35px;}
#menu li sub{width:300px;height:300px; background-color:#000;position:absolute;left:0;top:0;display:none;}
</style>
<ul id="menu"><li><a href="a">aaaa</a><div class="sub"></div></li>
<script>
var nav=$("#menu li");
var tm;
lihover(function(){
var a=$(this)find("sub");
if(tm){
clearTimeout(tm);
}
ashow();
$(this)attr("data-id","1");
},function(){
var a=$(this)find("sub");
tm=setTimeout(function(){$(this)attr("data-id","0");ahide();},1000);
});
</script>

简单来将在li如果之前有过划入,并且离开后倒计时没结束,那么在此划入不会改变他的显示状态。如果前面的倒计时还在那就清除倒计时重新开始。


success: function(xml){
    var _o = $("roll__list");
    $(xml)find("RECORD")each(function(i){ //如果你需要数组序列,可添加i, 如果不需要,可删除i参数
        _oprepend($('<li></li>')addClass('firstLi firstName_xzq')append(
            //此处添加你原来想添加进的各种img, div
        )
        //如果你的hover不起作用,在此处添加,测试:
        hover(function(){
            //alert("ok");
        });
        );
    });
}

从截图中,没看到你自写的方法。因此,无法判断是否是function有问题。如果不行,请测试我的写法。

<div class="parent">
<li>a区域</li>
<div class="bb">bbbbb区域</div>
</div><style>
bb{display:none;}
</style><script>
//引入jqueryjs后
$(function(){
$("parent")hover(
function(){
$("bb")show();
},
functin(){
$("bb")hide();
}
);
})
</script>

div:hover只能控制CSS隐藏DIV中的内容是不可能的,除非把透明度改为0如  div:hover{
    opacity: 0;
}

用JQ控制:

    $(function(){
                $(div)mouseover(function(){
                    $(this)text("");
                })
            })

将JQ代码改为这样就行:
<script type="text/javascript" language="javascript">
$(function(){
$("ul#menu>li:has(ul)")hover(
function(){
$(this)find('ul')fadeIn(400);
},
function(){
$(this)find('ul')fadeOut(400);
}
);
});
</script>

在官网api里查到如下说明:

Deprecated in jQuery 18, removed in 19: The name "hover" used as a shorthand for the string "mouseenter mouseleave" It attaches a single event handler for those two events, and the handler must examine eventtype to determine whether the event is mouseenter or mouseleave Do not confuse the "hover" pseudo-event-name with the hover() method, which accepts one or two functions

----

也就是说这个事件从19被弃用了。

可以按如下思路实现hover()的代理效果:

$('container')on('mouseenter mouseout','p',function(){
    consolelog( eventtype );//"mouseenter" or "mouseout" 根据这个标志来切换你的分支
});

on('click',function(){
this_clikFlag=true,
//添加背景色
}
hover(function(){
//添加背景色
},function(){
if(!this_clikFlag){
//移除背景色
}
})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13390750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-27
下一篇 2023-07-27

发表评论

登录后才能评论

评论列表(0条)

保存