如何将点击的图片作为div
的背景?我是javascript
的新手。我尝试使用onclick
,但代码不起作用。我希望可能是由于编程错误。
<div id="canvas"></div>
<div id="containerA">
<div id="one" ><img src="https://stepupandlive.files.wordpress.com/2014/09/3d-animated-frog-image.jpg" id="image" onclick="change();"/></div>
function change(){
document.getElementById("image").style.backgroundImage = this('src');
};
答案 0 :(得分:0)
将您的代码更改为此 -
<div id="canvas"></div>
<div id="containerA">
<div id="one" ><img src="https://stepupandlive.files.wordpress.com/2014/09/3d-animated-frog-image.jpg" id="image" onclick="change(this);"/></div> // passed this to the parameter
function change(obj){
document.getElementById("canvas").style.backgroundImage = obj.src; // here
};
答案 1 :(得分:0)
您声明了一个功能,但您没有要求它运行。请尝试this或下面的代码段。此外,您可以分开代码以便控制好。
function changeImg() {
document.getElementById("canvas").style.background = "url('//stephboreldesign.com/wp-content/uploads/2012/03/lorem-ipsum-logo.jpg')"
}
document.getElementById("canvas").onclick = changeImg;
#canvas { /* just for test, you can change by yourself */
width: 325px;
height: 325px;
background: red;
}
<div id="canvas"></div>
here on JSBin是另一个版本,如果您想要更改两个或更多图像之间的背景。以下是一些参考资料,供您了解有关示例中使用的函数的更多信息。
答案 2 :(得分:0)
将this
传递给onclick
这样的功能
<div id="canvas"></div>
<div id="containerA">
<div id="one" ><img src="https://stepupandlive.files.wordpress.com/2014/09/3d-animated-frog-image.jpg" id="image" onclick="change(this);"/></div>
</div>
&#13;
中所做的
function change(img){
var urlString = 'url(' + img.src + ')';
document.getElementById("canvas").style.backgroundImage =urlString;
};
这绝对有效!
答案 3 :(得分:0)
答案 4 :(得分:-1)
你能和我们分享一些代码吗?我建议在你的项目中使用jQuery。使用jQuery这样的东西可以工作:
var imageSource = "";
$("#img").click(function(){
imageSource = $(this).attr("src");
$('#canvas').css("background-image", "url("+imageSource+")");
});
答案 5 :(得分:-1)
function changeImage(imgObj){
bgImage = imgObj.src;
$("#updateDiv").css('background-image','url('+bgImage+')');
}