2

我有一堆不透明度为 80% 的图像。
当我将鼠标悬停在图像上时,我使用mouseenterfadeTo('fast' 1);将不透明度设为 100%。
当我将鼠标悬停在图像之外时,我使用mouseleavefadeTo('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';
});

});

http://jsfiddle.net/JDfpc/

4

4 回答 4

0

您可以:not在淡出图像的函数上使用 jQuery 选择器,例如$('.math:not(.otherclass)').doSomething()

http://api.jquery.com/not-selector/

于 2013-03-18T14:27:20.147 回答
0
$(#subject).hover(function () {
      (this).fadeTo('fast', 1)
 }, function () {
      if(this).hasClass("subject") {
           (this).css('opacity','1');
      }
      else if {
           (this).fadeTo('fast',.8)
      }
    }
 });
于 2013-03-18T14:35:29.997 回答
0

当您计划淡入subjectvar 的功能时,您必须使其全局化。

目前,您subject每次都在重新声明 with ,因此在您的andvar范围内, the没有改变。mouseentermouseleavesubject

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';
    });
}

请参阅更新的小提琴以获取工作示例。

注意:您也可以使用 HTML 5localStorage来存储主题之类的localStorage.subject = 'english'

于 2013-03-18T14:33:16.517 回答
-2

You have syntax error,try with this

$('.subject').mouseenter(function(){
if (($(this).hasClass('subject')) == false) {
    $(this).find('.info').fadeTo('fast', 1);
    $(this).find('img').fadeTo('fast', 1);
  }
});

check here

于 2013-03-18T14:26:44.347 回答