一個(gè)JQuery寫的點(diǎn)擊上下滾動的小例子
更新時(shí)間:2011年08月27日 16:12:57 作者:
分享一個(gè)JQuery寫的點(diǎn)擊上下滾動的小例子,學(xué)習(xí)jquery的朋友可以參考下。
功能需求:
1、滾動框內(nèi)顯示10條記錄;
2、有向上和向下滾動按鈕,每次點(diǎn)擊按鈕向上或向下滾動記錄條數(shù),不自動滾動;
3、記錄條數(shù)不循環(huán)滾動,滾動到起點(diǎn)或終點(diǎn)則停止?jié)L動。
下面介紹一個(gè)簡單實(shí)現(xiàn)方法:
1、外層容器(div) overflow: hidden,內(nèi)層列表(ul)
2、按鈕點(diǎn)擊事件觸發(fā)一個(gè)修改列表的函數(shù)
3、應(yīng)用animate實(shí)現(xiàn)動畫效果
具體不再啰嗦,直接上代碼
CSS設(shè)置
<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); //每次滾動的行數(shù),默認(rèn)為一屏,即父容器高度
var speed = opt.speed ? parseInt(opt.speed, 10) : 600; //卷動速度,數(shù)值越大,速度越慢(毫秒)
var m = line; //用于計(jì)算的變量
var count = _this.find("li").length; //總共的<li>元素的個(gè)數(shù)
var upHeight = line * lineH;
function scrollUp() {
if (!_this.is(":animated")) { //判斷元素是否正處于動畫,如果不處于動畫狀態(tài),則追加動畫。
if (m < count) { //判斷 m 是否小于總的個(gè)數(shù)
m += line;
_this.animate({ marginTop: "-=" + upHeight + "px" }, speed);
}
}
}
function scrollDown() {
if (!_this.is(":animated")) {
if (m > line) { //判斷m 是否大于一屏個(gè)數(shù)
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>
可以設(shè)置$("#scrollDiv").Scroll({ line: 10, speed: 500,up: "btn1", down: "btn2" });對滾動按鈕,滾動行數(shù),滾動速度進(jìn)行設(shè)置。
Html Body 內(nèi)容
<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>
1、滾動框內(nèi)顯示10條記錄;
2、有向上和向下滾動按鈕,每次點(diǎn)擊按鈕向上或向下滾動記錄條數(shù),不自動滾動;
3、記錄條數(shù)不循環(huán)滾動,滾動到起點(diǎn)或終點(diǎn)則停止?jié)L動。
下面介紹一個(gè)簡單實(shí)現(xiàn)方法:
1、外層容器(div) overflow: hidden,內(nèi)層列表(ul)
2、按鈕點(diǎn)擊事件觸發(fā)一個(gè)修改列表的函數(shù)
3、應(yīng)用animate實(shí)現(xiàn)動畫效果
具體不再啰嗦,直接上代碼
CSS設(shè)置
復(fù)制代碼 代碼如下:
<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 代碼
復(fù)制代碼 代碼如下:
<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); //每次滾動的行數(shù),默認(rèn)為一屏,即父容器高度
var speed = opt.speed ? parseInt(opt.speed, 10) : 600; //卷動速度,數(shù)值越大,速度越慢(毫秒)
var m = line; //用于計(jì)算的變量
var count = _this.find("li").length; //總共的<li>元素的個(gè)數(shù)
var upHeight = line * lineH;
function scrollUp() {
if (!_this.is(":animated")) { //判斷元素是否正處于動畫,如果不處于動畫狀態(tài),則追加動畫。
if (m < count) { //判斷 m 是否小于總的個(gè)數(shù)
m += line;
_this.animate({ marginTop: "-=" + upHeight + "px" }, speed);
}
}
}
function scrollDown() {
if (!_this.is(":animated")) {
if (m > line) { //判斷m 是否大于一屏個(gè)數(shù)
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>
可以設(shè)置$("#scrollDiv").Scroll({ line: 10, speed: 500,up: "btn1", down: "btn2" });對滾動按鈕,滾動行數(shù),滾動速度進(jìn)行設(shè)置。
Html Body 內(nèi)容
復(fù)制代碼 代碼如下:
<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>
您可能感興趣的文章:
- jquery 點(diǎn)擊元素后,滾動條滾動至該元素位置的方法
- jquery實(shí)現(xiàn)的圖片點(diǎn)擊滾動效果
- 基于jquery實(shí)現(xiàn)點(diǎn)擊左右按鈕圖片橫向滾動
- JQuery獲取元素尺寸、位置及頁面滾動事件應(yīng)用示例
- JQuery獲取元素文檔大小、偏移和位置和滾動條位置的方法集合
- js,jquery滾動/跳轉(zhuǎn)頁面到指定位置的實(shí)現(xiàn)思路
- jQuery實(shí)現(xiàn)將div中滾動條滾動到指定位置的方法
- jQuery實(shí)現(xiàn)平滑滾動到指定錨點(diǎn)的方法
- 使用jquery animate創(chuàng)建平滑滾動效果(可以是到頂部、到底部或指定地方)
- 通過JQuery將DIV的滾動條滾動到指定的位置方便自動定位
- 利用jquery制作滾動到指定位置觸發(fā)動畫
- jQuery實(shí)現(xiàn)點(diǎn)擊滾動到指定元素上的方法分析
相關(guān)文章
jQuery實(shí)現(xiàn)一個(gè)簡單的輪播圖
本文主要介紹了jQuery實(shí)現(xiàn)一個(gè)簡單輪播圖的方法,具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02jQuery右側(cè)選項(xiàng)卡焦點(diǎn)圖片輪播特效代碼分享
這篇文章主要介紹了jQuery右側(cè)選項(xiàng)卡焦點(diǎn)圖片輪播特效,一段清新可愛的焦點(diǎn)圖輪播代碼,有需要的小伙伴可以參考下2015-09-09jQuery+ajax實(shí)現(xiàn)批量刪除功能完整示例
這篇文章主要介紹了jQuery+ajax實(shí)現(xiàn)批量刪除功能,結(jié)合完整實(shí)例形式分析了jQuery+ajax結(jié)合bootstrap與layer.js插件實(shí)現(xiàn)的批量刪除與交互功能相關(guān)操作技巧,需要的朋友可以參考下2019-06-06jQuery實(shí)現(xiàn)每隔一段時(shí)間自動更換樣式的方法分析
這篇文章主要介紹了jQuery實(shí)現(xiàn)每隔一段時(shí)間自動更換樣式的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了jQuery結(jié)合時(shí)間函數(shù)動態(tài)修改頁面元素屬性相關(guān)操作技巧,需要的朋友可以參考下2018-05-05Iscrool下拉刷新功能實(shí)現(xiàn)方法(推薦)
下面小編就為大家?guī)硪黄狪scrool下拉刷新功能實(shí)現(xiàn)方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06jQuery 順便學(xué)習(xí)下CSS選擇器 奇偶匹配nth-child(even)
今天學(xué)習(xí)jQuery,看到nth-child(even)用法,特意找了下這個(gè)選擇器的用法,在CSS3標(biāo)準(zhǔn)中,用法很強(qiáng)大。2010-05-05有關(guān)jquery與DOM節(jié)點(diǎn)操作方法和屬性記錄
下面小編就為大家?guī)硪黄嘘P(guān)jquery與DOM節(jié)點(diǎn)操作方法和屬性記錄。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考2016-04-04