2017-12-19 37 views
1

これは、hereと同様の質問です。私は成功したajaxコールの後に私の滑らかなカルーセルの仕事を作ろうとしています。そこにすべてのソリューションを試してみましたが、それでも私のために動作していないようです。Ajaxコール後にSlickが動作しない

.reviews-ページカルーセルツルツル

$('.reviews-page-carousel').slick({ 
    arrows: false, 
    slidesToShow: 1, 
    variableWidth: true, 
    centerPadding: '10px' 
}); 

AJAX呼び出し、この同様

$.ajax({ 
    type: "GET", 
    url: review_url + "?page=" + page, 
    success: function(result) { 
     $('.reviews-page-carousel').slick('unslick'); /* ONLY remove the classes and handlers added on initialize */ 
     $('.reviews-page-carousel').slick(getSliderSettings()); /* Initialize the slick again */ 
    } 
}); 

の両方が、このエラーを与える試みた

$.ajax({ 
    type: "GET", 
    url: review_url + "?page=" + page, 
    success: function(result) { 
     $('.reviews-page-carousel').slick('unslick').slick('reinit'); 
    } 
}) 

捕捉されない例外TypeErrorを:できない未定義の読み取りプロパティ 'unslick'

+0

$を使用してみてくださいunslick()( 'レビュー - ページカルーセル。')。 $( '。reviews-page-carousel')の代わりに。slick( 'unslick'); –

+0

@DeepakKumarTPエラー:Uncaught TypeError:$(...)。unslickは関数ではありません – Jason

+0

$( '。reviews-page-carousel')。slick( 'unslick');この行のチェックを外してくださいhttps://stackoverflow.com/questions/36852761/slick-jquery-typeerror-cannot-read-property-unslick-of-undefined –

答えて

0

要求を呼び出した後、滑らかなスライダを初期化するためにタイムアウトを設定します。

var options = { 
    arrows: false, 
    slidesToShow: 1, 
    variableWidth: true, 
    centerPadding: '10px' 
} 

$.ajax({ 
    type: "GET", 
    url: review_url+"?page="+page, 
    success: function(result){ 
     setTimeout(function() { 
      $(".reviews-page-carousel").slick(options) 
     }, 500); 
    } 
}) 

更新:開始時に滑らかなスライダを初期化しないでください。時間切れでajaxの後に初期化するだけです。それはあなたのために働くはずです。

+0

これを試してこのエラーが発生しました:Uncaught TypeError:ヌルの 'add'プロパティを読み取れません。 – Jason

+0

上記のアップデートを見て、それを試してください:)。そして開始時に滑らかに初期化しないでください。単にajaxリクエストを要求した後で初期化してください。 –

+0

同じエラーが発生しました。 Btwには構文エラーがあるようです – Jason

0

ソリューション

var options = { 
    arrows: false, 
    slidesToShow: 1, 
    variableWidth: true, 
    centerPadding: '10px' 
} 

アヤックス

$.ajax({ 
     type: "GET", 
     url: review_url+"?page="+page, 
     success: function(result){ 

      setTimeout(function() { 
       $(".reviews-page-carousel").not('.slick-initialized').slick(options) 
      }, 500); 
関連する問題