手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >一个JQuery写的点击上下滚动的小例子
一个JQuery写的点击上下滚动的小例子
摘要:功能需求:1、滚动框内显示10条记录;2、有向上和向下滚动按钮,每次点击按钮向上或向下滚动记录条数,不自动滚动;3、记录条数不循环滚动,滚动...

功能需求:

1、滚动框内显示10条记录;

2、有向上和向下滚动按钮,每次点击按钮向上或向下滚动记录条数,不自动滚动;

3、记录条数不循环滚动,滚动到起点或终点则停止滚动。

下面介绍一个简单实现方法:

1、外层容器(div) overflow: hidden,内层列表(ul)

2、按钮点击事件触发一个修改列表的函数

3、应用animate实现动画效果

具体不再啰嗦,直接上代码

CSS设置

复制代码 代码如下:

<style type="text/css">

ul, li

{

margin: 0;

padding: 0;

}

#scrollDiv

{

width: 300px;

height: 250px;

min-height: 25px;

line-height: 25px;

border: #ccc 1px solid;

overflow: hidden;

}

#scrollDiv li

{

height: 25px;

padding-left: 10px;

}

</style>

JQuery 代码

复制代码 代码如下:

<script type="text/javascript">

(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(); //获取行高

var line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10); //每次滚动的行数,默认为一屏,即父容器高度

var speed = opt.speed ? parseInt(opt.speed, 10) : 600; //卷动速度,数值越大,速度越慢(毫秒)

var m = line; //用于计算的变量

var count = _this.find("li").length; //总共的<li>元素的个数

var upHeight = line * lineH;

function scrollUp() {

if (!_this.is(":animated")) { //判断元素是否正处于动画,如果不处于动画状态,则追加动画。

if (m < count) { //判断 m 是否小于总的个数

m += line;

_this.animate({ marginTop: "-=" + upHeight + "px" }, speed);

}

}

}

function scrollDown() {

if (!_this.is(":animated")) {

if (m > line) { //判断m 是否大于一屏个数

m -= line;

_this.animate({ marginTop: "+=" + upHeight + "px" }, speed);

}

}

}

_btnUp.bind("click", scrollUp);

_btnDown.bind("click", scrollDown);

}

});

})(jQuery);

$(function () {

$("#scrollDiv").Scroll({ line: 10, speed: 500,up: "btn1", down: "btn2" });

});

</script>

可以设置$("#scrollDiv").Scroll({ line: 10, speed: 500,up: "btn1", down: "btn2" });对滚动按钮,滚动行数,滚动速度进行设置。

Html Body 内容

复制代码 代码如下:

<body>

<p>

信息滚动栏DEMO:</p>

<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>

<li>这是滚动信息的第8行</li>

<li>这是滚动信息的第9行</li>

<li>这是滚动信息的第10行</li>

<li>这是滚动信息的第11行</li>

<li>这是滚动信息的第12行</li>

<li>这是滚动信息的第13行</li>

<li>这是滚动信息的第14行</li>

<li>这是滚动信息的第15行</li>

<li>这是滚动信息的第16行</li>

<li>这是滚动信息的第17行</li>

<li>这是滚动信息的第18行</li>

<li>这是滚动信息的第19行</li>

<li>这是滚动信息的第20行</li>

<li>这是滚动信息的第21行</li>

<li>这是滚动信息的第22行</li>

<li>这是滚动信息的第23行</li>

<li>这是滚动信息的第24行</li>

<li>这是滚动信息的第25行</li>

<li>这是滚动信息的第26行</li>

<li>这是滚动信息的第27行</li>

<li>这是滚动信息的第28行</li>

<li>这是滚动信息的第29行</li>

<li>这是滚动信息的第30行</li>

<li>这是滚动信息的第31行</li>

<li>这是滚动信息的第32行</li>

</ul>

</div>

<button id="btn1">

上滚</button>

<button id="btn2">

下滚</button>

</body>

【一个JQuery写的点击上下滚动的小例子】相关文章:

Jquery使用css方法改变样式实例

一些很实用且必用的小脚本代码第1/5页

jQuery实现页面内锚点平滑跳转特效的方法总结

jQuery获取上传文件的名称的正则表达式

必须点击广告才能进入的代码

JQuery中DOM加载与事件执行实例分析

jquery实现弹出层效果实例

JQuery中attr方法和removeAttr方法用法实例

jQuery聚合函数实例

JQuery中DOM事件合成用法实例分析

精品推荐
分类导航