1

JavaScript を使用して動的に画像のリストを作成しようとしています。次のコードがありますが、機能していません。エラーが表示された場合、またはこれを行うためのより良い方法を知っている場合は、助けていただければ幸いです。

コードは次のとおりです。

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<script type="text/javascript">
function generateCarousel(baseval, num_images)
{
    var list_node = document.getElementById("carousel");
    list_node.innerHtml(''); // clear the previous contents

    for (var i = 0; i < num_images; i++)
    {
        var img = document.createElement("img");
        img.src = baseval + ((i<9)?0+i:i) + ".jpg"; 
        list_node.appendChild(img);
    }
}
</script>
<style type="text/css">
#carousel {
    width: 700px;
    height: 450px;
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
}
</style>

</head>


<body>

<div id="Container">



<div id="Content">

 <div id="carousel">            
  <img src="images/placeholder0.jpg" height="450" />
  <img src="images/placeholder1.jpg" height="450" />
 </div>

<a onclick="generateCarousel('images/set1/', 10); return false;">set 1</a>

<a onclick="generateCarousel('images/set2/', 12); return false;">set 2</a>
  </div>

</div>

</body>

</html>
4

3 に答える 3

3

list_node.innerHtml('');

innerHTML is a property, not a function; and innerHtml doesn't exist, unless something you're using is defining it. Most browsers' javascript console would have alerted you to this.

Normally, script execution stops when an uncaught exception occurs. So the script stopped there.

于 2010-02-06T20:39:12.413 に答える
2

"innerHTML" is not a function.

list_node.innerHTML = '';
于 2010-02-06T20:41:19.523 に答える
0

他の人が議論したように、内部 HTML を設定する行を変更する必要があります

`list_node.innerHTML = '';`

これは関数ではなく属性であり、大文字と小文字の区別が重要であることに注意してください。

また、CSS に以下を追加して、すべての画像がカルーセルの高さを自動的に満たすようにすることもできます。

#carousel img { height: 100%; }
于 2010-02-06T20:48:10.607 に答える