封裝的jquery翻頁(yè)滾動(dòng)(示例代碼)
HTML結(jié)構(gòu):
ul._rollSe{width:100px;height:300px;over-flow:hidden}
ul._rollSe li._rollPar{height:100px;border:1px solid #369}
<div class="_rollParent">
<ul class="_rollPageSe">
<li class="_rollpage">1</li>
<li class="_rollpage">2</li>
</ul>
<div>
<a href="#" mce_href="#" class="_scrollPrev" data-frequency="3" data-pr="happy">上一頁(yè)</a>
<a href="#" mce_href="#" class="_scrollNext" data-frequency="3" data-pr="happy">下一頁(yè)</a>
</div>
<ul class="_rollSe">
<?php for($a=1;$a++;$a<10):?>
<li class="_rollPar"><?php echo $a; ?></li>
<?php endfor;?>
</ul>
</div>
JS引入文件:
<script type="text/javascript" src="/js/jquery//scrollTo/jquery.scrollTo-min.js"></script>
author : teresa 2011-3-28
params: 以上HTML結(jié)構(gòu)必填項(xiàng): 有關(guān)的class
_rollParent: 觸發(fā)事件的上級(jí)層)
_rollSe :滾動(dòng)區(qū)域
_rollPar: 滾動(dòng)元素
_scrollNext: 下一頁(yè)按鈕
_scrollPrev: 上一頁(yè)按鈕
_rollPageSe : 分頁(yè)區(qū)域
_rollpage: 頁(yè)碼元素
data-frequency: 滾動(dòng)頻率 (eg:一次滾動(dòng)3個(gè)元素) ->需標(biāo)注在觸發(fā)事件的按鈕上.
data-pr: cookie的前綴.
discription: 一次性讀取幾條數(shù)據(jù), 只顯示幾條, 滾動(dòng)翻頁(yè)(一次性滾3條或n條) ; 此方法只需在所需事件滾動(dòng)效果的html元素標(biāo)注以上規(guī)定class便可使用.
JS初始化方法:
/**************************************************************************
discription: 翻頁(yè)滾動(dòng)
***************************************************************************/
//插件引入
document.write('<mce:script type="text/javascript" src="/js/jquery//scrollTo/jquery.scrollTo-min.js" mce_src="js/jquery//scrollTo/jquery.scrollTo-min.js"></mce:script>');
//函數(shù)初始化
$(function(){
/*
author: teresa 2011-03-24 14:32:42
discription: strollTo init
*/
//滾動(dòng)初始顯示
_scroll.init();
//上滾
$('._scrollPrev').live('click',function(){
_scroll.prev(this);
return false;
});
//下滾
$('._scrollNext').live('click',function(){
_scroll.next(this);
return false;
});
});
/*
author: teresa
update_time: 2011-03-24 14:52:34
discription: 分頁(yè)滾動(dòng)
*/
var _scroll = {
//滾動(dòng)cookie
config:{
ckname : 'lifedu_rollCur',
ckoptions : {
expires : 3, // in days
path : '/'
}
},
//初始化
init:function(){
var roll = $('._rollParent');
for (i=0;i<roll.length ;i++ )
{
var cookieName = roll.eq(i).find('._scrollNext').attr('data-pr')+"_lifedu_rollCur";
var oStr = $.cookie(_scroll.config.ckname) || '{}';
var json = eval('('+oStr+')');
var cur = 0;
var page = 0;
var rollPar = roll.eq(i).find('._rollPar');
roll.eq(i).find('._scrollPrev').addClass('disabled');
roll.eq(i).find('._rollSe').scrollTo(rollPar.eq(cur),50);
roll.eq(i).find('._rollPageSe').find('_rollpage').removeClass('ac').eq(page).addClass('ac');
//cookie
json.cur = cur;
json.page = page;
var data = JsonToStr(json);
$.cookie(cookieName,data,_scroll.config.ckoptions);
}
},
_p : {},
//預(yù)處理
_pre:function(o){
_scroll.config.ckname = $(o).attr('data-pr') +"_lifedu_rollCur";
_scroll._p.rollFrequency = parseInt($(o).attr('data-frequency'));
_scroll._p.rollSe = $(o).parents('._rollParent').find('._rollSe'); //滾動(dòng)區(qū)域
_scroll._p.rollPar = _scroll._p.rollSe.find('._rollPar');
_scroll._p.rlen = _scroll._p.rollPar.length;
//頁(yè)碼區(qū)域
_scroll._p.rollPageSe = $(o).parents('._rollParent').find('._rollPageSe');
_scroll._p.rollPageLen = _scroll._p.rollPageSe.find('._rollpage').length;
},
//下滾
next:function(o){
_scroll._pre(o);
var oStr = $.cookie(_scroll.config.ckname) || '{}';
var json = eval('('+oStr+')');
var last = _scroll._p.rlen - 1;
var n = _scroll._p.rollFrequency;
var cur = parseInt(json.cur) || 0 ; //當(dāng)前滾動(dòng)元素索引
var page = parseInt(json.page) || 0 ; //當(dāng)前頁(yè)碼
if(cur+n < last){
cur += n;
page++;
}else if(cur == last){
return;
}else{
cur = last;
page = _scroll._p.rollPageLen - 1;
}
//if last page addClass 'disabled';
$(o).parents('._rollParent').find('._scrollPrev').removeClass('disabled');
if(page == _scroll._p.rollPageLen - 1) {
$(o).addClass('disabled');
}else {
$(o).removeClass('disabled');
}
//scroll
_scroll._p.rollSe.scrollTo(_scroll._p.rollPar.eq(cur),500);
_scroll.goPage(page);
//寫入cookie
json.cur = cur;
json.page = page;
var data = JsonToStr(json);
$.cookie(_scroll.config.ckname,data,_scroll.config.ckoptions);
},
//上滾
prev:function(o){
//lg('prev');
_scroll._pre(o);
var oStr = $.cookie(_scroll.config.ckname) || '{}';
var json = eval('('+oStr+')');
var cur = parseInt(json.cur) || 0 ; //當(dāng)前滾動(dòng)元素索引
var page = parseInt(json.page) || 0 ; //當(dāng)前頁(yè)碼
var n = _scroll._p.rollFrequency;
if(cur-n > 0){
if(cur == _scroll._p.rlen - 1){
cur -= 2*n-1;
}else {
cur -= n;
}
if(cur < 0){cur = 0;}
page--;
}else if(cur == 0){
return;
}else {
cur = 0;
page = 0;
}
//if first page addClass 'disabled';
$(o).parents('._rollParent').find('._scrollNext').removeClass('disabled');
if(page == 0) {
$(o).addClass('disabled');
} else {
$(o).removeClass('disabled');
}
//scroll
_scroll._p.rollSe.scrollTo(_scroll._p.rollPar.eq(cur),500);
_scroll.goPage(page);
//寫入cookie
json.cur = cur;
json.page = page;
var data = JsonToStr(json);
$.cookie(_scroll.config.ckname,data,_scroll.config.ckoptions);
},
goPage : function(p){
//lg(p);
if(_scroll._p.rollPageSe.length != 0){
_scroll._p.rollPageSe.find('._rollpage').removeClass('ac').eq(p).addClass('ac');
}
}
}
- jQuery ajaxSubmit 實(shí)現(xiàn)ajax提交表單局部刷新
- JQuery的Ajax請(qǐng)求實(shí)現(xiàn)局部刷新的簡(jiǎn)單實(shí)例
- 用Jquery.load載入頁(yè)面實(shí)現(xiàn)局部刷新
- 使用jquery局部刷新(jquery.load)從數(shù)據(jù)庫(kù)取出數(shù)據(jù)
- 基于jQuery捕獲超鏈接事件進(jìn)行局部刷新代碼
- jQuery 定時(shí)局部刷新(setInterval)
- 使用jQueryMobile實(shí)現(xiàn)滑動(dòng)翻頁(yè)效果的方法
- JQuery插件iScroll實(shí)現(xiàn)下拉刷新,滾動(dòng)翻頁(yè)特效
- 通過(guò)pjax實(shí)現(xiàn)無(wú)刷新翻頁(yè)(兼容新版jquery)
- 使用jQuery.fn自定義jQuery翻頁(yè)插件
- jQuery 翻頁(yè)組件yunm.pager.js實(shí)現(xiàn)div局部刷新的思路
相關(guān)文章
jQuery插件JWPlayer視頻播放器用法實(shí)例分析
這篇文章主要介紹了jQuery插件JWPlayer視頻播放器用法,結(jié)合實(shí)例形式分析了JWPlayer插件播放視頻的相關(guān)操作技巧,需要的朋友可以參考下2017-01-01為jquery.ui.dialog 增加“在當(dāng)前鼠標(biāo)位置打開(kāi)”的功能
在使用jquery.ui.dialog的過(guò)程中,發(fā)現(xiàn)position參數(shù)有些問(wèn)題,無(wú)法通過(guò)position: [PosX, PosY]動(dòng)態(tài)傳遞位置參數(shù)。下面是官方demo 代碼2009-11-11jQuery中對(duì)節(jié)點(diǎn)進(jìn)行操作的相關(guān)介紹
本篇文章小編將為大家介紹,在jQuery中對(duì)節(jié)點(diǎn)進(jìn)行操作的解決辦法,有需要的朋友可以參考一下2013-04-04jquery實(shí)現(xiàn)可自動(dòng)收縮的TAB網(wǎng)頁(yè)選項(xiàng)卡代碼
這篇文章主要介紹了jquery實(shí)現(xiàn)可自動(dòng)收縮的TAB網(wǎng)頁(yè)選項(xiàng)卡代碼,涉及jquery鼠標(biāo)事件及頁(yè)面元素樣式變換的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09Query中click(),bind(),live(),delegate()的區(qū)別
這篇文章主要介紹了Query中click(),bind(),live(),delegate()之間的區(qū)別。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-11-11jQuery中ajax請(qǐng)求后臺(tái)返回json數(shù)據(jù)并渲染HTML的方法
今天小編就為大家分享一篇jQuery中ajax請(qǐng)求后臺(tái)返回json數(shù)據(jù)并渲染HTML的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08jQuery設(shè)置Cookie及刪除Cookie實(shí)例分析
這篇文章主要介紹了jQuery設(shè)置Cookie及刪除Cookie的方法,結(jié)合完整實(shí)例形式分析了jQuery操作cookie的設(shè)置,獲取及刪除等操作技巧,需要的朋友可以參考下2016-04-04jQuery Ajax使用FormData上傳文件和其他數(shù)據(jù)后端web.py獲取
這篇文章主要介紹了jQuery Ajax使用FormData上傳文件和其他數(shù)據(jù)后端web.py獲取 ,需要的朋友可以參考下2017-06-06