Jquery 滚屏

发布于 2022-09-30 18:52:54 字数 7926 浏览 11 评论 0

转:雨里木

Jquery 滚屏

  1. #scrollDiv
  2.         {
  3.             width: 835px;
  4.             height: 230px;
  5.             min-height: 25px;
  6.             line-height: 25px;
  7.             overflow: hidden;
  8.         }<div id="scrollDiv">
  9.   <ul>
  10.       <li>这是第1行</li>
  11.         <li>这是第2行</li>
  12.            <li>这是第3行</li>
  13.               <li>这是第4行</li>
  14.      <li>这是第5行</li>
  15.      <li>这是第6行</li>
  16.             <li>这是第7行</li>
  17.                                                                               
  18. </ul></div>
  19. <img src="../images/uparrow.png" width="24" height="22" id="btn1" alt=""/>
  20. <img src="../images/downarrow.png" width="24" height="22" id="btn2" alt=""/>

复制代码Jquery代码:

  1. (function ($) {
  2.     $.fn.extend({
  3.         Scroll: function (opt, callback) {
  4.             //参数初始化
  5.             if (!opt) var opt = {};
  6.             var _btnUp = $("#" + opt.up); //Shawphy:向上按钮
  7.             var _btnDown = $("#" + opt.down); //Shawphy:向下按钮
  8.             var _this = this.eq(0).find("ul:first");
  9.             var lineH = _this.find("li:first").height(), //设置行高
  10.                 line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10),
  11.           //每次滚动的行数,默认为一屏,即父容器高度
  12.                 speed = opt.speed ? parseInt(opt.speed, 10) : 500; //卷动速度,数值越大,速度越慢(毫秒)
  13.             var upHeight = 0 - line * lineH;
  14.             //向上翻页函数
  15.             var scrollUp = function () {
  16.                 _btnUp.unbind("click", scrollUp); //Shawphy:取消向上按钮的函数绑定
  17.                 _this.animate({
  18.                     marginTop: upHeight
  19.                 }, speed, function () {
  20.                     for (i = 1; i <= line; i++) {
  21.                         _this.find("li:first").appendTo(_this);
  22.                     }
  23.                     _this.css({ marginTop: 0 });
  24.                     _btnUp.bind("click", scrollUp); //Shawphy:绑定向上按钮的点击事件
  25.                 });
  26.             }
  27.             //向下翻页函数
  28.             var scrollDown = function () {
  29.                 _btnDown.unbind("click", scrollDown);
  30.                 for (i = 1; i <= line; i++) {
  31.                     _this.find("li:last").show().prependTo(_this);
  32.                 }
  33.                 _this.css({ marginTop: upHeight });
  34.                 _this.animate({
  35.                    marginTop: 0
  36.                 }, speed, function () {
  37.                     _btnDown.bind("click", scrollDown);
  38.                 });
  39.             }
  40.             //鼠标事件绑定
  41.             _btnUp.css("cursor", "pointer").click(scrollUp);
  42.             _btnDown.css("cursor", "pointer").click(scrollDown);
  43.         }
  44.     })})(jQuery);

复制代码另外一种解决方案:直接使用javascript的scrolltop

HTML代码相同

  1. function down() {
  2.             var o = document.getElementById("scrollDiv");
  3.             var n1 = parseInt(o.scrollTop);
  4.             var n2 = parseInt(o.clientHeight);
  5.             var n3 = parseInt(o.scrollHeight);//
  6.             if (n1 + n2 == n3) {//
  7.                 alert('end!');//
  8.             } else {
  9.                 o.scrollTop = n1 + 66;
  10.             //}        }
  11.         function up() {
  12.             var o = document.getElementById("scrollDiv");
  13.             var n1 = parseInt(o.scrollTop);
  14.             var n2 = parseInt(o.clientHeight);
  15.             var n3 = parseInt(o.scrollHeight);
  16.             o.scrollTop -= 66;
  17.         }

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文