0

私はJSの真の新人です。HTMLの本文に次のコードがあります。

  var secDuration = 5;
  var image = 1;
  var maxImages = 4;
  var slider = document.getElementById('slider');

 function changeImage(requiredImage) {


    if (!requiredImage && requiredImage != 0){
      if(image < maxImages){
        image++;
      }
      else{
        image = 1;
      }
    }
    else{ 
      if(requiredImage > maxImages){
        image = 1;
      }
      else if(requiredImage < 1){ 
        image = maxImages;
      }
      else{
        image = requiredImage;
      }
    }
    slider.className = "image"+image;

    clearTimeout(timeout)
  }

  function nextImage(){
    changeImage(image+1);
  }
  function prevImage(){
    changeImage(image-1);
  }

  changeImage(1);

問題は、HTMLに適切に接続しているjsファイルに貼り付けると、スクリプトが機能しなくなることです。私はいくつかの解決策を試しましたが、おそらく何かが欠けています。助けていただければ幸いです。

前もって感謝します。

4

1 に答える 1

0

JavaScriptファイルの有効な埋め込みは次のとおりです。

<html>
<head>
    ...
    <script type="text/javascript" src="/path/to/script.js"></script>
</head>
<body>
    ...
</body>
</html>

あなたが同じようにしたことを確認してください。

次に、ページが完全に読み込まれたときにHTMLページの要素を操作する必要があるため、次のようにステートメントを移動document.getElementByIdwindow.onloadます。

window.onload = function() {
    slider = document.getElementById('slider');
};

したがって、更新されたスクリプトは次のようになります。

var image = 1;
var maxImages = 4;
var slider;

function changeImage(requiredImage) {
    if (!requiredImage && requiredImage != 0) {
        if (image < maxImages) {
            image++;
        }
        else {
            image = 1;
        }
    }
    else {
        if (requiredImage > maxImages) {
            image = 1;
        }
        else if (requiredImage < 1) {
            image = maxImages;
        }
        else {
            image = requiredImage;
        }
    }
    slider.className = "image" + image;

    clearTimeout(timeout)
}

function nextImage() {
    changeImage(image + 1);
}

function prevImage() {
    changeImage(image - 1);
}

window.onload = function() {
    slider = document.getElementById('slider');
    changeImage(1);
};​
于 2012-05-05T15:03:46.807 に答える