Jquery 滚屏
转:雨里木
Jquery 滚屏
- #scrollDiv
- {
- width: 835px;
- height: 230px;
- min-height: 25px;
- line-height: 25px;
- overflow: hidden;
- }<div id="scrollDiv">
- <ul>
- <li>这是第1行</li>
- <li>这是第2行</li>
- <li>这是第3行</li>
- <li>这是第4行</li>
- <li>这是第5行</li>
- <li>这是第6行</li>
- <li>这是第7行</li>
- </ul></div>
- <img src="../images/uparrow.png" width="24" height="22" id="btn1" alt=""/>
- <img src="../images/downarrow.png" width="24" height="22" id="btn2" alt=""/>
复制代码Jquery代码:
- (function ($) {
- $.fn.extend({
- Scroll: function (opt, callback) {
- //参数初始化
- if (!opt) var opt = {};
- var _btnUp = $("#" + opt.up); //Shawphy:向上按钮
- var _btnDown = $("#" + opt.down); //Shawphy:向下按钮
- var _this = this.eq(0).find("ul:first");
- var lineH = _this.find("li:first").height(), //设置行高
- line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10),
- //每次滚动的行数,默认为一屏,即父容器高度
- speed = opt.speed ? parseInt(opt.speed, 10) : 500; //卷动速度,数值越大,速度越慢(毫秒)
- var upHeight = 0 - line * lineH;
- //向上翻页函数
- var scrollUp = function () {
- _btnUp.unbind("click", scrollUp); //Shawphy:取消向上按钮的函数绑定
- _this.animate({
- marginTop: upHeight
- }, speed, function () {
- for (i = 1; i <= line; i++) {
- _this.find("li:first").appendTo(_this);
- }
- _this.css({ marginTop: 0 });
- _btnUp.bind("click", scrollUp); //Shawphy:绑定向上按钮的点击事件
- });
- }
- //向下翻页函数
- var scrollDown = function () {
- _btnDown.unbind("click", scrollDown);
- for (i = 1; i <= line; i++) {
- _this.find("li:last").show().prependTo(_this);
- }
- _this.css({ marginTop: upHeight });
- _this.animate({
- marginTop: 0
- }, speed, function () {
- _btnDown.bind("click", scrollDown);
- });
- }
- //鼠标事件绑定
- _btnUp.css("cursor", "pointer").click(scrollUp);
- _btnDown.css("cursor", "pointer").click(scrollDown);
- }
- })})(jQuery);
复制代码另外一种解决方案:直接使用javascript的scrolltop
HTML代码相同
- function down() {
- var o = document.getElementById("scrollDiv");
- var n1 = parseInt(o.scrollTop);
- var n2 = parseInt(o.clientHeight);
- var n3 = parseInt(o.scrollHeight);//
- if (n1 + n2 == n3) {//
- alert('end!');//
- } else {
- o.scrollTop = n1 + 66;
- //} }
- function up() {
- var o = document.getElementById("scrollDiv");
- var n1 = parseInt(o.scrollTop);
- var n2 = parseInt(o.clientHeight);
- var n3 = parseInt(o.scrollHeight);
- o.scrollTop -= 66;
- }
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论