jQuery实现滚动条一直处于最底部
相信大家有时候在展示一些实时数据展示并且数据量很大的时候,因为无法在同一页面看到最有效的数据,所以我们需要将滚动条至于底部,以便我们看到最需要的数据和信息;这里很明显的例子那拿windows的ping来说吧,当我们长ping的时候,这时候数据会越来越多,而且还是累加的,新数据又全部在后面,所以这个时候让滚动条一直处于底部就大有作为了!
大伙可以看一下,在windows的cmd中执行ping 地址 -t,这时候就会一直ping,刚开始的时候,数据可能比较小,同一屏就能看到
但时间一长,数据就越来越多,同一屏根本就无法看到,而且最有效的数据都在最底部,所以这个时候我们应该看到的是底部最想看到的数据
只要我们把滚动条处于底部,就达到我们的效果了!!!好啦,不多说了,先给大家看一下小实例,是以textarea和div来做的demo:
<textarea id="testScroll1" style="width:300px; height: 200px;border: 1px #ccc solid; resize:none;"></textarea> <div id="testScroll2" style="width:300px; height: 200px;border: 1px #ccc solid; overflow-y: scroll;float: left;"></div> <input type="button" value="Start" onclick="start();"> <input type="button" value="Stop" onclick="stop();">
这是我们需要的那个模拟的html元素,接下来才是关键:
var count = 1000; function start(){ $("#testScroll1").html(''); $("#testScroll2").html(''); timeBox = setInterval(function(){ $("#testScroll1").append('number:['+count+']--->I Love You\n') var scrollTop = $("#testScroll1")[0].scrollHeight; $("#testScroll1").scrollTop(scrollTop); $("#testScroll2").append('number:['+count+']--->I Love You<br/>') $("#testScroll2").scrollTop($("#testScroll2")[0].scrollHeight); count--; if(count == 0){ clearInterval(timeBox); count = 1000; } },1000); } function stop(){ count = 1000; clearInterval(timeBox); }
demo中的细节没有处理,还有请各位见谅,各位理解意思就行了,总结起来就是一句话:
$("#dom_id").scrollTop($("#dom_id")[0].scrollHeight);
这里提醒一下各位,如果效果没有出来,请注意元素是否超找对了!
展示效果给大伙儿看看:
是我们想要的效果吧!谢谢大家的关注!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。