2011-11-09 117 views
1

我正在使用容器中有隨機背景圖像的網站。每次加載網站時,都會有一個由php腳本生成的不同圖像。 當PHP腳本隨機選擇1.jpg顯示時,我想將bg1.png用作背景圖片。 如果PHP腳本隨機選擇2.jpg顯示,我想將bg2.png用作背景圖片。什麼是獲得div的價值的最佳方式?

這是我已經做的jQuery。但我不能找到一種方法如何調用的div被稱爲背景

jQuery的價值:

$(document).ready(function() { 

if ($("#background").attr("value") == 1) { 
$(body).css("background-image", "url(images/bg/bg1.png);"); 
} 

else if ($("#background").attr("value") == 2) { 
$(body).css("background-image", "url(images/bg/bg2.png);"); 
} 

else if ($("#background").attr("value") == 3) { 
$(body).css("background-image", "url(images/bg/bg3.png);"); 
} 

else if ($("#background").attr("value") == 4) { 
$(body).css("background-image", "url(images/bg/bg4.png);"); 
} 

else if ($("#background").attr("value") == 5) { 
$(body).css("background-image", "url(images/bg/bg5.png);"); 
} 

else if ($("#background").attr("value") == 6) { 
$(body).css("background-image", "url(images/bg/bg6.png);"); 
} 

else { 
$(body).css("background-image", "url(images/bg.png);"); 
} 
}); 

PHP的:

echo "<div id='background' value=\"$random\"><img src=\"$image_folder/$image_name\" alt=\"$random\" /></div>"; 

回答

3

你現在正在做的是相當愚蠢的,考慮通過在PHP中回顯代碼來設置背景。 例如:

<style> 
body 
{ 
background-image: url("images/bg<?php echo rand(0,7); ?>.png"); 
} 
</style> 

這裏不應該有任何客戶端處理需要。

+1

同意。當需要使用javascript時 - 使用JavaScript時涉及客戶端操作。 –

+0

這個爲我做了,謝謝! – Famoso

+0

請注意,它總是會附加一個數字,所以請確保bg0.png也存在。 – TJHeuvel

1
$(function() { 
    var mainImage = $("#background").attr("value"); 
    $("BODY").css("background-image", "url(images/bg/bg" + mainImage + ".png)"); 
}); 

雖然這可以很容易地通過PHP來實現 - 尤其是當您已經生成了要在文件名中使用的數字時。

我也建議在你的div上使用rel屬性作爲value是無效的。

1

你不應該在你的div中使用自定義屬性。正確的方法是看src財產在你img標籤

$("#background img").attr("src") 
相關問題