我有3个图像并且具有一个功能,因此在鼠标翻转时它们会淡入淡出。如果正在翻转的图像具有“已选择”类,我不想这样做。
到目前为止,我有这段代码:
$(".thumbs").hover(function(){
if (!($(this).hasClass(".selected")){
$(this).stop().fadeTo("normal", 1.0);
},function(){
$(this).stop().fadeTo("slow", 0.3);
}
});
对我来说,IF语句看起来应该是:
if (!($(this).hasClass(".selected"))){
但是没有工作,所以谁知道。当我实现此代码时,我的整个javascript停止工作,任何想法为什么?
Google上的jQuery几乎没有关于IF语句的信息,这太荒谬了。我非常感谢任何帮助!
答案 0 :(得分:5)
问题是你的元素有“选中”类而不是“.selected”。删除点。
答案 1 :(得分:2)
The jQuery docs on selectors告诉您需要知道的一切。
$('.thumbs:not(.selected)').hover(function(){
// ...
})
答案 2 :(得分:2)
使用not
功能:
if ($(this).not(".selected")) {
...
}
答案 3 :(得分:1)
也许它应该是
if (!($(this).hasClass("selected"))){
不,不。因为它知道你正在寻找一个类名。
答案 4 :(得分:1)
我认为你的javascript格式不正确 - 在错误的地方括号 - 你不应该在hasClass函数中使用点。更好的格式化也有助于提高可读性。
$(document).ready( function() {
$('.thumbs').hover( function() {
if (!$(this).hasClass('selected')) {
$(this).stop().fadeTo("normal", 1.0);
}
},
function() {
$(this).stop().fadeTo("slow", 0.3);
}
);
});