为什么这个图像更改功能不起作用?

时间:2014-03-24 15:03:26

标签: javascript html image

这是我写的:

var img_current = 0;
var image0 = new Image()
image0.src = "img/image_centrale/1_house_0.jpg"
var image1 = new Image()
image1.src = "img/image_centrale/1_house_1.jpg"
var image2 = new Image()
image2.src = "img/image_centrale/1_house_2.jpg"

function affich_centrale()
{
    if (house_bought == 1 && neighborhood_bought == 0)
    {
        img_current = 1;
        document.images.main.src = eval("image" + img_current + ".src").innerHTML = 'image_centrale';
    }
    else if (house_bought == 2 && neighborhood_bought == 0)
    {
        img_current = 2;
        document.images.main.src = eval("image" + img_current + ".src").innerHTML = 'image_centrale';
    }
    else{}

这将继续,但我认为你得到了主旨。我的代码出了什么问题?这些图像不会随着我的#house.hought"而变化。变量变化。

在我的HTML部分中,我简单地说:

<div id="image_centrale">
    <img src="img/image_centrale/1_house_0.jpg"  name="main" />
</div>

注意:这是即将推出的完整html / js游戏网站。

1 个答案:

答案 0 :(得分:0)

为什么同时使用srcinnerHTML?您只需要src,而且也不需要eval。试试这个:

<div id="image_centrale">
    <img src="" name="main" />
</div>
<script type="text/javascript">
    var img_current = 0;
    var house_bought = 1;
    var neighborhood_bought = 0;
    var image0 = new Image()
    image0.src = "img/image_centrale/1_house_0.jpg"
    var image1 = new Image()
    image1.src = "img/image_centrale/1_house_1.jpg"
    var image2 = new Image()
    image2.src = "img/image_centrale/1_house_2.jpg"

    function affich_centrale() {
        if (house_bought == 1 && neighborhood_bought == 0) {
            img_current = 1;
            document.images.main.src = image0.src;
        }
        else if (house_bought == 2 && neighborhood_bought == 0) {
            img_current = 2;
            document.images.main.src = image1.src;
        }
        else { }
    }
    affich_centrale();
</script>

在这个代码示例中,我对变量的值进行了硬编码,以使其成为一个工作示例,因此您将始终看到第一个图像。改变它以满足您的需求。