JavaScript - 2019-08-26

JQueryで動画・画像をランダムに再生させる

画像の場合

HTML

<img class="js-random-item" src="image_01.jpg">

JQuery

<script>
  $(window).on('load', function() {
    var items = [
      'image_01.jpg',
      'image_02.jpg',
      'image_03.jpg'
    ];
    var randomItems = items[Math.floor(Math.random() * items.length)];
    $('.js-random-item').attr('src', randomItems);
  });
</script>

動画の場合

HTML

<video muted autoplay loop>
  <source class="js-random-item" src="movie_01.mp4">
</video>

HTML

<script>
  var items = [
    'movie_01.mp4',
    'movie_02.mp4',
    'movie_03.mp4'
  ];
  var randomItems = items[Math.floor(Math.random() * items.length)];
  $('.js-random-item').attr('src', randomItems);
</script>

解説

まずは今回、使用したメゾットの説明です。

  • Math.floor() は引数に指定した値の小数点以下を切り捨てます。
  • Math.random() は0以上1未満の疑似ランダムな数値を返します。
  • attr() はHTML要素の属性を取得・変更・追加することできます。

なので今回はitems.lengthで配列の長さを取得し、その中からランダムで取得した値をsrc属性にattr()メゾットを使用して変更しました。
この方法を使用すれば他にも色々なことに使えそうですね。

Related Posts

Related Posts

YouTube APIを使って視聴数ランキングを表示する(PHP)

2018-04-25

要素の高さをJQueryでそろえる方法

2017-01-11

JQueryでヘッダー固定時のアンカーリンク対策-レスポンシブ対応

2018-03-25

PCとスマホで見た時に画像切り替える方法

2017-02-22