一个JQuery写的点击上下滚动的小例子

功能需求:
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 style="font-family: 微软雅黑; font-weight: bold;">
信息滚动栏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>

(0)

相关推荐

  • jQuery简单实现上下,左右滑动的方法

    本文实例讲述了jQuery简单实现上下,左右滑动的方法.分享给大家供大家参考,具体如下: 渐变移动出足够的空白 -> 淡出最后一个 ->渐变移动出足够的空白 我们要做的是向左移动效果.这个效果用时需添加一个DIV设置超出部分不显示,这样就可以用了. 闲话不多说,上码 //isw2 zhouxianglh 2010.07.07 //移动ul var slideOperate = { slideUlId : "",//UL id 用于操作Ul fadeInTime : 2000

  • 新闻上下滚动jquery 超简洁(必看篇)

    实例如下: <div class = "box"> <dl class="textlist"> <dd>11你好,欢迎来到我们</dd> <dd>22你好,欢迎来到我们</dd> <dd>33你好,欢迎来到我们</dd> <dd>44你好,欢迎来到我们</dd> <dd>55你好,欢迎来到我们</dd> </dl>

  • jQuery实现简单的间隔向上滚动效果

    本文实例讲述了jQuery实现简单的间隔向上滚动效果的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <script type="text/javascript" src="js/jquery-1.4.4.min.js"></script> <div id="broadcast" class="bar" name="giftactive">  <

  • 一个JQuery写的点击上下滚动的小例子

    功能需求: 1.滚动框内显示10条记录: 2.有向上和向下滚动按钮,每次点击按钮向上或向下滚动记录条数,不自动滚动: 3.记录条数不循环滚动,滚动到起点或终点则停止滚动. 下面介绍一个简单实现方法: 1.外层容器(div) overflow: hidden,内层列表(ul) 2.按钮点击事件触发一个修改列表的函数 3.应用animate实现动画效果 具体不再啰嗦,直接上代码 CSS设置 复制代码 代码如下: <style type="text/css"> ul, li {

  • 使用jquery写个更改表格行顺序的小功能

    周末写了个更改表格行顺序的小功能,直接贴代码 表格部分如下: 复制代码 代码如下: <table class="table" id="test_table"> <thead> <tr> <th>时间</th> <th>详情</th> <th>操作</th> </tr> </thead> <tbody> <tr cid=

  • android listview 水平滚动和垂直滚动的小例子

    网上有很多解决 android listview 水平和垂直滚动的代码,我没有按照他们说的做(以前没搜到 O(∩_∩)O~) 我采用的是添加HorizontalScrollViewJava代码 复制代码 代码如下: < ScrollView android:id="@+id/ScrollView01" android:layout_height="300px" android:layout_x="16px" android:layout_y

  • jQuery页面图片伴随滚动条逐渐显示的小例子

    复制代码 代码如下: <script type="text/javascript" src="jquery.min.js"></script><!-- //再载入lazyload --> <script type="text/javascript" src="jquery.lazyload.js"></script> <script type="tex

  • jQuery 获取浏览器所在的IP地址的小例子

    复制代码 代码如下: $(function () {    $("#btnGetIP").click(function () {        var jqxhr = $.getJSON("http://jsonip.appspot.com?callback=?",            function (data) {                alert(data.ip);            })        .error(function () {

  • 一个用jquery写的判断div滚动条到底部的方法【推荐】

    jQuery 里和滚动条有关的概念很多,但是有三个属性和滚动条的拖动有关,就是:scrollTop.scrollLeft.scrollHeight.其中 scrollHeight 属性,互联网上几乎搜素不到关于它的应用技巧,而我正好需要用到它. 我们现在只探讨和垂直滚动有关的 scrollTop.scrollHeight 属性. 一.滚动条有关属性的正确理解: 假设有以下Html代码: <div id="div1" style="overflow-y:auto; ove

  • 利用JQuery写一个简单的异步分页插件

    写了一个Jquery异步分页插件,拿出来分享一下,有不完善之处请指教. 以用户分页为例,先看一下效果,首先是第一页: 下一页或者点击第二页后: 点击尾页后: 效果还可以吧?来看看具体怎么用,首先后台要有一个Page模型: Page.java: public class Page { /** * 当前页号 */ private int currPageNum = 1; /** * 总记录数 */ private int totalRowSize = 0; /** * 每页记录数 */ privat

  • 一个jquery实现的不错的多行文字图片滚动效果

    今儿分享一个jquery实现多行滚动效果. 我看一些论坛网站上面,公告处用的较多. 代码如下 // 多行滚动 (function($){ $.fn.extend({ Scroll:function(opt,callback){ if(!opt) var opt={}; var _this=this.eq(0).find("ul:first"); var lineH=_this.find("li:first").height(), line=opt.line?pars

  • Jquery写一个鼠标拖动效果实现原理与代码

    近日项目中要做一个鼠标拖拽层的效果,于是手动使用Jquery做了一个,发出来跟大伙儿分享一下,并希望能得到高手的指点,如果哪位大侠觉得我的思路和代码不正确或者需要改进的话,希望能指点一二,在下感激不尽. 我的思路是这样的: 1.在鼠标按下的时候,捕获鼠标的当前位置: 2.得到要移动对象的当前位置信息: 3.鼠标移动时,计算鼠标移动的距离,将这个距离更新到对象的位置,在我的代码中,我试用绝对定位来表示对象的位置: 4.当鼠标移出对象或者鼠标弹起的时候,则认为对象处于不能移动的状态.这个在我的代码中

  • jQuery实现可兼容IE6的滚动监听功能

    本文实例讲述了jQuery实现可兼容IE6的滚动监听功能.分享给大家供大家参考,具体如下: 其实这东西本打算用原生的javascript来写,但是原生的javascript取class与监听滚动条的滚动过于麻烦,因此上了jQuery,没关系,反正兼容IE6就行. 将实现如下的效果: 也就是在网页中有点常见的滚动监听.相应的标题,滚到哪里,则左边的滚动条当前标题前的...就变成>>>,,当然了,左边的标题同样是可以点击,马上滚到该滚的地方. 首先是网页布局部分,代码如下,请忽略大堆的Jav

随机推荐