jqgrid自动滚动 是滚动加载数据(lazyload),不是数据滚动显示,楼主清楚效果没有jqGrid选项配置 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 百度了一下lazyload,大体明白是啥意思了,就是滚动到相应的位置,数据才加载,是不? 大版主,我想实现jqgrid加载完数据后,因数据量比较多,有滚动条,在不用鼠标拖滚动条的前提下,能让数据自动滚动显示,这个能实现吗? 这个不是很多简单,获取数据的容器,设置容器scrollTop搞定,注意修改id选择器 jQuery("#grid").jqGrid({////////// gridComplete: function () { var div = $('#grid').closest('.ui-jqgrid-bdiv')[0]//////////////, scrollHeight = div.scrollHeight, scrollTop = 0; var timer= setInterval(function () { scrollTop += 5; div.scrollTop = scrollTop; if (scrollTop >= scrollHeight) clearInterval(timer);//滚动到底部,释放计时器 }, 100); }, 大版主 jqgrid用的是拼接起来的本地数据,我想让数据无限的滚动下去,也就是滚动到底部 再重头开始滚动,如此循环下去,我研究了好一回,就是搞不定,请版主再发神威。 jQuery("#grid").jqGrid({////////// gridComplete: function () { var div = $('#grid').closest('.ui-jqgrid-bdiv')[0]//////////////, scrollHeight = div.scrollHeight, scrollTop = 0; var timer= setInterval(function () { scrollTop += 5; div.scrollTop = scrollTop; if (scrollTop >= scrollHeight) scrollTop=0;//设置滚动头为0,重新开始就行了 }, 100); }, 可以重复滚动,不过有个小bug,忘记减去容器高度了,要空等待一段时间。。参考:jqgrid自动滚动数据内容demo gridComplete: function () { var div = $('#dataList').closest('.ui-jqgrid-bdiv')[0],offsetHeight = div.offsetHeight////////////// , scrollHeight = div.scrollHeight-offsetHeight, scrollTop = 0,timer; function scrollBody() { timer = setInterval(function () { scrollTop += 1; div.scrollTop = scrollTop; if (scrollTop >= scrollHeight) {//循环滚动 scrollHeight = div.scrollHeight - offsetHeight;//如果在滚动过程中添加过数据,需要重新结算scrollHeight if(scrollTop>=(ob3-16)*33){ scrollTop = 0; //循环滚动,重置滚动头即可 } } }, 50); } $('#dataList').mouseover(function () {//添加over事件,停止滚动 clearInterval(timer); });//.mouseout(function (e) {//添加mouseout事件,继续滚动 //scrollBody(); //}); if(ob3>16){ scrollBody() ;///开始滚动jqgrid内容 } }这是我最终的代码 不知道版主说的小bug是不是循环滚动的时候表格会闪,比如当前滚动第N行的时候,表格要先调到最顶端,然后再滚动第(N+1)行,如果是的话 我上面写的代码不会出现这个问题(其中33是我表格中每行的高度,ob3是表格的总行数,16是表格可看到的行数),但是我这段代码有个问题貌似,在IE10模式下,运行几分钟,浏览器会挂掉,但是在IE8模式下没有发现这个问题,不知道是什么情况,总之,非常感谢版主的帮助。 请参考jqGrid中文demo:http://blog.mn886.net/jqGrid/ js选中问题 来点牛人,,,兼容性 textarea的奇怪问题 如何使网页被浏览的时候自动加载一种特殊字体(注:是静态网页) 【Firefox】■■■■ 做个调查,大家做的页面都支持 Firefox 吗? 父窗口和子窗口参数传递问题 鼠标指针的修改 菜鸟问题:关于 href 属性 高分求教,在线等待。 请教 关闭一个网页的代码再吗写 谁能给个真正的动态添加行 删除行 并能保存数据到数据库的实例? 有哪位高手能帮小弟解决下问题(用C#和js)
gridComplete: function () { var div = $('#grid').closest('.ui-jqgrid-bdiv')[0]//////////////
, scrollHeight = div.scrollHeight, scrollTop = 0;
var timer= setInterval(function () {
scrollTop += 5;
div.scrollTop = scrollTop;
if (scrollTop >= scrollHeight) clearInterval(timer);//滚动到底部,释放计时器
}, 100);
},
大版主 jqgrid用的是拼接起来的本地数据,我想让数据无限的滚动下去,也就是滚动到底部 再重头开始滚动,如此循环下去,我研究了好一回,就是搞不定,请版主再发神威。
gridComplete: function () {
var div = $('#grid').closest('.ui-jqgrid-bdiv')[0]//////////////
, scrollHeight = div.scrollHeight, scrollTop = 0;
var timer= setInterval(function () {
scrollTop += 5;
div.scrollTop = scrollTop;
if (scrollTop >= scrollHeight) scrollTop=0;//设置滚动头为0,重新开始就行了
}, 100);
},
var div = $('#dataList').closest('.ui-jqgrid-bdiv')[0],offsetHeight = div.offsetHeight//////////////
, scrollHeight = div.scrollHeight-offsetHeight, scrollTop = 0,timer;
function scrollBody() {
timer = setInterval(function () {
scrollTop += 1;
div.scrollTop = scrollTop;
if (scrollTop >= scrollHeight) {//循环滚动
scrollHeight = div.scrollHeight - offsetHeight;//如果在滚动过程中添加过数据,需要重新结算scrollHeight
if(scrollTop>=(ob3-16)*33){
scrollTop = 0; //循环滚动,重置滚动头即可
}
}
}, 50);
}
$('#dataList').mouseover(function () {//添加over事件,停止滚动
clearInterval(timer);
});//.mouseout(function (e) {//添加mouseout事件,继续滚动
//scrollBody();
//});
if(ob3>16){
scrollBody() ;///开始滚动jqgrid内容
}
}
这是我最终的代码 不知道版主说的小bug是不是循环滚动的时候表格会闪,比如当前滚动第N行的时候,表格要先调到最顶端,然后再滚动第(N+1)行,如果是的话 我上面写的代码不会出现这个问题(其中33是我表格中每行的高度,ob3是表格的总行数,16是表格可看到的行数),但是我这段代码有个问题貌似,在IE10模式下,运行几分钟,浏览器会挂掉,但是在IE8模式下没有发现这个问题,不知道是什么情况,总之,非常感谢版主的帮助。