2012-11-23 85 views
0

我從下面跟隨風格切換的方法: http://designshack.net/articles/css-style-switcherjQuery:如何切換刷新頁面後仍保留的背景圖片?

它工作得非常好,但我需要改變的背景圖片,因爲它改變了顏色。那麼我們怎樣才能改變背景圖像,即使在刷新頁面之後,它仍可能保持不變。

他們在樣式表上面的例子中使用了cookies方法,但是我們怎樣才能爲單獨的圖像背景使用相同的方法呢?我不是一個jQuery忍者;)

回答

0

使用javascript,你可以設置和獲取cookie來拉取圖片URL加載。沒有看到您所有的圖像存儲,我不能給你具體的代碼,但這個想法是:

function setCookie(c_name,value,exdays) { 
    var exdate=new Date(); 
    exdate.setDate(exdate.getDate() + exdays); 
    var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); 
    document.cookie=c_name + "=" + c_value; 
} 

function getCookie(c_name) { 
    var i,x,y,ARRcookies=document.cookie.split(";"); 
    for (i=0;i<ARRcookies.length;i++) { 
     x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 
     y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 
     x=x.replace(/^\s+|\s+$/g,""); 
     if (x==c_name) 
      return unescape(y); 
    } 
} 

然後當你要保存的背景鏈接:

setCookie("my_bg","images/my_image1.png", 7); 

當你加載頁面:

$('#div_to_set_bg_of').css("background-image": "url("+getCookie("my_bg")+")"); 
+0

該問題可能與jsfiddle處理cookie有關。我想可能會有阻止他們的一些安全原因。如果它在小提琴外運行良好,祝賀!如果沒有,請將代碼發給我,或將我鏈接到您正在處理的頁面上,然後我會盡力提供幫助。 – jcolicchio

+0

感謝您的快速回復。我已經把所有的代碼放入那個小提琴中。上面的插件需要2個樣式表來鏈接,但我試圖將它們插入到小提琴作爲內部樣式表,所以可能是它不顯示爲默認字體。但主要問題仍然存在:背景圖像和bg圖像的cookie ..... plz看看小提琴,你會明白很好.. – mrto2

+0

我已經在小提琴中添加了所有數據。 http://jsfiddle.net/mrto2/e9bbn/16現在顏色方案/字體完美地工作。當我們點擊藍色時,字體變成藍色,並且cookie被存儲。 (默認不在小提琴中工作,但在PC中是完美的)。我試圖添加背景圖像切換,但它給出了2個問題。 1)餅乾(在這裏我最需要你的幫助,如果你可以把它加入到「styleswitcher.js」或者只是小提琴,那麼我的生活會更容易)2)只是背景顏色工作,它不選擇背景圖像....關心 - – mrto2

相關問題