1

画像ギャラリーに再生ボタンを配置しようとしています。作業が必要な小さなコードがありますが、私の問題は、画像を一度に 1 つずつ表示することです。以下のコードは、すべての画像を一度に表示します。私が疑問に思っているのは、クラス名でこれを操作できるか、それとも配列を構築してそこから操作する必要があるかということです。これは、部分的に動作するコードで、一度に表示されます。シンプルなものが欠けているだけだと思います。

<script>
function slide_show() {
    var slides = document.getElementsByClassName("s"),
        i = slides.length;

    for(i=0; i<15;  i++) {
        slides[i].style.visibility = "visible";
        slides[i].style.transition="visibility 5s ease 5s"
    }   
}
</script>
4

2 に答える 2

0

a を使用しsetTimeoutて動きを遅らせ、いくつか追加opacityしてフェードインさせてみてください。

var count = 0;
function slide_show() {
  var slides = document.getElementsByClassName("s"),
    i = slides.length;

  if (count < i) {
     slides[count].style.visibility = "visible";
     slides[count].style.opacity = "1";
     slides[count].style.transition="opacity 5s ease 5s"
     count++;
     setTimeout(slide_show, 500);
  }    
}
slide_show();

opacity数字または数字を変更することでsetTimout、さまざまなフェード効果を得ることができます。このcodepenをチェックして、動作を確認してください。

于 2013-08-10T15:06:20.770 に答える