悬停、悬停、选中

发布于 2024-11-01 19:41:59 字数 500 浏览 2 评论 0原文

$('#box_1, #box_2, #box_3, #box_4').hover(function() {
$(this).addClass('hover');
}, function() {
$(this).removeClass('hover');
});

但是当我点击“HOVERclass = .removeClass('hover')时,

无论如何要在我点击时保留这个“HOVER”类吗?

http://jsfiddle.net/EAa6p/ (这是我的原创)


完成!通过本<3 http://jsfiddle.net/EAa6p/1/ 谢谢大家

$('#box_1, #box_2, #box_3, #box_4').hover(function() {
$(this).addClass('hover');
}, function() {
$(this).removeClass('hover');
});

But when I clicked, "HOVER" class = .removeClass('hover')

Anyway to stay this "HOVER" class when I clicked ?

http://jsfiddle.net/EAa6p/ (This is my original)


DONE ! by Ben <3
http://jsfiddle.net/EAa6p/1/
Thanks you all

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

永言不败 2024-11-08 19:41:59

我认为您的意思是在单击发生时保留悬停类。

最好的选择是使用 data() 保存状态并检查悬停

var boxes = $('#box_1, #box_2, #box_3, #box_4');
boxes.hover(function() {
    $(this).addClass('hover');
}, function() {
    if (!$(this).data('clicked'))
        $(this).removeClass('hover');
}).click(function(){

    boxes.not(this).removeClass('hover').data('clicked',false);;
    $(this).data('clicked',true);

});

是否是您想要的通缉?

http://jsfiddle.net/uhc9S/

I think you mean to persist the hover class when a click occur.

The best option is to use data() to save the state and check on the hover out

var boxes = $('#box_1, #box_2, #box_3, #box_4');
boxes.hover(function() {
    $(this).addClass('hover');
}, function() {
    if (!$(this).data('clicked'))
        $(this).removeClass('hover');
}).click(function(){

    boxes.not(this).removeClass('hover').data('clicked',false);;
    $(this).data('clicked',true);

});

Is that what you wanted?

http://jsfiddle.net/uhc9S/

<逆流佳人身旁 2024-11-08 19:41:59

CSS:将 .hover{...} 规则更改为

#box_1:hover, #box_1.hover,
#box_2:hover, #box_2.hover,
#box_3:hover, #box_3.hover,
#box_4:hover, #box_4.hover {
    ...
}

JavaScript/jQuery:不要在悬停时添加悬停类,并在取消悬停时将其删除。相反,CSS 将处理悬停,而 jQuery 只需处理点击:

$('#box_1, #box_2, #box_3, #box_4').click(function() {
    $(this).addClass('hover');
});

:hover 规则意味着它处于悬停状态。当您希望它在单击后看起来悬停时,将使用 .hover 规则。

CSS: Change your .hover{...} rule to

#box_1:hover, #box_1.hover,
#box_2:hover, #box_2.hover,
#box_3:hover, #box_3.hover,
#box_4:hover, #box_4.hover {
    ...
}

JavaScript/jQuery: Don't add the hover class on hover and remove it on unhover. Instead, CSS will handle hover and jQuery just has to handle click:

$('#box_1, #box_2, #box_3, #box_4').click(function() {
    $(this).addClass('hover');
});

The :hover rule means it is hovered. The .hover rule will be used when you want it to look hovered after it is clicked.

寄人书 2024-11-08 19:41:59

使用鼠标悬停和鼠标悬停

$('#box_1, #box_2, #box_3, #box_4').mouseover(function(){
   $(this).addClass('hover');
}).mouseout(function(){
   $(this).removeClass('hover');
});

Use mouseover and mouseout

$('#box_1, #box_2, #box_3, #box_4').mouseover(function(){
   $(this).addClass('hover');
}).mouseout(function(){
   $(this).removeClass('hover');
});
战皆罪 2024-11-08 19:41:59

保留一个变量,其中包含单击的菜单项的 id

var currentSelected = null;

$('#box_1, #box_2, #box_3, #box_4').click(function(){
     currentSelected = this.id;   
});

$('#box_1, #box_2, #box_3, #box_4').hover(function(){
    if (this.id !== currentSelected){
        $(this).addClass("hover");
    }
},
function(){
    if (this.id !== currentSelected){
        $(this).removeClass("hover");
    }
});

Keep one variable which contains the id of the menuitem clicked

var currentSelected = null;

$('#box_1, #box_2, #box_3, #box_4').click(function(){
     currentSelected = this.id;   
});

$('#box_1, #box_2, #box_3, #box_4').hover(function(){
    if (this.id !== currentSelected){
        $(this).addClass("hover");
    }
},
function(){
    if (this.id !== currentSelected){
        $(this).removeClass("hover");
    }
});
酒废 2024-11-08 19:41:59

http://jsfiddle.net/hRnQE/

单击时,切换另一个执行相同操作的“不同”类...

js

$("#box-1, #box-2, #box-3").hover(function() {
    $(this).addClass("hover");
}, function() {
    $(this).removeClass("hover");
});

$("#box-1, #box-2, #box-3").click(function() {
    $(this).toggleClass("hover-clicked");
});

css

.hover {color:red;}
.hover-clicked {color:red;}

http://jsfiddle.net/hRnQE/

on click, toggle another 'different' class that does the same thing...

js

$("#box-1, #box-2, #box-3").hover(function() {
    $(this).addClass("hover");
}, function() {
    $(this).removeClass("hover");
});

$("#box-1, #box-2, #box-3").click(function() {
    $(this).toggleClass("hover-clicked");
});

css

.hover {color:red;}
.hover-clicked {color:red;}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文