2011-03-27 26 views
0

嘿,大家好。 由於撥打json/ajax,我在頁面上創建了一些div。起初,他們不會觸發jQuery的功能,然後我知道了.live()這解決了我的問題。如何在頁面加載時對jQuery.live元素產生影響css樣式

但是現在我想在頁面加載的時候做一點動畫。 (或改變,因爲即時通過json做)。
任何人都可以請告訴我如何做這樣的事情,例如,而不是「click」,使用像「onload」或「load」?

$('.thumbnail_area').live("click",function(){ 
    $(this).children().css('background-color', 'red') 
}); 

我只是用這個作爲一個簡單的例子。點擊時可以正常工作,但是如何在每次加載div時執行此操作。最終目標是讓它們一次褪色。
謝謝大家。

回答

1

實際上並沒有一個通用的onload() jQuery函數。你將不得不使用回調函數的AJAX請求,你可以在這裏看到:

jQuery.post(網址,[數據],[成功(資料,textStatus,jqXHR)],[的dataType] )

[ success(data, textStatus, jqXHR) ]塊說,你可以把一個函數在那裏與可選變量,就像這樣:

jQuery.post('foo.php', $('#foo_form').serialize(), function(data) 
{ 
    // I get called when the AJAX request finishes, so do your animating within me. 
}); 

.getJSON()功能同一個W AY:

jQuery.getJSON('foo.php', 'foobar', function(data) 
{ 
    $('.thumbnail_area').css('background-color', 'red'); 
}); 

如果您使用jQuery(而不是jQuery UI的),你需要包括彩色插件,like this one,以動畫元素的顏色。

+0

嘿傢伙感謝回來這麼快。也許我不應該說我正在使用Ajax。我使用getJSON,所以這可能會產生巨大的差異。繼承人該網站即時通訊工作。 – NickG77 2011-03-27 02:48:05

+0

該死的你該如何在這個該死的東西里換個新的路線?繼承人該網站即時通訊工作。 http://www.webnamehere.com/johns_site/home.php。讓我們說負載我想所有的拇指背景改變紅色。現在它只在點擊時才起作用。此外,如果這有幫助,在頁面的開始,大拇指用php生成,然後點擊菜單按鈕後,它通過jetJSON。這就是爲什麼我需要.live()。 – NickG77 2011-03-27 02:55:47

+0

你不能在評論中使用換行符。如果你這樣做,系統會刪除它們。不管怎樣,看我的編輯。 – Blender 2011-03-27 14:15:33

0

您已經有一個「結果」函數用作回調函數。難道你不能簡單地「.hide()」ID爲「ID ='」+結果[i] .bridge +「'」的div,然後使用fadeIn函數嗎?有點像.append()函數後右:

 $('#'+result[i].bridge).hide(); 
     $('#'+result[i].bridge).fadeIn(); 

哦,無關的jQuery JavaScript,但因爲它引起W3C驗證錯誤,你不應該使用數字作爲標識。你可以稱它們爲「id ='newdiv _」++ result [i] .bridge +「'」,然後通過分割「_」字符來獲得id值。

var sId = $(somediv).attr('id'); 
var actualID = sId.split('_')[1]; 
+0

嘿大家。非常感謝你們的幫助。我意識到現在我正在以錯誤的方式處理整個事情。我是動態創建和附加div,然後試圖影響他們的CSS後。 當我真的需要把所有的改變放在getJSON文件中。否則,我正在做的任何改變都會發生,但是當新的div被追加時立即改回。 再次感謝您的幫助。 – NickG77 2011-03-28 15:42:24

0

嘿大家。非常感謝你們的幫助。我意識到現在我正在以錯誤的方式處理整個事情。我是動態創建和附加div,然後試圖影響他們的CSS後。

當我真的需要把所有的改變放在getJSON文件中。否則,我正在做的任何改變都會發生,但是當新的div被追加時立即改回。

再次感謝您的幫助。

相關問題