3

これは、さまざまなソースから集めたスクリプトであり、レベルで理解できるほど単純です。複雑になりすぎないでください。もしそうなら、簡単な説明をいただければ幸いです。私が知ることを期待しないでください...

<script type="text/javascript" language="JavaScript">
imgs=Array("01.jpg","02.jpg","03.jpg","04.jpg","05.jpg");
var x=0;
document.onkeydown = checkKey;
function checkKey(e) {
    e = e || window.event;
    if (e.keyCode == '37') {
        document.getElementById("myImage").src=imgs[--x];
    }
    else if (e.keyCode == '39') {
        document.getElementById("myImage").src=imgs[++x];
    }
}
</script>

そして体に…

<img id="myImage" src="01.jpg" style="width:100%">

これが行うべきことは、画面の幅に収まる画像の単純な画像ギャラリーを作成することです。これは、矢印キーを使用して配列内の画像からナビゲートできます。少なくとも私にとっては問題なく動作しますが、x=0 のときに前の画像に移動しようとした場合、または x=4 から次の画像に移動しようとすると、05 から 01.jpg にループバックせずに無期限に拡張されます。私が望むようにjpgとその逆。私の理論はうまくいきませんでした。私はこれについて少しだけ知っています。この元のスクリプトの変更を最小限に抑えた簡単な方法を知っている人はいますか?

プロフェッショナルまたは「きれい」に見える必要はありません。私はただ退屈していて、いろいろ試しています。将来は Web デザイナーになりたいという願望があるかもしれませんが、今のところはそうではありません。確かに機能しますが、基本的なレベルでこれに対する解決策を理解し、スタンドアロン スクリプトを入手したいだけです。

4

3 に答える 3

0
<script type="text/javascript" language="JavaScript">
imgs=Array("01.jpg","02.jpg","03.jpg","04.jpg","05.jpg");
console.log(imgs.length);
var x=0;
document.onkeydown = checkKey;
function checkKey(e) {
    e = e || window.event;
    if (e.keyCode == '37') {        
        x--;
        if(x == -1){ x = imgs.length - 1; console.log('a max'); }
        //document.getElementById("myImage").src=imgs[x];
        console.log('a '+x);

    }
    else if (e.keyCode == '39') {       
        x++;
        if(x == imgs.length){ x = 0; console.log('b max'); }
        //document.getElementById("myImage").src=imgs[x];
        console.log('b '+x);     
    }
}
</script>

SAME THING ONLY SMALLER (1 行)

 i=Array("01.jpg","02.jpg","03.jpg","04.jpg","05.jpg");var x=0;document.onkeydown=checkKey;function checkKey(e){e=e||window.event;if(e.keyCode=='37'){x--;if(x==-1){x=i.length-1;}document.getElementById("myImage").src=i[x];}else if(e.keyCode=='39'){x++;if(x==i.length){x=0;}document.getElementById("myImage").src=i[x];}}
于 2013-08-08T18:14:32.887 に答える