我有一个包含项目的部分,它变成755px以下的滑块。因此,在窗口调整大小时检查该滑块是否存在然后将其销毁(这样当有人调整窗口大小时,它将被正确调整大小)。
HTML
<div class="wrapper">
<div class="slider">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
</div>
</div>
的js
var slider;
jQuery(window).on('resize', function(){
if(jQuery(window).width() < 755){
// slider code goes here
slider = jQuery(".slider").bxSlider({
mode: 'horizontal',
});
}else{
if(jQuery(".wrapper .bx-wrapper").length){
slider.destroySlider();
jQuery(".slider").addClass('destroyed_slider');
jQuery(".slider").removeAttr('style');
jQuery(".slider .item").each(function(){
jQuery(this).removeAttr('style');
});
}
}
});
但是在destroySlider()之后我在滑块和物品上看到了一些奇怪的样式,因为destroySlider()应该销毁所有东西,但无论如何要解决它,从它们中移除样式属性但removeAttr()不是工作
奇怪的是jQuery(".slider").addClass('destroyed_slider');
正在运行,只有removeAttr()不起作用。有什么想法吗?
答案 0 :(得分:0)
你在做:
slider.destroySlider();
删除'style'之前,请执行以下操作:
jQuery(".slider").removeAttr('style');
该元素不再存在,因此它没有样式属性。
<强>尝试强>
在destroySlider
尝试清空jquery中的innerHTML
或html()
之后:
jQuery("{parent id, not .slider}").html("")
这会清空包含滑块元素
的父元素最佳