gpt4 book ai didi

javascript - 有什么方法可以在应用元素后从元素中删除 fitVids() 吗?

转载 作者:行者123 更新时间:2023-11-29 19:56:21 24 4
gpt4 key购买 nike

我正在使用 FitVids对于响应式视频。我像这样实例化它:

$("#thing-with-videos").fitVids();  

我希望将 fitVids() 应用到屏幕尺寸低于 480px 的一个特定元素,我已经实现了它。但是,出于显示目的,如果用户调整浏览器大小以检查小宽度的显示,我还需要应用 fitVids(),我已经做了类似这样的事情

jQuery(window).resize( function(){
$("#other-thing-with-videos.small_width").fitVids();
});

... 效果很好,但是,因为 fitVids() 似乎应用于引用的 DOM 元素,而不是像我最初想的那样引用类,这意味着删除类(对于更宽的屏幕尺寸)并没有像我想的那样消除 fitVids() 的影响。

那么有什么方法可以删除我在元素上调用的 fitVids() 吗?

编辑 - 我想知道 unbind 是否方法可以用于此吗?

最佳答案

以下将删除父 div 的类和任何样式:

$('#container').fitVids();
$("#btn").click(function ()
{
$(".fluid-width-video-wrapper").removeClass("fluid-width-video-wrapper").removeAttr("style");
});

这几乎消除了 FitVid 的影响。

jsFiddle:http://jsfiddle.net/hescano/m6Jwx/1/

编辑:我认为这个解决方案效果更好:

$.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
};

你只需像这样从你的元素中调用它:

$("#myDiv").unFitVids();

jsFiddle:http://jsfiddle.net/hescano/m6Jwx/2/

我能看到的唯一缺点是,因为我从 DOM 中删除元素,克隆它们,并将它们放在 div 父级中,如果视频已经在播放,它将停止。

关于javascript - 有什么方法可以在应用元素后从元素中删除 fitVids() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15961004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com