我在这里搜索过google,但我找不到我使用此代码的正确答案。
html {
background: url('../resources/imgs/bgs/mainbg.jpg') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
我从互联网上获得了一个背景图像,该背景图像始终位于中心并完全适合浏览器,并且效果很好,但遇到了问题。我需要在单击按钮时更改背景图像,但我不知道如何定位html标签,它甚至可能吗?非常感谢:)
我的问题被标记为重复,但我的问题不仅是获取html elememnt的样式,而且仅使用纯javascript将其更改为与代码段相同的
答案 0 :(得分:1)
您必须同时设置backgroundImage
和backgroundSize
属性。请尝试以下操作:
document.querySelector('#btnSetImage').addEventListener('click', function(){
var html = document.querySelector('html');
html.style.backgroundImage = "url('https://www.noodleman.co.uk/images/source/google_merchant_bulk_category_assign/google.jpg')";
html.style.backgroundSize = 'cover';
});
<button type="button" id="btnSetImage">Set Background Image</button>
答案 1 :(得分:0)
只需使用:
document.getElementsByTagName('html')[0].style.backgroundImage = "url('img_tree.png')";
答案 2 :(得分:0)
使用jquery,您可以执行以下操作
$('html').on('click', function(){
$('html').css({
"background": "url('https://picsum.photos/1200/3300/?blur') no-repeat center center fixed",
"background-size": "cover"
});
});
答案 3 :(得分:0)
您可以直接使用documentElement
访问html元素:
/*Just change the image source with javascript*/
document.querySelector('#changeImage').addEventListener('click', function() {
document.documentElement.style.backgroundImage = 'url("https://www.fillmurray.com/400/400")';
});
/*Base settings in CSS*/
html {
background: url('https://www.fillmurray.com/g/400/400') no-repeat center center fixed;
/*This Would be a greyscale image*/
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
<div style="color:#FFF;">Bill Murray!</div>
<!-- Just Some Content -->
<button id="changeImage">ChangeImage</button>