Javascript 有没有办法将fitVids()从元素的后面删除';申请了什么?
我正在使用回复视频。我将其实例化如下:Javascript 有没有办法将fitVids()从元素的后面删除';申请了什么?,javascript,jquery,video,responsive-design,fitvids,Javascript,Jquery,Video,Responsive Design,Fitvids,我正在使用回复视频。我将其实例化如下: $("#thing-with-videos").fitVids(); $("#myDiv").unFitVids(); 我希望fitVids()应用于屏幕大小低于480px的一个特定元素,我已经实现了这一点。但是,出于显示目的,如果用户调整浏览器大小以检查小宽度的显示,我还需要应用fitVids(),我已经这样做了 jQuery(window).resize( function(){ $("#other-thing-with-videos.
$("#thing-with-videos").fitVids();
$("#myDiv").unFitVids();
我希望fitVids()
应用于屏幕大小低于480px的一个特定元素,我已经实现了这一点。但是,出于显示目的,如果用户调整浏览器大小以检查小宽度的显示,我还需要应用fitVids()
,我已经这样做了
jQuery(window).resize( function(){
$("#other-thing-with-videos.small_width").fitVids();
});
。。。但是,这很好,因为fitVids()
似乎应用于引用的DOM元素,而不是像我第一次想到的引用类,这意味着移除类(对于更宽的屏幕大小)并不会像我想的那样移除fitVids()
的效果
那么有没有办法删除我在元素上调用的fitVids()
编辑-我想知道该方法是否可以用于此操作?以下内容将删除父div中的类和任何样式:
$('#container').fitVids();
$("#btn").click(function ()
{
$(".fluid-width-video-wrapper").removeClass("fluid-width-video-wrapper").removeAttr("style");
});
这几乎消除了菲特维德效应
jsFiddle:
编辑:我认为此解决方案效果更好:
$.fn.unFitVids = function () {
var id = $(this).attr("id");
var $children = $("#" + id + " .fluid-width-video-wrapper").children().clone();
$("#" + id + " .fluid-width-video-wrapper").remove(); //removes the element
$("#" + id).append($children); //adds it to the parent
};
您只需从元素中调用它,如下所示:
$("#thing-with-videos").fitVids();
$("#myDiv").unFitVids();
jsFiddle:
我能看到的唯一缺点是,因为我从DOM中删除元素,克隆它们,并将它们放入div父级,如果视频已经在播放,它将停止。Hanlets代码是一个好主意,但它假设选择器中只有一个视频 下面的扩展代码在所有视频中循环
$.fn.unFitVids = function () {
$.each(this, function(i, el){
var $wrapper = $(".fluid-width-video-wrapper", el),
$children = $wrapper.children().clone();
$wrapper.remove();
$(el).append($children);
})
};
您可以简单地使用:
$(".fluid-width-video-wrapper iframe").unwrap();
但是“.fluid width video wrapper”是在延迟后应用的(文档加载后),因此您可以在延迟后启动该函数
setTimeout(function () {
$(".fluid-width-video-wrapper iframe").unwrap()
}, 300);
你能创建一个JSFIDLE示例吗?@HanletEscaño它非常复杂,是用引导wordpress和flexslider构建的。。。创建一个简化的测试用例需要很长时间。。。谢谢。@HanletEscaño抱歉,我刚刚意识到我在胡说八道,我根本不需要这个项目中的所有其他东西。这里有一个。。。我想做的是在应用fitVids()之后,通过JS将其从
#容器中删除。。。考虑得很好。谢谢你的帮助。。。实际上,同时我发现(大概是因为我的CSS规则),我还需要删除div元素本身。。。因此,如果父对象是.fluid width video wrapper
,我就设法在iframe上使用展开()。再次感谢你,我从来没有想过用这种方式来看待它。