2010-02-11 45 views
4

我已經得到了其他人的幫助,但他們的回覆有點過於寬泛,無法幫助我......我是一個新手,當談到JavaScript時,我無法我的腦海中圍繞着他們的答案(以及我在過去3天嘗試過的所有內容都無法正常工作)。工作地點在這裏:http://www.studioimbrue.com/beta問題是,使用縮略圖,一旦點擊它們就會正確添加.selected類但是當點擊另一個時,它將無法從任何其他縮略圖中去除.selected類。如果你可以糾正這些代碼,那將是驚人的,如果你想解釋我錯了什麼,那就馬上行動吧!刪除所有其他列表項目的類

$(document).ready(function(){ 
    var activeOpacity = 1.0, 
     inactiveOpacity = 0.6, 
     fadeTime = 100, 
     clickedClass = "selected", 
     thumbs = "#list 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

如果您對東西不熟悉,請儘可能多地閱讀文檔並嘗試使用示例。這是jQuery的開始:http://docs.jquery.com/How_jQuery_Works – 2010-02-11 11:19:08

回答

2

我認爲它是如此簡單:

$(thumbs).click(function() { 
    var li = $(this); 
    var alreadySelected = li.hasClass('selected'); 

    // Remove selected class from any elements other than this 
    $('#list li').removeClass(clickedClass).fadeTo(fadeTime, inactiveOpacity); 

    li.addClass(clickedClass).fadeTo(((alreadySelected) ? 0 : fadeTime), activeOpacity); 
}); 

你並不需要計算該項目已經具備了一流的,剛剛從所有的人都將其刪除然後重新添加到一個被點擊。

編輯:這應該消除閃爍。

+0

我只是做了這一點,它仍然沒有工作:(感謝您試用哈哈 我也嘗試了用層次結構(而不​​是使用#list裏我二手.thumbscontainer UL李和沒有任何工作) – steve 2010-02-11 11:18:50

+0

我看到發生了什麼 - 你改變獨立於類的不透明性,所以當你刪除它的拇指仍然是完全不透明的我已經修改了上面我的代碼,試試看。 – 2010-02-11 11:30:51

+0

我剛剛發現,解決方案,以及!現在唯一的事情是,當你點擊它確實有點掉色回,而不是在100%的不透明度只剩餘。繞過淡入任何辦法,只是保持完全不透明?謝謝你,你已經非常有幫助 – steve 2010-02-11 11:33:08

0

如果你指的是人物的縮略圖,他們對我的工作很好。雖然有些菜單項不起作用。

+0

是,菜單無法正常工作呢,只有「別跟陌生人說話」和「印刷術的哲學」 – steve 2010-02-11 11:24:26

相關問題