我有一堆不透明度为80%的图像
当我将鼠标悬停在图片上时,我会使用mouseenter
和fadeTo('fast' 1);
将不透明度设为100%。
当我将鼠标悬停在图像上时,我会使用mouseleave
和fadeTo('fast' 0.8);
将不透明度恢复到80%。
但是,如果我悬停在上面的图片有一个特定的类,我希望不透明度保持100%,而不是鼠标离开时更改为80%。
我试过但失败了,我希望你们能帮助我!
$(document).ready(function(){
var subject = 'null';
$('.subject').mouseenter(function(){
if ($(this).hasClass(subject) == false) {
$(this).find('.info').fadeTo('fast', 1);
$(this).find('img').fadeTo('fast', 1);
}
});
$('.subject').mouseleave(function(){
if ($(this).hasClass(subject) == false {
$(this).find('.info').fadeTo('fast', 0);
$(this).find('img').fadeTo('fast', 0.8);
}
});
$('.english-link').click(function(){
$('.english').find('.info').fadeTo('fast', 1);
$('.english').find('img').fadeTo('fast', 1);
var subject = 'english';
});
$('.math-link').click(function(){
$('.math').find('.info').fadeTo('fast', 1);
$('.math').find('img').fadeTo('fast', 1);
var subject = 'math';
});
$('.electives-link').click(function(){
$('.electives').find('.info').fadeTo('fast', 1);
$('.electives').find('img').fadeTo('fast', 1);
var subject = 'electives';
});
});
答案 0 :(得分:0)
您可以在淡出图片的功能上使用:not
jQuery选择器,例如$('.math:not(.otherclass)').doSomething()
答案 1 :(得分:0)
当您计划淡入subject
var的功能时,您必须使其全局化。
目前,您每次都使用subject
重新声明var
,因此在mouseenter
和mouseleave
的范围内subject
已经var globals = {}; //Your global array
$(document).ready(function(){
globals.subject = 'null'; //Subject is accessible everywhere in your code now
...
$('.english-link').click(function(){
$('.english').find('.info').fadeTo('fast', 1);
$('.english').find('img').fadeTo('fast', 1);
globals.subject = 'english';
});
}
不要改变。
localStorage
有关工作示例,请参阅updated fiddle。
注意:您还可以使用HTML 5 localStorage.subject = 'english'
来存储{{1}}等主题。
答案 2 :(得分:0)
$(#subject).hover(function () {
(this).fadeTo('fast', 1)
}, function () {
if(this).hasClass("subject") {
(this).css('opacity','1');
}
else if {
(this).fadeTo('fast',.8)
}
}
});
答案 3 :(得分:-2)
您有语法错误,请尝试使用此
$('.subject').mouseenter(function(){
if (($(this).hasClass('subject')) == false) {
$(this).find('.info').fadeTo('fast', 1);
$(this).find('img').fadeTo('fast', 1);
}
});