我正在使用猫头鹰旋转木马& nivo-lightbox在弹出窗口中显示视频,这一切都运行正常,但我想获取YouTube的URL,以便我可以根据查看的视频更新数据库。
我一直在做我未完成的错误
$('a').nivoLightbox({
effect: 'fade',
clickOverlayToClose: false,
onInit: function () { },
beforeShowLightbox: function () { },
afterShowLightbox: function () {
console.log("I am here");
var vid = $(this).attr("href");
console.log("vid" + vid);
updateVideo();
}
});
function updateVideo() {
console.log("I am here..in ");
}
如何在上述情况下获取YoutubeID
答案 0 :(得分:2)
在这里。调用afterShowLightbox
时,DOM已更改。
尝试使用以下代码获取网址
var vid = $(e[0][0]).find('iframe').attr('src');
Codepen:https://codepen.io/anon/pen/bLRjQY
检查浏览器控制台中的URL
afterShowLightbox: function (e) {
console.log("I am here");
//var vid = $(this).attr("href");
var vid = $(e[0][0]).find('iframe').attr('src');
console.log("vid" + vid);
updateVideo();
}
答案 1 :(得分:1)
试试beforeShowLightBox
:
https://codepen.io/anon/pen/rJwrqP
beforeShowLightbox: function(ele) {
var vid = $(this.el).attr("href");
console.log("vid" + vid); //Call Update function
},
答案 2 :(得分:1)
尝试将您的点击放在灯箱外面。
$("body").on("click", ".play-video-yt", function() {
var vid = $(this).attr("href");
console.log("vid: " + vid);
updateVideo();
});
//$(".play-video-yt").click(function () {
$('a').nivoLightbox({
effect: 'fade',
clickOverlayToClose: false,
onInit: function() {},
beforeShowLightbox: function() {},
afterShowLightbox: function() {
// console.log("I am here");
// var vid = $(this).attr("href");
// console.log("vid" + vid);
// updateVideo();
},
});

答案 3 :(得分:0)
您需要从
更改以下代码 var vid = $('a').attr("href");
致:
t: flip `S`V ! ((`$"|A|B|"; `$"|B|C|D|"; `$"|B|"); 1 2 3)