强制元素状态悬停在另一个悬停元素/ jQuery的功能中

时间:2015-10-12 17:43:01

标签: jquery hover

我看到很多关于状态悬停和jQuery的事情,但没有关于我的问题。 我想强制一个类成为:当另一个类为:hover时悬停。 这里很难解释我的代码:

$(document).mousemove(function() {    
if($('.h').is(':hover')){ 
    $('.h .btn-1e').trigger('mousover');
}
});

事实是第二类悬停有点复杂,我无法通过addClass / removeClass(悬停包括:after事物,动画等来实现。)< / p>

感谢您的帮助和对不起我的英语!

2 个答案:

答案 0 :(得分:1)

我会这样做:

定义你自己的新悬停类(我知道你写过,你悬停css很复杂但当然你可以用悬停类替换你的悬停,在这里你也可以添加:after ...):

submitClicked: function (e) {
    e.preventDefault();
    var data = Backbone.Syphon.serialize(this);
    // need to convert endpoints object to array
    var endpoints = data.endpoints;
    delete data["endpoints"];
    data.endpoints = [];
    for (var idx in endpoints) {
        data.endpoints.push(endpoints[idx]);
    }
    this.trigger("form:submit", data);
}

现在使用jquery:

在此悬停事件函数中设置此悬停类
.class1,
.class2 {
    width: 40px;
    height: 40px;
    margin: 30px;
    background-color: gray;
}
/* your element has an additional hover class */
.class1.hover,
.class2.hover {
    background-color: red;
}

现在您可以说,当鼠标悬停$(".class1, .class2").hover(function() { //mouseenter $(this).addClass("hover"); }, function(){ //mouseleave $(this).removeClass("hover"); }); 元素时,所有class2元素都应成为悬停状态(即悬停类):

class1

我已经让你成为一名玩家:https://jsfiddle.net/0txLn21c/1/

有关详细信息,请阅读API:

https://api.jquery.com/hover/

https://api.jquery.com/mouseover/

我希望,这可以帮助您,我不知道您的代码,但我认为在您的情况下使用悬停类是不可能的。例如,您可以将悬停类赋予$(".class1").mouseenter(function() { //on hover class1 force hover state to class2 $(".class2").mouseenter(); }).mouseleave(function() { //remove it on mouseleave $(".class2").mouseleave(); }); 元素或动画:

:after

答案 1 :(得分:0)

我通常会触发这样的事件:

$(document).mousemove(function() {    
    if($('.h').is(':hover')){ 
        $('.h .btn-1e').mouseover();
    }
});

你试过吗?