2017-09-27 72 views
0

我有一个项目的部分,它变成755px下的滑块。所以在窗口调整大小检查,如果该滑块存在,然后将其销毁(以便有人调整窗口时,它将被正确调整大小)。destroySlider()不工作后removeAttr() - bxslider

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

你添加的父元素您的** HTML **代码请 –

+0

什么前你试图做什么?当屏幕> 750时,你想要移除滑块吗?目前,您正在重新调整大小无限重新创建滑块。 – Obsidian

+0

@MehdiBouzidi - 添加html代码 – aidadev

回答

0

你正在做的:

slider.destroySlider(); 

删除“风格”之前,所以当你:

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

元素不存在了,因此它没有任何样式属性。

试试

destroySlider空jQuery中的innerHTMLhtml()

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

这清空包含滑动部件

最佳