2015-06-17 60 views
-2

这里是我的代码jQuery的`.hover()`方法不适用于`:hover` CSS样式吗?

http://jsfiddle.net/8fsmcc7b/

而且我粘贴它下面:

setTimeout(function(){$("div").hover()}, 1000)
div { 
 
    background: grey; 
 
    width: 20px; 
 
} 
 

 
div:hover { 
 
    width: 200px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    test 
 
</div>

我想使用jQuery触发hover事件<div>,这将扩大其宽度为200px ..但是,在上面的示例中,根本没有任何影响。

有没有人有这方面的想法?谢谢!

+0

'.hover'不工作的方式。但是你可以在CSS中添加一个你拥有':hover'的类,并将其应用到悬停时的元素上。 – putvande

+0

外观[http://stackoverflow.com/questions/10680446/trigger-the-csshover-event-with-js][1] [1]:http://stackoverflow.com/questions/10680446/trigger -the-csshover-event-with-js –

回答

-1

Hover绑定mouseover和mouseout处理程序!我不认为它触发了鼠标悬停事件。 如果要通过添加类像波纹管

div:hover,div.hoverd { 
    width: 200px; 
}  
<script> 
setTimeout(function(){ 
    $("div").addClass('hoverd'); 
    setTimeout(function(){ 
    $("div").removeClass('hoverd'); 
    },1000) 
}, 1000)  
</script> 
+2

应该是一个评论。 – putvande

0

您可以通过这种简单的方式扩大其应用样式,你可以做到这一点。

创建一个200px宽的CSS类(在这里你可以添加CSS3动画)。使用jQuery的.hover(handler1, handler2)函数或.mouseenter()/.mouseleave()。悬停功能的第一个处理程序将用于鼠标进入该元素,并添加该类,并为鼠标的第二个元素离开它,所以删除之前添加的类。

提到的第一个,就像之前的两个鼠标事件。

编辑补充例如:

$(".div_to_expand").hover(function() { 
    $(this).addClass("expanded"); 
}, function() { 
    $(this).removeClass("expanded"); 
});