在destroySlider()不起作用后删除了removeAttr() - bxslider

时间:2017-09-27 14:23:28

标签: javascript jquery bxslider

我有一个包含项目的部分,它变成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()不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你在做:

slider.destroySlider();

删除'style'之前,请执行以下操作:

jQuery(".slider").removeAttr('style');

该元素不再存在,因此它没有样式属性。

<强>尝试

destroySlider尝试清空jquery中的innerHTMLhtml()之后:

jQuery("{parent id, not .slider}").html("")

这会清空包含滑块元素

的父元素

最佳