2017-09-27 7 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'); 

要素はもうしたがって、存在しない、それは何のスタイル属性を持っていません。

はjqueryの中innerHTMLまたはhtml()を空にするdestroySlider試した後

をお試しください:

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

これは、スライダ要素ベスト

関連する問題