2010-03-17 278 views
0

我有一個例程,它可以在單擊來自輪播小部件的相應圖像(它是一個WordPress模板選擇器)時動態更改選擇列表的「選定」選項。jQuery更改所選項目更改選定選項的背景

我只想添加背景顏色的閃光,然後淡入白色,給用戶一個視覺提示,他們剛剛更改了模板選擇器選擇列表的值。

我在下面試圖將className「mySelectedOption」分配給選定的選項,但它不工作。

我敢肯定,有可能是一個更好的辦法來獲得視覺提示我在尋找,(因爲CSS變化是靜態的,不會褪色回白色背景)

$('#carousel ul li').click(function(e) { 
    var myOption = $(this).children('img').attr('title'); 
    $("#myTheme option[value='"+myOption+"']").attr('selected', 'selected'); 
    $("#myTheme :selected]").attr('className', 'mySelectedOption'); 

    }); 

回答

1

試試這個

$("#myTheme") 
    .css('backgroundColor', '#A9A9A9') //set some color 
    .animate({ 
     backgroundColor: "#ffffff" //now fade to white 
    }, 'slow'); //instead of slow you can also specify a time in milliseconds 

我記得你需要使用jQuery color plugin爲backgroundColor屬性設置動畫。 但不知道這是否仍然適用於新的jQuery版本。你必須自己檢查一下。

根據Michal's answer jQuery本身仍然無法做到,但jQuery UI可以。但僅包含jQuery UI僅用於此目的是一種過度衝擊

+0

謝謝,很漂亮。我只是刪除選項:選擇讓它工作。 $(「#myTheme」).css('backgroundColor','#A9A9A9')。animate({backgroundColor:「#ffffff」},'slow'); – 2010-03-17 15:53:58

+0

我沒有jQuery UI,但它對我來說仍然正常。我包括jquery-1.4.2.min.js – 2010-03-17 16:27:34

+0

有趣。你的意思是你只包含jQuery 1.4.2,但既沒有顏色插件也沒有jQuery UI?因爲沒有顏色插件,它不適用於我 – jitter 2010-03-18 08:47:16

0

對於顏色淡化,請查看animate屬性。像這樣的東西會做:

$('#selector') 
    .css(backgroundColor, '#c00') 
    .animate({backgroundColor: '#fff'}, 5000); 
1

要更新抖動的回答,jQueryUI的最新版本將允許您動畫顏色屬性,但不是jQuery的本身。

[太低代表發表評論]

+0

我沒有jQuery UI,但對我來說它仍然正常工作。我包括jquery-1.4.2.min.js – 2010-03-17 16:27:56

相關問題