单击jQuery时打开shuffle

时间:2014-11-11 08:50:40

标签: javascript jquery html youtube

我正在尝试随机播放,我想点击一个按钮,然后在电影打开后自动播放。

此代码有效,但只有当电影完成后,您必须手动点击#schuffle并打开下一个项目。我想只需要点击一次,然后每次电影完成时都被这段代码激活,即返回0。

$(document).ready(function() {
  $("#schuffle").on('click',function(e) {
                        //ytplayer.getPlayerState() return 0 when video is finish
            //if youtube video is finish
             if ( ytplayer.getPlayerState() == 0 ) {
                //click random element out .koncentrator a.utwor
                var list = $('.koncentrator a.utwor');
                //click random .koncentrator a.utwor
                list.eq(parseInt(Math.random()*list.length)).click();
                //scroll to element
                $(".active").get(0).scrollIntoView();

     }
  });
});

2 个答案:

答案 0 :(得分:0)

这个怎么样?如果用户点击该按钮,它每秒都会激活一个带有CheckYoutubeVideo()的setInterval。

function checkYoutubeVideo()
{
    //ytplayer.getPlayerState() return 0 when video is finish
    //if youtube video is finish
    if ( ytplayer.getPlayerState() == 0 ) {

        //click random element out .koncentrator a.utwor
        var list = $('.koncentrator a.utwor');

        //click random .koncentrator a.utwor
        list.eq(parseInt(Math.random()*list.length)).click();

        //scroll to element
        $(".active").get(0).scrollIntoView();
    }
}

$(document).ready(function() {
    $("#schuffle").on('click',function(e) {
        setInterval(checkYoutubeVideo(), 1000);
    });
});

答案 1 :(得分:0)

  function playerStateChanged(state) {
      // State code 0 means playback ended
      if(state==0) {
        var list = $('.koncentrator a.utwor');
        list.eq(parseInt(Math.random()*list.length)).click();
        setTimeout(function(){
        $(".active").get(0).scrollIntoView();
        }, 1000);
      }
    }

这个工作!但是如果仅在单击按钮时再次激活此功能,再次单击关闭此功能?