嗨,希望你能提供帮助。我的JavaScript并不热,我尝试过搜索但没有运气找到正确的方法。
我正在尝试将css background-image添加到div(.jumbotron),但根据屏幕大小动态更改网址。图像将从https://unsplash.it中拾取,其中网址可以编码为所需的尺寸,即 https://unsplash.it/200/300
<script type="text/javascript">
function setBackground () {
$('jumbotron').css('background-image', 'url(https://unsplash.it/' + $(window).height(); + '/' + $(window).width();')');
}
</script>
我希望这有意义并提前感谢
答案 0 :(得分:2)
假设jumbotron
是一个id或类,请确保给它一个选择器标记。
你可以做这样的事情来实现你想要的东西:JS Fiddle
function setBackground() {
var height = $(window).height();
var width = $(window).width();
$('.jumbotron').css('background-image', 'url(https://unsplash.it/' + width + '/' + height + ')');
}
关于原文的说明:
jumbotron
需要一个选择器标记(class / id)
$(window).width();
后遗漏了+
对于Upslash链接,宽度需要在高度才能正常工作。
还有一个注意事项:
你想要这个功能在加载时运行吗?如果是这样,请务必调用该函数,因为它未设置为立即运行。
答案 1 :(得分:0)
尝试删除字符串中的分号。
function setBackground () {
$('jumbotron').css('background-image', 'url(https://unsplash.it/' + $(window).height() + '/' + $(window).width()')');
}
在字符串中间加一个分号会强制它在字符串完成之前停止。
答案 2 :(得分:0)
试试这个: -
<script type="text/javascript">
function setBackground () {
$('jumbotron').css('background-image', 'url(https://unsplash.it/' + $(window).height(); + '/' + $(window).width(); + ')');
}
</script>>
你在宽度之后错过了'+'符号。