我对 jquery 比较陌生,并且一直在尝试为 Wistia 视频播放器脚本创建一个函数,而不是一遍又一遍地堆叠相同的函数。某些页面将被应用到有多达 20 个视频,每个视频都需要特定的 url 才能播放。
原来的:
wistiaJQuery(document).ready(function () {
var url = window.location.href.toString();
// this will autoplay video with url 'www.my-site.com/a-name'
if (url.indexOf('a-name') != -1) {
wistiaJQuery('.a-name').click();
$(".wistia-fancybox #fancybox-overlay").css("display", "block");
}
// this will autoplay video with url 'www.my-site.com/b-name'
if (url.indexOf('b-name') != -1) {
wistiaJQuery('.b-name').click();
$(".wistia-fancybox #fancybox-overlay").css("display", "block");
}
// this will autoplay video with url 'www.my-site.com/c-name'
if (url.indexOf('c-name') != -1) {
wistiaJQuery('.c-name').click();
$(".wistia-fancybox #fancybox-overlay").css("display", "block");
}
});
变成这样的东西:
wistiaJQuery(document).ready(function () {
function playVideo(selector) {
$(selector).each(function () {
var url = window.location.href.toString();
var el = $(this);
var vid = function () {
if (url.indexOf(el) != -1) {
wistiaJQuery('.' + el).click();
$(".wistia-fancybox #fancybox-overlay").css("display", "block");
}
};
$(el).on('load', vid);
});
}
playVideo('a-name,b-name,c-name');
});