我想解決爲什麼unslick方法在我成功調用ajax後調用它時不工作。我已閱讀this後,我期待爲slick-initialized
類,但我仍然得到錯誤unslick方法不起作用
TypeError: .$slides is null if (.$slides.parent().hasClass('slick-track'))
HTML
<div id="skills" class="skills_section">
<div>Slide 1</div>
<div>Slide 2</div>
<div>Slide 3</div>
</div>
當我初始化圓滑頁面上加載的標記看起來像這樣:
<div id="skills" class="skills_section slick-initialized slick-slider">
<div class="slick-list draggable">
<div class="slick-track">
<div class="slick-slide slick-cloned">Slide 1</div>
<div class="slick-slide slick-cloned">Slide 2</div>
<div class="slick-slide slick-cloned">Slide 3</div>
</div>
</div>
</div>
我有一個Ajax調用,將只需更換每個slick-slide
$.ajax({
type: 'get',
url: '/public/index',
dataType: 'script',
data: data_send,
success: function(data) {
unSlickCarousel();
slickCarousel();
}
});
功能
function slickCarousel() {
$('.skills_section').slick({
infinite: true,
slidesToShow: 3,
slidesToScroll: 1
});
}
function unSlickCarousel() {
if($('#skills').hasClass('slick-initialized')){
$('.skills_section').unslick();
}
}
但正如我剛纔所說,我得到的錯誤和HTML標記看起來像這樣
<div id="skills" class="skills_section slick-initialized slick-slider">
<div>Slide 1</div>
<div>Slide 2</div>
<div>Slide 3</div>
</div>
1)我不明白「我讀過這篇文章」是指什麼。 2)無論如何,我無法將您描述的問題與您發佈的代碼複製(http://jsfiddle.net/Palpatim/ezcot8o3/)。你能用MCVE更新嗎?浮動庫和頁面中的其他內容之間可能存在某種相互作用,但我們無法看到您迄今爲止所展示的內容。您還提到「替換每張幻燈片中的數據」,但您發佈的代碼並不這樣做。也許這個功能對你的結構做了些什麼? – Palpatim
感謝您抽出寶貴時間來研究並製作出js小提琴。以及數據肯定會改變(目前不能顯示你)。我仔細看看你已經做了什麼,看看是否有任何明顯的禮物本身 – Richlewis