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