Jquery 正在加载函数。单击
我很难理解我需要把Jquery 正在加载函数。单击,jquery,function,plyr.js,Jquery,Function,Plyr.js,我很难理解我需要把resizeBg()放在哪里使其工作。 例如,当用户单击按钮(btnNext)时,它会调用loadVideo,在事件准备就绪时,需要再次调用resizeBg()。但是不要给我看任何东西 和代码示例: var instance = Plyr.setup('.js-player', { controls: [], loop: { active: true }, debug: false, autoplay: true,
resizeBg()放在哪里代码>使其工作。
例如,当用户单击按钮(btnNext
)时,它会调用loadVideo
,在事件准备就绪时,需要再次调用resizeBg()。但是不要给我看任何东西
和代码示例:
var instance = Plyr.setup('.js-player', {
controls: [],
loop: { active: true },
debug: false,
autoplay: true,
clickToPlay: false
});
var player = instance[0],
index = 0,
videoCount = video_list.length;
player.source = {
type: 'video',
sources: [
{
src: video_list[index].src,
provider: 'vimeo',
}
]
},
video_title = $('.video-title').text(video_list[index].title),
player.on('ready', function () {
player.volume = 0;
resizeBg();
},
btnPrev = $('.home-video-direction .prev').click(function (event) {
event.preventDefault();
if ((index - 1) > -1) {
index--;
loadVideo(index);
} else {
index = videoCount - 1;
loadVideo(index);
}
}),
btnNext = $('.home-video-direction .next').click(function (event) {
event.preventDefault();
if ((index + 1) < videoCount) {
index++;
loadVideo(index);
} else {
index = 0;
loadVideo(index);
}
}),
loadVideo = function (id) {
player.source = {
type: 'video',
sources: [
{
src: video_list[id].src,
provider: 'vimeo',
}
]
},
video_title = $('.video-title').text(video_list[id].title),
index = id;
Plyr.setup();
player.on('ready', function () {
player.volume = 0;
resizeBg();
})
});
}
var theWindow = $(window),
$bg = $(".video-intro .plyr__video-wrapper"),
aspectRatio = 1.77777777778;
function resizeBg() {
var w_H = theWindow.height(),
w_W = theWindow.width(),
sum = w_W / w_H;
if ( (w_W / w_H) < aspectRatio ) {
$bg
.removeClass('bgwidth')
.addClass('bgheight')
.css({
width: (w_H * aspectRatio),
left: (w_W - (w_H * aspectRatio)) / 2
});
} else {
$bg.removeClass('bgheight').addClass('bgwidth');
}
theWindow.resize(resizeBg).trigger("resize");
var instance=Plyr.setup(“.js player”{
控件:[],
循环:{active:true},
调试:错误,
自动播放:对,
单击播放:false
});
var player=实例[0],
指数=0,
videoCount=视频列表长度;
player.source={
键入:“视频”,
资料来源:[
{
src:video_list[index].src,
提供者:“vimeo”,
}
]
},
视频标题=$('.video title').text(视频列表[index].title),
player.on('ready',function(){
player.volume=0;
resizeBg();
},
btnPrev=$('.home video direction.prev')。单击(函数(事件){
event.preventDefault();
如果((索引-1)>-1){
索引--;
加载视频(索引);
}否则{
索引=视频计数-1;
加载视频(索引);
}
}),
btnNext=$('.home video direction.next')。单击(函数(事件){
event.preventDefault();
如果((索引+1)
我发现了我犯的一个错误。基本上是DOM。我将这些变量从函数中删除
var theWindow = $(window),
$bg = $(".video-intro .plyr__video-wrapper"),
aspectRatio = 1.77777777778;
因为它们附加在prev DOM元素上。$bg
存在,但插件在上加载视频数据后添加的不是新DOM元素上的点。单击
所以这个函数需要如下所示
function resizeBg() {
var theWindow = $(window),
$bg = $(".video-intro .plyr__video-wrapper"),
aspectRatio = 1.77777777778,
w_H = theWindow.height(),
w_W = theWindow.width(),
sum = w_W / w_H;
if ( (w_W / w_H) < aspectRatio ) {
$bg
.removeClass('bgwidth')
.addClass('bgheight')
.css({
width: (w_H * aspectRatio),
left: (w_W - (w_H * aspectRatio)) / 2
});
} else {
$bg.removeClass('bgheight').addClass('bgwidth');
}
函数resizeBg(){
var theWindow=$(窗口),
$bg=$(“.video intro.plyr\uuu video-wrapper”),
aspectRatio=1.778,
w_H=窗口高度(),
w_w=窗口宽度(),
总和=w_w/w_H;
如果((w_w/w_H)
我在链接到一堵文本墙时遇到了另一种错误:Hi@JanAndersen,是的,但我认为错误不会影响这个函数,因为在加载时,一个视频正在显示,并且还有一个函数给他的值(宽度和高度)。您有一个名为“plyr\uu video-embed”的类设置为高度:0,没有宽度规格。在Chrome inspect中将其手动设置为宽度:100%和高度:100%将显示视频并继续用于所有导航。我只是不知道您在哪里设置它。@JanAndersen。plyr\uu video-embed
具有内联宽度和左侧。这是我的动态功能在resizeBg()上
正在做这部分。同样的div
通过检查aspectRatio(16:9)来获取类.bghight
或.bgwidth
。默认情况下,是的,该div的高度为0;
,这是来自插件CSS。但当您单击“下一步”时,插件将重新生成所有标记并删除所有类和内联样式。这就是我需要的原因要在单击时再次调用函数resizeBg()
,请获取该样式