2017-09-27 68 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("") 

這清空包含滑動部件

最佳