Nice Scroll出現問題。它工作正常,但是當我加載AJAX圖像它不起作用。有趣的是,當我調整窗口大小時,打開Firebug或其他任何東西,它就開始工作。NiceScroll在AJAX加載後不起作用
我該怎麼做才能自動做到這一點?
我想:
setTimeout(function(){
$("window").trigger('resize');
}, 0);
的AJAX加載功能後,但它不能正常工作。
Nice Scroll出現問題。它工作正常,但是當我加載AJAX圖像它不起作用。有趣的是,當我調整窗口大小時,打開Firebug或其他任何東西,它就開始工作。NiceScroll在AJAX加載後不起作用
我該怎麼做才能自動做到這一點?
我想:
setTimeout(function(){
$("window").trigger('resize');
}, 0);
的AJAX加載功能後,但它不能正常工作。
當div上的內容發生變化時,您需要調用nicescroll調整大小的方法。
$("your-div-name").getNiceScroll().resize()
請記住,如果圖像尺寸未在img標籤中設置,則需要在所有圖像完全加載時調用調整大小。
請您務必使用下面的代碼來解決您的問題。它適用於Ajax負載。
$("MYSCROLLCONTAINERS").getNiceScroll().remove();
$("div[id^='ascrail']").remove();
jQuery("MYSCROLLCONTAINERS").niceScroll({
autohidemode:false
});
這對我有效。
除了InuYaksa的回答以外如果您沒有訪問實現,您可以在內容包裝器上實現mouseover函數作爲解決方法。
// Call resize whenever mouse
$("#scroll-area").mouseover(function() {
$("#scroll-area").getNiceScroll().resize();
});
來自:http://eureka.ykyuen.info/2013/05/07/jquery-nicescroll-plugin-doesnt-work-for-dynamic-content/
改進鼠標懸停解決方案
//in the case of scrolling content loaded via AJAX
$(document).on('mouseover','#scroll-area', function() {
$(this).getNiceScroll().resize();
});
使用視/包
$(document).on('mouseover','#scroll-wrap', function() {
var widget_wrap=$(this);
var widget_viewport=$(this).parent();
widget_viewport.getNiceScroll(widget_wrap).resize();
});
最有可能的,你是A之前初始化不錯滾動jax請求完成。嘗試在Ajax請求的成功事件處理程序中初始化良好的滾動。 – Tariqulazam
問題是,當我去主頁(加載Ajax)和它的作品,但當我去靜態頁面(如聯繫人),然後我點擊菜單項加載ajax,然後它不工作當我改變窗口大小的時候。 –
是否有可能將您的代碼包含在小提琴中供我們查看? – Tariqulazam