0

ボタンが押されたときに画像を変更する機能を実行するスクリプトを書いています。次のスクリプトは、最初は画像を変更しますが、次にまったく同じスクリプトを別の変数で実行すると、最新の変数が考慮されていないように見えます。

<div id="main_img">
<center>
<button style="width:100;height:100" onClick="LastPic();"><---</button>
<img id="img" src="12.jpg" height=70% width=70%>
<button style="width:100;height:100" onClick="FirstPic();">---></button>
 </div>

<script>
var james = document.getElementById("img").getAttribute('src');

document.write(james);

function FirstPic() {
    switch (james) {
    case "12.jpg":
        document.getElementById("img").src = "13.jpg";
        break;

    case "13.jpg":
        document.getElementById("img").src = "14.jpg";
        break;


    default:
        alert('Default case');
        break;
    }
}
</script>
4

2 に答える 2

2
var james = document.getElementById("img").getAttribute('src');
document.write(james);

function FirstPic()
{
    // Get the new value every time the function is called
    james = document.getElementById("img").getAttribute('src');

    switch (james)
    {
        case "12.jpg":
            document.getElementById("img").src = "13.jpg";
            break;

        case "13.jpg":
            document.getElementById("img").src = "14.jpg";
            break;

        default: 
            alert('Default case');
            break;
    }
}
于 2013-07-22T04:50:27.217 に答える
2

グローバルレベルのステートメントでソース属性を選択しています

var james = document.getElementById("img").getAttribute('src');

これは一度だけ実行されます。

関数の最初のpicで初期化してみてください

function FirstPic(){
    var james = document.getElementById("img").getAttribute('src');

    switch (james)
    {
       ....
    }
}

それが役立つことを願っています。:)

于 2013-07-22T04:53:48.430 に答える