1

スライド ショーを変更して、スライド内の画像を介したリンクを含めたいと考えています。私の元のコードは次のとおりです。

VAR slides=new Array("s1.jpg","s2.jpg")
var slideCntr=slides.length-1
function slideShow() {
   slideCntr+=1
   if (slideCntr==slides.length) slideCntr=0
   document.getElementById("slideHolder").src = slides[slideCntr]
   setTimeout("slideShow()",3000)
} 

私のコードでは、表示なしの5つの画像リンクがあります。イメージタグのIDが入力された配列を使用し、表示をブロックに変更しています。表示をなしに戻すには何かが必要だと思います。よくわかりませんが、私が今持っているものが機能しません助けてください。助けが必要な私の新しいコードは次のとおりです。

var slides=new Array("slide1","slide2","slide3","slide4","slide5")
var slideCntr=slides.length-1
function slideShow(){
    slideCntr+=1
    if (slideCntrl==slides.length) 
    slideCntr=0
    document.getElementById(slideCntr).style="display: block;"
    setTimeout("slideShow()",3000)}
    <body onLoad="slideShow()">
    <div>
    <a href="#"><img id="slide1" src="s1.jpg"></a>
    <a href="#"><img id="slide2" src="s2.jpg"></a>
    <a href="#"><img id="slide3" src="s3.jpg"></a>
    <a href="#"><img id="slide4" src="s4.jpg"></a>
    <a href="#"><img id="slide5" src="s5.jpg"></a>
    </div>
    </body>
4

1 に答える 1

0

このコードは完全に正常に動作します。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<style type="text/css">
    img
    {
        display:none;   
    }
</style>


</head>

<body>
    <div>
        <a href="#"><img id="slide1" src="1.png"></a>
        <a href="#"><img id="slide2" src="2.png"></a>
        <a href="#"><img id="slide3" src="3.png"></a>
        <a href="#"><img id="slide4" src="4.png"></a>
        <a href="#"><img id="slide5" src="5.png"></a>
    </div>
    <script type="text/javascript">
        var slides=new Array("slide1","slide2","slide3","slide4","slide5");
        var slideCntr = 1;
        setInterval(slideShow,3000);

        function slideShow()
        {
            //alert('called');
            for(var i = 1 ; i < slides.length+1 ; i++)
            {
                document.getElementById("slide"+i).style.display =  "none"; 
            }
            document.getElementById("slide"+slideCntr).style.display =  "block";
            slideCntr+=1;
            if(slideCntr == slides.length+1) 
            {
                slideCntr = 1;
            }

        }
    </script>
</body>
</html>
于 2013-05-28T19:36:09.247 に答える