2015-04-23 64 views
0

我想在用戶刷新頁面或點擊不同頁面時從背景圖片文件夾中顯示不同的背景圖片。jquery動態背景圖片url不起作用

在我的佈局中,我緩存了我的圖像的路徑,但我無法讓jquery正確顯示它。背景位置和背景附件屬性正在工作,但背景圖像不是由jQuery創建的。這就像jquery跳過背景圖像代碼。

順便說一句,我的backgroundUrl屬性創建一個像路徑「/images/background/1.jpg」,所以它正常工作。謝謝你的幫助。

@{ 

    var items = Utils.GetImages("background", 3); 
    var backgroundUrl = items.FirstOrDefault(); 

} 
<script type="text/javascript"> 
    $(document).ready(function (backgroundUrl) { 
     $('body').css({ 
      'background-image': 'url(' + backgroundUrl + ')', 
      'background-position': '50% 0%', 'background-attachment': 'fixed' 
     }); 
    }); 
</script> 
+0

爲什麼'backgroundUrl'在jQuery的DOM ready函數的參數? – adeneo

+0

在dom就緒函數中,不能像上面那樣在Razor中傳遞變量。使用'@ backgroundUrl' –

+0

我正在使用類似的解決方案。你有更好的想法做我想做的事情嗎? – user3055125

回答

1

這是你如何在jQuery腳本使用變量 「@variable名」

@{ 

    var items = Utils.GetImages("background", 3); 
    var backgroundUrl = items.FirstOrDefault(); 

} 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('body').css({ 
      'background-image': 'url(' + "@backgroundUrl.ToString()" + ')', 
      'background-position': '50% 0%', 'background-attachment': 'fixed' 
     }); 
    }); 
</script> 
+0

感謝它的工作。 .ToString()不是必需的。 – user3055125