Javascript 播放视频时停止bxslider
这是我们想要的序列Javascript 播放视频时停止bxslider,javascript,iframe,vimeo,bxslider,froogaloop,Javascript,Iframe,Vimeo,Bxslider,Froogaloop,这是我们想要的序列 滑块将自动启动 当视频幻灯片出现时,用户单击“播放”并观看视频 播放视频时,滑块应停止 当用户暂停视频时,滑块应启动 我们使用的是iframe而不是视频元素。如何实现此功能? <!DOCTYPE html> <html> <head> <title> Bix Slider Start On Hover </title> <link rel="stylesheet" href="css/jqu
iframe
而不是视频元素。如何实现此功能?
<!DOCTYPE html>
<html>
<head>
<title> Bix Slider Start On Hover </title>
<link rel="stylesheet" href="css/jquery.bxslider.css" />
<link rel="stylesheet" href="css/main.css" />
</head>
<body>
<div id="wrapper">
<div id="product-cards-wrapper" class="clearfix" >
<div class="product-card">
<ul class="product-card-bxSlider">
<li><img src="images/1.jpg" /></li>
<li><img src="images/2.jpg" /></li>
<li>
<iframe class="product-card-vimeo-player" id="player1" type="text/html" width="560" height="318" src="http://player.vimeo.com/video/126309467?api=1&player_id=player1" ></iframe>
</li>
<li><img src="images/3.jpg" /></li>
<li><img src="images/4.jpg" /></li>
</ul>
</div>
<div class="product-card">
<ul class="product-card-bxSlider">
<li><img src="images/1.jpg" /></li>
<li><img src="images/2.jpg" /></li>
<li>
<iframe class="product-card-vimeo-player" id="player2" type="text/html" width="560" height="318" src="http://player.vimeo.com/video/126309467?api=1&player_id=player2" ></iframe>
</li>
<li><img src="images/3.jpg" /></li>
<li><img src="images/4.jpg" /></li>
</ul>
</div>
<div class="product-card">
<ul class="product-card-bxSlider">
<li><img src="images/1.jpg" /></li>
<li><img src="images/2.jpg" /></li>
<li>
<iframe class="product-card-youtube-player" width="560" height="318" src="https://www.youtube.com/embed/ZLls1Wn6070?rel=0&autohide=0&modestbranding=1&showinfo=0&enablejsapi=1" frameborder="0" enablejsapi="1" allowfullscreen="" id="fitvid3"></iframe>
</li>
<li><img src="images/3.jpg" /></li>
<li><img src="images/4.jpg" /></li>
</ul>
</div>
<div class="product-card">
<ul class="product-card-bxSlider">
<li><img src="images/1.jpg" /></li>
<li><img src="images/2.jpg" /></li>
<li>
<iframe class="product-card-youtube-player" width="560" height="318" src="https://www.youtube.com/embed/ZLls1Wn6070?rel=0&autohide=0&modestbranding=1&showinfo=0&enablejsapi=1" frameborder="0" enablejsapi="1" allowfullscreen="" id="fitvid4"></iframe>
</li>
<li><img src="images/3.jpg" /></li>
<li><img src="images/4.jpg" /></li>
</ul>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script src="https://f.vimeocdn.com/js/froogaloop2.min.js"></script>
<script src="js/jquery.bxslider.min.js" ></script>
<script>
$(document).ready(function(){
// Load YouTube Frame API
(function(){
var s = document.createElement("script");
s.src = "http://www.youtube.com/player_api";
var before = document.getElementsByTagName("script")[0];
before.parentNode.insertBefore(s, before);
})();
jQuery('.product-card-vimeo-player').each(function(){
Froogaloop(this).addEvent('ready', ready);
});
function ready(playerID){
}
$('.product-card-bxSlider').each(function() {
var _this = $(this).bxSlider({
mode:'fade',
auto: false,
speed:200,
pause:3000,
controls:false,
slideWidth:700,
pager:false,
onSliderLoad: function() {
console.log('Slider loaded');
},
onSlideBefore: function() {
slideInit();
}
});
_this.mouseenter(function() {
_this.startAuto();
}).mouseleave(function() {
_this.stopAuto();
});
function slideInit(){
var currentNum = _this.getCurrentSlide();
if (_this.find('li').eq(currentNum).find('iframe').length > 0) {
var getFrame = _this.find('li').eq(currentNum).find('iframe').attr('id');
//knowing what type of video
var videoType = $('#'+getFrame).attr('class');
if(videoType == 'product-card-vimeo-player'){
vimeo(getFrame);
}else if(videoType == 'product-card-youtube-player'){
onYouTubeIframeAPIReady(getFrame);
}
}
}
//For Vimeo
function vimeo(id){
var iframe = document.getElementById(id);
var player = $f(iframe);
player.addEvent('play',vimeo_onPlay)
player.addEvent('pause', vimeo_onPause);
player.addEvent('finish', vimeo_onFinish);
}
function vimeo_onPlay(){
console.log('The video has been Playing');
_this.stopAuto();
}
function vimeo_onPause(){
console.log('The video has been Paused');
_this.startAuto();
}
function vimeo_onFinish(){
console.log('The video has been Finished');
_this.startAuto();
}
//For Youtube
function onYouTubeIframeAPIReady(id) {
player = new YT.Player(id, {
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(event) {
console.log('Everything is ready');
}
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.ENDED) {
console.log('video has been ended');
_this.startAuto();
} else if (event.data == YT.PlayerState.PLAYING) {
console.log('Video has been Playing');
_this.stopAuto();
} else if (event.data == YT.PlayerState.PAUSED) {
console.log('Video has been paused');
_this.startAuto();
}
}
});
});
</script>
</body>
</html>
Bix滑块悬停启动
-
-
-
-
$(文档).ready(函数(){
//加载YouTube帧API
(功能(){
var s=document.createElement(“脚本”);
s、 src=”http://www.youtube.com/player_api";
var before=document.getElementsByTagName(“脚本”)[0];
before.parentNode.insertBefore(s,before);
})();
jQuery('.product card vimeo player')。每个(函数(){
Froogaloop(this).addEvent(“就绪”,就绪);
});
功能就绪(playerID){
}
$('.product card bxSlider')。每个(函数(){
var\u this=$(this).bxSlider({
模式:'fade',
汽车:错,
速度:200,,
暂停:3000,
控件:false,
滑动宽度:700,
传呼机:错,
onSliderLoad:function(){
log('Slider-loaded');
},
onSlideBefore:function(){
slideInit();
}
});
_this.mouseenter(函数(){
_这个。startAuto();
}).mouseleave(函数(){
_这个.stopAuto();
});
函数slideInit(){
var currentNum=_this.getCurrentSlide();
if(_this.find('li').eq(currentNum).find('iframe').length>0){
var getFrame=_this.find('li').eq(currentNum).find('iframe').attr('id');
//知道什么类型的视频
var videoType=$('#'+getFrame).attr('class');
if(videoType==“产品卡vimeo播放器”){
vimeo(getFrame);
}else if(videoType==“产品卡youtube播放器”){
onyoutubeiframeapiredy(getFrame);
}
}
}
//维梅奥
功能vimeo(id){
var iframe=document.getElementById(id);
var player=$f(iframe);
player.addEvent('play',vimeo_onPlay)
player.addEvent('pause',vimeo_onPause);
player.addEvent('finish',vimeo_onFinish);
}
函数vimeo_onPlay(){
log(“视频一直在播放”);
_这个.stopAuto();
}
函数vimeo_onPause(){
log(“视频已暂停”);
_这个。startAuto();
}
函数vimeo_onFinish(){
log(“视频已经完成”);
_这个。startAuto();
}
//为Youtube
函数onYouTubeIframeAPIReady(id){
玩家=新的YT玩家(id{
活动:{
“onReady”:onPlayerReady,
“onStateChange”:onPlayerStateChange
}
});
}
函数onPlayerReady(事件){
log(“一切就绪”);
}
函数onPlayerStateChange(事件){
如果(event.data==YT.PlayerState.end){
console.log(“视频已结束”);
_这个。startAuto();
}else if(event.data==YT.PlayerState.PLAYING){
log(“视频一直在播放”);
_这个.stopAuto();
}else if(event.data==YT.PlayerState.PAUSED){
log(“视频已暂停”);
_这个。startAuto();
}
}
});
});
请发布与您的问题相关的JavaScript/jQuery、CSS和HTML。使用以下任何或所有服务创建演示:、、或代码段(位于文本编辑器工具栏上的第7个图标或CTRL+M)。