Javascript 弹出显示带有datalife引擎标签的视频
我需要一些关于javascript和datalife引擎的帮助 我的帖子上有一个youtube视频,显示在.tpl文件(模板文件)标签上 基本上,这会获取特定帖子“treyler”字段中的信息。在我的例子中,该值是youtube视频的iframe代码 我一直在研究,我发现这个javascript代码是我想要使用的Javascript 弹出显示带有datalife引擎标签的视频,javascript,jquery,datalife-engine,Javascript,Jquery,Datalife Engine,我需要一些关于javascript和datalife引擎的帮助 我的帖子上有一个youtube视频,显示在.tpl文件(模板文件)标签上 基本上,这会获取特定帖子“treyler”字段中的信息。在我的例子中,该值是youtube视频的iframe代码 我一直在研究,我发现这个javascript代码是我想要使用的 <script type="text/javascript"> var self = $(this) //button , content = $('.co
<script type="text/javascript">
var self = $(this) //button
, content = $('.content');
$('element_to_pop_up').bPopup({
onOpen: function() {
content.html(self.data('bpopup') || '');
},
onClose: function() {
content.empty();
}
});
</script>
var self=$(this)//按钮
,content=$('.content');
$('element_to_pop_up').bPopup({
onOpen:function(){
html(self.data('bpopup')| |');
},
onClose:function(){
content.empty();
}
});
我用
<div class="element_to_pop_up">[xfvalue_online]</div>
[xfvalue\u在线]
我给出了一些随机css,只是为了定义类“element\u to\u pop\u”,但出于某种原因,这似乎不起作用。你能给我一个在JSFIDLE页面上工作的代码示例吗?好的,从你遇到的问题来看,这里是一个基本示例,希望能为你指明正确的方向 HTML:
<button class="trailerbutton" data-trailerid="whatever">Pop Trailer</button>
<div class="hiddenTrailer" id="whatever">
<iframe width="560" height="315" src="//www.youtube.com/embed/jGGIgcFgnOk?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
<div id="my-popup">
<div class="content"></div>
</div>
$(function() {
$('.trailerbutton').click(function(e) {
e.preventDefault();
var content = $('.content');
var trailerid = $(this).data('trailerid');
var trailerhtml = $('#' + trailerid).html();
$('#my-popup').bPopup({
onOpen: function() {
content.html(trailerhtml || '');
},
onClose: function() {
content.empty();
}
});
});
});
.hiddenTrailer {
display: none;
}
#my-popup {
display:none;
background-color: #2B91AF;
border-radius: 10px;
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3);
color: #FFF;
cursor: pointer;
padding: 10px 20px;
text-align: center;
text-decoration: none;
}
<button class="trailerbutton">Pop Trailer</button>
<div class="hiddenTrailer">
<iframe width="560" height="315" src="//www.youtube.com/embed/jGGIgcFgnOk?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
<button class="trailerbutton">Pop Trailer</button>
<div class="hiddenTrailer">
<iframe width="560" height="315" src="//www.youtube.com/embed/fZ_JOBCLF-I" frameborder="0" allowfullscreen></iframe>
</div>
<div id="my-popup">
<div class="content"></div>
</div>
$(function() {
$('.trailerbutton').click(function(e) {
e.preventDefault();
var content = $('.content');
var trailerhtml = $(this).next('.hiddenTrailer').html();
$('#my-popup').bPopup({
onOpen: function() {
content.html(trailerhtml || '');
},
onClose: function() {
content.empty();
}
});
});
});
CSS:
<button class="trailerbutton" data-trailerid="whatever">Pop Trailer</button>
<div class="hiddenTrailer" id="whatever">
<iframe width="560" height="315" src="//www.youtube.com/embed/jGGIgcFgnOk?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
<div id="my-popup">
<div class="content"></div>
</div>
$(function() {
$('.trailerbutton').click(function(e) {
e.preventDefault();
var content = $('.content');
var trailerid = $(this).data('trailerid');
var trailerhtml = $('#' + trailerid).html();
$('#my-popup').bPopup({
onOpen: function() {
content.html(trailerhtml || '');
},
onClose: function() {
content.empty();
}
});
});
});
.hiddenTrailer {
display: none;
}
#my-popup {
display:none;
background-color: #2B91AF;
border-radius: 10px;
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3);
color: #FFF;
cursor: pointer;
padding: 10px 20px;
text-align: center;
text-decoration: none;
}
<button class="trailerbutton">Pop Trailer</button>
<div class="hiddenTrailer">
<iframe width="560" height="315" src="//www.youtube.com/embed/jGGIgcFgnOk?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
<button class="trailerbutton">Pop Trailer</button>
<div class="hiddenTrailer">
<iframe width="560" height="315" src="//www.youtube.com/embed/fZ_JOBCLF-I" frameborder="0" allowfullscreen></iframe>
</div>
<div id="my-popup">
<div class="content"></div>
</div>
$(function() {
$('.trailerbutton').click(function(e) {
e.preventDefault();
var content = $('.content');
var trailerhtml = $(this).next('.hiddenTrailer').html();
$('#my-popup').bPopup({
onOpen: function() {
content.html(trailerhtml || '');
},
onClose: function() {
content.empty();
}
});
});
});
在我的示例中,我选择通过一个按钮弹出拖车,该按钮的公共类为trailerbutton
。这允许我对所有trailerbutton
click事件使用公共JS代码
我还选择将YouTube iframe隐藏在按钮下方的div中。请注意,这有一个通过CSS隐藏的类hiddenTrailer
如您所见,我将要为data trailerid
属性中的每个按钮显示的拖车div的ID存储起来
我还有一个隐藏的“popup”占位符,名为mypopup
,它同样是用CSS隐藏的
当用户单击该按钮时,会触发JS事件,并根据“所有重要数据”属性将正确的尾部加载到就绪和等待弹出窗口中的content div中
。请注意,我必须将整个jQuery.bPopup.min.js粘贴到JavaScript窗口中,因此向下滚动查看真正的内容
编辑:
<button class="trailerbutton" data-trailerid="whatever">Pop Trailer</button>
<div class="hiddenTrailer" id="whatever">
<iframe width="560" height="315" src="//www.youtube.com/embed/jGGIgcFgnOk?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
<div id="my-popup">
<div class="content"></div>
</div>
$(function() {
$('.trailerbutton').click(function(e) {
e.preventDefault();
var content = $('.content');
var trailerid = $(this).data('trailerid');
var trailerhtml = $('#' + trailerid).html();
$('#my-popup').bPopup({
onOpen: function() {
content.html(trailerhtml || '');
},
onClose: function() {
content.empty();
}
});
});
});
.hiddenTrailer {
display: none;
}
#my-popup {
display:none;
background-color: #2B91AF;
border-radius: 10px;
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3);
color: #FFF;
cursor: pointer;
padding: 10px 20px;
text-align: center;
text-decoration: none;
}
<button class="trailerbutton">Pop Trailer</button>
<div class="hiddenTrailer">
<iframe width="560" height="315" src="//www.youtube.com/embed/jGGIgcFgnOk?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
<button class="trailerbutton">Pop Trailer</button>
<div class="hiddenTrailer">
<iframe width="560" height="315" src="//www.youtube.com/embed/fZ_JOBCLF-I" frameborder="0" allowfullscreen></iframe>
</div>
<div id="my-popup">
<div class="content"></div>
</div>
$(function() {
$('.trailerbutton').click(function(e) {
e.preventDefault();
var content = $('.content');
var trailerhtml = $(this).next('.hiddenTrailer').html();
$('#my-popup').bPopup({
onOpen: function() {
content.html(trailerhtml || '');
},
onClose: function() {
content.empty();
}
});
});
});
如果您希望此功能适用于多个帖子,可以执行以下操作:
HTML:
<button class="trailerbutton" data-trailerid="whatever">Pop Trailer</button>
<div class="hiddenTrailer" id="whatever">
<iframe width="560" height="315" src="//www.youtube.com/embed/jGGIgcFgnOk?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
<div id="my-popup">
<div class="content"></div>
</div>
$(function() {
$('.trailerbutton').click(function(e) {
e.preventDefault();
var content = $('.content');
var trailerid = $(this).data('trailerid');
var trailerhtml = $('#' + trailerid).html();
$('#my-popup').bPopup({
onOpen: function() {
content.html(trailerhtml || '');
},
onClose: function() {
content.empty();
}
});
});
});
.hiddenTrailer {
display: none;
}
#my-popup {
display:none;
background-color: #2B91AF;
border-radius: 10px;
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3);
color: #FFF;
cursor: pointer;
padding: 10px 20px;
text-align: center;
text-decoration: none;
}
<button class="trailerbutton">Pop Trailer</button>
<div class="hiddenTrailer">
<iframe width="560" height="315" src="//www.youtube.com/embed/jGGIgcFgnOk?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
<button class="trailerbutton">Pop Trailer</button>
<div class="hiddenTrailer">
<iframe width="560" height="315" src="//www.youtube.com/embed/fZ_JOBCLF-I" frameborder="0" allowfullscreen></iframe>
</div>
<div id="my-popup">
<div class="content"></div>
</div>
$(function() {
$('.trailerbutton').click(function(e) {
e.preventDefault();
var content = $('.content');
var trailerhtml = $(this).next('.hiddenTrailer').html();
$('#my-popup').bPopup({
onOpen: function() {
content.html(trailerhtml || '');
},
onClose: function() {
content.empty();
}
});
});
});
这里更新的行是var trailerhtml=$(this).next('.hiddenTrailer').html()代码>-我现在使用jQuery选择下一个hiddenTrailer
元素(即您按下的按钮下方的元素)
您是否尝试过将$('element\u to\u pop\u')
更改为$('.element\u to\u pop\u')
?我现在做了。我基本上拥有的是包装在我为CSS样式定义的框中的预告片。我想我叫错了。。。这基本上就是我所拥有的。正如你所知,我不能在那里使用标记[xfvalue\u treyler],所以我必须自己使用iframe代码。我遇到了一个问题,我不知道你是否能帮上忙。该按钮不会获取单个内容。。。我的意思是,如果1º柱,当我看到2º柱的预告片时,它将是相同的。。。但它应该是另一个one@PedroLino-查看我的更新-希望这会有所帮助。感谢您的耐心等待。我已经测试过了,但我认为这在Datalife引擎中不起作用。我们使用名为{content}的标记调用POST。这个标记检索帖子,并使用一个定义样式的.tpl文件(我想你可以称它为一篇帖子的默认html)。我正在编辑这个文件来输入预告片的代码。但我只能更改一个必须对所有对象都起作用的对象:/我已将div trailercainer放入其中,但它不起作用。还是一样的吗all@PedroLino-我现在简化了更新,这有帮助吗?确保更新JavaScript和模板。恐怕我对Datalife引擎没有任何经验,但希望这能推动您找到适合您的解决方案。太好了,五星:D谢谢!