2009-05-23 56 views
1

Iam在使用jquery和缩略图的网站上工作。Jquery - 鼠标悬停 - >淡入/淡出//单击 - >不透明度100%//其他点击 - >不透明度60

当页面加载时,所有的缩略图必须占不透明度的60%。只要将鼠标放在拇指上,它需要褪去100%,如果用鼠标移动,缩略图需要在不透明度上减少60%。

当用户点击缩略图时,必须保持100%的不透明度。只要用户点击另一个缩略图,“旧”缩略图就不得不退回到60%,而“新”缩略图必须保持在100%。 (它已经有100%的不透明度,因为你用鼠标在它上面)。

这是我到目前为止的代码:

$(window).bind("load", function() { 
$("#mycarousel li").fadeTo(1, 0.6); 

$("#mycarousel li").hover(function(){ 
    $(this).fadeTo(350, 1.0); 
    $(this).addClass('Active'); 
    },function(){ 
    $("this:not('.Active')").fadeTo(350, 0.6); 
}); 
}); 

任何帮助,将不胜感激。

Greatings, 巴斯

回答

7
$(window).bind("load", function() { 
    var activeOpacity = 1.0, 
     inactiveOpacity = 0.6, 
     fadeTime = 350, 
     clickedClass = "selected", 
     thumbs = "#mycarousel li"; 

    $(thumbs).fadeTo(1, inactiveOpacity); 

    $(thumbs).hover(
     function(){ 
      $(this).fadeTo(fadeTime, activeOpacity); 
     }, 
     function(){ 
      // Only fade out if the user hasn't clicked the thumb 
      if(!$(this).hasClass(clickedClass)) { 
       $(this).fadeTo(fadeTime, inactiveOpacity); 
      } 
     }); 
    $(thumbs).click(function() { 
     // Remove selected class from any elements other than this 
     var previous = $(thumbs + '.' + clickedClass).eq(); 
     var clicked = $(this); 
     if(clicked !== previous) { 
      previous.removeClass(clickedClass); 
     } 
     clicked.addClass(clickedClass).fadeTo(fadeTime, activeOpacity); 
    }); 
}); 
+0

非常感谢你对我的帮助了! – Bas 2009-05-23 15:51:01