2013-02-26 25 views
0

的index.html背景變量被隨機變化我可以保存index.html中的一個var值並將其用於其他頁面而不更改?轉移JS沒有PHP

+1

使用cookie來存儲跨請求/頁面的數據 – Boynux 2013-02-26 14:30:20

+2

像「http://.../index.html?myVar = 123」這樣的Cookie或URL參數是向頁面提供參數的簡單傳統方式,但它是有點不清楚你真的想做什麼,如果這是合適的,或者有更好的解決方案來解決你的問題。 – Supr 2013-02-26 14:31:38

回答

0

您可以使用Cookie或localStorage甚至更​​好sessionStorage

var imgArr=['background.jpg', 'backgrounds2.jpg', 'backgrounds3.jpg']; 
i = Math.floor(Math.random() * imgArr.length); 
//fewer harcoded values is better :-) 
$('.wrap').css({'background': 'url('+imgArr[i]+') no-repeat fixed'}); 
sessionStorage.setItem("bg", imgArr[i]); 

當然,你應該檢查是否存儲是試圖訪問它之前可用,但它會在現代瀏覽器。

+0

太好了!現代網絡技術真的很酷,非常感謝你! – 2013-02-26 15:04:57

0

最簡單的方法是在CSS中設置一個默認值 - 然後您的JS會覆蓋index.html中的默認值,如果您從其他頁面中忽略了js,那麼它將恢復爲默認值。

你也可以使用JS來設置一個cookie,然後從那裏讀取,但是你仍然需要計劃如果有人訪問頁面而沒有設置cookie,所以id可能與CSS選項一起是我。

+0

是的,但我需要從其他頁面的index.html使用結果。好的..代碼可以在一個外部文件中 – 2013-02-26 14:32:33

+0

@RomanPerfilyev:在這種情況下,你需要使用cookie,或者將它和一個get參數一起傳遞,然後從URL中解析。 – prodigitalson 2013-02-26 14:38:10

0

如果您正在使用任何服務器端語言,請嘗試SESSION存儲該值。 如果您僅使用客戶端語言,請嘗試使用cookie或將參數值傳遞到下一頁。

0

你可以在index.html中添加一些元素,並檢查你的javascript是否存在,這意味着你在index.html頁面上,你應該改變背景。例如添加

<div id="iamindex"></div> 

你的javascript:

if($('#iamindex').length) { 
    var imgArr=['background.jpg', 'backgrounds2.jpg', 'backgrounds3.jpg']; 
    i=Math.round(Math.random()*2); 
    $('.wrap').css({'background': 'url('+imgArr[i]+') no-repeat fixed'}); 
}