javascript - 如何进行随机洗牌?

标签 javascript

如何让视频播放非常随机? (现在它在 French, Nederlands 之后和 Nederlands, French 之后播放,但我想随机播放这两个)

var playing ='FR';
function video_idle() {
    $('#mediaplayer').attr('src',playing + '.mp4' ).show(); 
    mediaplay_video= document.getElementById('mediaplayer');  
    mediaplay_video.play();  
    mediaplay_video.onended = function(e) {
      console.log('>>> Playing finished: ', e);
      if(playing ==='FR') {
        playing='NL';
        video_idle();
      } else {
        playing='FR';
        video_idle();
      }      
    };   
}

最佳答案

假设您只想在两种可能的语言之间来回切换,您可以使用 Math.round(Math.random()) ,这将为您提供 0 和 1 的值(在 JavaScript 中将测试为真或假):

var playing ='FR';
function video_idle() {
    $('#mediaplayer').attr('src',playing + '.mp4' ).show(); 
    mediaplay_video= document.getElementById('mediaplayer');  
    mediaplay_video.play();  
    mediaplay_video.onended = function(e) {
      console.log('>>> Playing finished: ', e);
      if(Math.round(Math.random())) {
        playing='NL';
        video_idle();
      } else {
        playing='FR';
        video_idle();
      }      
    };   
}

如果你有更多的语言,或者你期望语言的数量增加,你会想要考虑@Lars Ebert 提出的解决方案。

关于javascript - 如何进行随机洗牌?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29791376/

相关文章:

javascript - 如何为数组中的每个元素分配随机颜色?

javascript - Eslint 的正确 YAML - 值不应超过 1 个项目 - 无多个空行

javascript - angularjs ngRepeat 有时我无法向下滚动

javascript - 在javascript中将大量数据库结果转换为对象数组

javascript - 用于 jquery 的鼠标事件,用于单击时的选择

javascript - 使用不同的查询字符串重新打开相同的 Colorbox

javascript - 如何使用原型(prototype)函数更新实例属性并从另一个函数访问它?

javascript - 如何使用 jQuery 在两个元素之间切换类

javascript - 有没有办法使用javascript隐藏WebView中的按钮?(A2HS)按钮

javascript - 如何一次在 session 中传递两个javascript变量