我在this thread上尝试了最多投票的答案,但它并不适合我。
你可能想要这个(使它像普通的CSS背景图像一样 声明):
$('myOjbect').css('background-image', 'url(' + imageUrl + ')');
这是JS代码:
$('.icon-menuoption').click(function() {
$('.menu').animate({
left: "-285px"
}, 200);
$('body').animate({
left: "0px"
}, 200);
$('jumbotron').css('background-image', 'url(' + /images/bg_v3.png + ')');
});
菜单和身体移动就像他们应该的那样,但是jumbotron的背景图像并没有。我在images目录中有bg_v3.png图像,该目录与此JS代码位于同一目录中。
没有这部分:
$('jumbotron').css('background-image', 'url(' + /images/bg_v3.png + ')');
它做了它应该做的事情,但我也想改变background-image
。
注意:我是一个完整的菜鸟。我正在通过codeacademy学习,并且对JS,jQuery和CSS知之甚少,所以请尽可能详细。
谢谢!
答案 0 :(得分:2)
在这行代码中,您需要纠正两件事:
$('jumbotron').css('background-image', 'url(' + /images/bg_v3.png + ')');
首先,选择器$('jumbotron')
不会选择任何元素。它返回null
,因此调用.css
函数将导致错误。如果您的定位元素具有ID = 'jumbotron'
,则应将选择器更改为$('#jumbotron')
。如果该元素具有.jumbotron
的CSS类,则选择器应为$('.jumbotron')
。
其次,您的'url(' + /images/bg_v3.png + ')'
部分也会导致其他错误。这应该是'url(/images/bg_v3.png)'
。