【发布时间】:2012-10-09 21:12:15
【问题描述】:
我正在尝试为我的 MVC 应用程序选择一个随机背景图像。在我的 _Layout.cshtml 中,我有以下代码:
<script type="text/javascript">
var background = ['url("~/Content/images/image1.jpg")',
'url("~/Content/images/image2.jpg")',
'url("~/Content/images/image3.jpg")',
'url("~/Content/images/image4.jpg")',
'url("~/Content/images/image5.jpg")'];
$(document).ready(function () {
PickRandomBackground();
});
function PickRandomBackground() {
var index = Math.floor(Math.random() * 5);
$('html').css('background-image', background[index])
}
</script>
最终发生的是找不到图像。我的 site.css 位于 Content 文件夹中,如果我在那里定义图像,请按以下方式:
html {
background-image: url("images/image1.jpg");
background-position:center;
background-repeat: no-repeat;
background-color: #e2e2e2;
margin: 0;
padding: 0;
}
然后它会正确找到它,但是如果我在我的 javascript (.css('background-image', 'url("images/image1.jpg")) 中进行相同的定义,它不会。我的想法不多了,所以请帮我解决这个问题。
【问题讨论】:
-
您确实意识到这不是您的阵列中实际拥有的,是吗?
~/Content/images/image1.jpg和images/image1.jpg不等价 -
查看 Adil 的答案,~ 仅适用于服务器端代码。它在 JavaScript 中没有任何意义。
标签: javascript jquery css asp.net-mvc background-image