功能改变图像不起作用,为什么

时间:2017-01-15 21:54:32

标签: javascript html css

我想创建一个功能,将网址设置为照片,然后用该照片更改所选div的背景图片。

function changePhoto(id) {
            var y = document.getElementById("baza_big_photo");
            y.style.display = "block";
            var z = '"' + "url(" + "'" + "./assets/min_images/" + id + ".jpg" + "'" + ")" + '"';
                y.style.backgroundImage = z;
                console.log(z);
        }

例如,我发送tn_baza01(照片名称)作为参数,但图像没有显示在我更大的div中:(

我有20个不同身份证的小div,还有一个很大的div。当我点击小图片时,它应该将更大的div背景图像更改为该图像。

2 个答案:

答案 0 :(得分:0)

"url('./assets/min_images/tn_baza01.jpg')"中的连接正在创建类似var z = "url(" + "'" + "./assets/min_images/" + id + ".jpg" + "'" + ")"; 的字符串,并且前导/尾随引号无效。

将该行更新为此行以删除前导/尾随引号

url('./assets/min_images/tn_baza01.jpg')

它将创建一个类似function changePhoto(id) { var y = document.getElementById("baza_big_photo"); y.style.display = "block"; var z = "url(" + "'" + "./assets/min_images/" + id + ".jpg" + "'" + ")"; y.style.backgroundImage = z; } changePhoto('tn_baza01');

的字符串

只要图像路径有效,就可以正常工作。



<div id="baza_big_photo"></div>
&#13;
SKPhysicsBodies
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你不应该将url(..)包裹在"

因此将其更改为

var z = "url('./assets/min_images/" + id + ".jpg')";

应解决问题