js + jquery 实现分页区翻页
简单来说,情况是这样的,假如做好了对动漫每一集进行分页,如下图:

但当分页太多就会变得不能看,而且前后箭头也不能只是摆设。
想要得到类似这样效果:

网上搜了一会翻页相关的库没什么效果,也不太合适自己的项目应用。
于是决定自己写一个。
pageturn.js:
function get_segment(aid, size) {
var start = 0, end = 0;
var count_switch = true;
for (var i = 1; i <= size; i++) {
if (document.getElementById(aid + i.toString()).style.display != 'none') {
if (count_switch) {
start = i;
count_switch = false;
}
else {
end = i;
}
}
}
return [start, end];
};
function prev_page_turn(aid, start, end, step) {
for (var i = 0; i < step; i++) {
if (start == 1)
break;
$("#" + aid + end.toString()).hide(500);
start -= 1;
$("#" + aid + start.toString()).show(500);
end -= 1;
}
};
function next_page_turn(aid, start, end, step, size) {
for (var i = 0; i < step; i++) {
if (end == size)
break;
$("#" + aid + start.toString()).hide(500);
end += 1;
$("#" + aid + end.toString()).show(500);
start += 1;
}
};
# 用法见 31 line
test.html:
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="pageturn.js"></script>
</head> <body>
<ul class="pagination">
<li><a id="prev-page">«</a></li>
<li><a href="#" id="av8299421" title="夢ちゃん">第 1 集</a></li>
<li><a href="#" id="av8299422" title="夢ちゃん">第 2 集</a></li>
<li><a href="#" id="av8299423" title="夢ちゃん">第 3 集</a></li>
<li><a href="#" id="av8299424" title="夢ちゃん">第 4 集</a></li>
<li><a href="#" id="av8299425" title="夢ちゃん">第 5 集</a></li>
<li><a href="#" id="av8299426" title="夢ちゃん" style="display:none">第 6 集</a></li>
<li><a href="#" id="av8299427" title="夢ちゃん" style="display:none">第 7 集</a></li>
<li><a href="#" id="av8299428" title="夢ちゃん" style="display:none">第 8 集</a></li>
<li><a href="#" id="av8299429" title="夢ちゃん" style="display:none">第 9 集</a></li>
<li><a href="#" id="av82994210" title="夢ちゃん" style="display:none">第 10 集</a></li>
<li><a href="#" id="av82994211" title="夢ちゃん" style="display:none">第 11 集</a></li>
<li><a href="#" id="av82994212" title="夢ちゃん" style="display:none">第 12 集</a></li>
<li><a href="#" id="av82994213" title="夢ちゃん" style="display:none">第 13 集</a></li>
<li><a href="#" id="av82994214" title="夢ちゃん" style="display:none">第 14 集</a></li>
<li><a id="next-page">»</a></li>
</ul>
<script type="text/javascript">
$(document).ready(function () {
var size = 14; // 集数
var aid = "av829942"; // 视频 id 前缀
var prev_click = true;
var next_click = true;
$('#prev-page').bind('click', function () {
if (prev_click) {
prev_click = false;
var get_value = get_segment(aid, size);
var start = get_value[0], end = get_value[1]; if (start > 1) {
prev_page_turn(aid, start, end, 3);
}
setTimeout(function () {
prev_click = true;
}, 500);
}
});
$('#next-page').bind('click', function () {
if (next_click) {
next_click = false;
var get_value = get_segment(aid, size);
var start = get_value[0], end = get_value[1]; if (end < size) {
next_page_turn(aid, start, end, 3, size);
}
setTimeout(function () {
next_click = true;
}, 500);
}
});
});
</script>
</body> </html>
可自行配制 step 来控制点一次的翻页速度。
js + jquery 实现分页区翻页的更多相关文章
- jquery.Table实现的翻页功能比较完整漂亮,本想扩展个模版DIV
jquery.dataTable实现的翻页功能比较完整漂亮,本想提取其的翻页部分,再结合模版DIV,bootstrop实现聊天记息的展示. jquery.Table 与table结合的较紧,不能在很下 ...
- JeeSite数据分页与翻页
本文章介绍的是JeeSite开源项目二次开发时的一些笔记,对于没有使用过JeeSite的可以不用往下看了,因为下面的代码是跟JeeSite二次开发相关的代码,不做JeeSite的二次开发,以下代码对您 ...
- JS调用水晶报表打印翻页按钮事件
默认的水晶报表打印按钮.翻页按钮太小,并且样式不好调整,考虑自己做一个按钮,然后调用水晶报表的按钮事件. 在实际操作中发现可以在.net按钮的服务器端事件中调用翻页方法: CrystalReportV ...
- turn.js中文API 写一个翻页效果的参数详细解释
$('.flipbook').turn({ width: 922, height: 600, elevation: 50, gradients: true, a ...
- jquery easyui datagrid 在翻页以后仍能记录被选中的行及刷新设置选中行数据
//easyUI的datagrid在复选框多选时,如何在翻页以后仍能记录被选中的行://注意datagrid中需要配置idField属性,一般为数据的主键 $.ajax({ type: 'GET', ...
- 使用switchPage.js插件jQuery全屏滚动翻页
1. 先引入jquery.js,再引入switchPage.js 文件地址:点击打开链接 <script src="jquery.min.js"></script ...
- jquery css3问卷答题卡翻页动画效果
这个选项调查的特效以选项卡的形式,每答完一道题目自动切换到下一条,颇具特色.使用jQuery和CSS3,适合HTML5浏览器. 效果展示 http://hovertree.com/texiao/jqu ...
- 织梦DEDECMS网站首页如何实现分页翻页
织梦DEDECMS模板网站首页如何实现首页分页和翻页 方法如下:(三种方法,自己选择一种来实现分页吧) 第一种:调用ajax和参数的(不推荐)1.必须在DEDE首页模板中的<head>&l ...
- asp.net中应用JQuery.pagination分页
JQuery.pagination这款分页控件非常好用,可实现无刷新分页,为了方便下次做项目便于拷贝,所以在此发布一下,具体的实现流程如下: 效果图: JQuery.pagination的各个参数的说 ...
随机推荐
- C语言-浮点数的秘密
一.浮点数的秘密 1.内存中的浮点数 浮点数在内存中的存储方式为:符号位.指数.尾数 十进制浮点数的内存表示: 实例分析: #include <stdio.h> //打印十进制的内存表示 ...
- wpf 程序启动显示图片
一.设置图片的生成操作 程序启动时会出现0.5秒的图片显示,再显示程序界面. 二.写代码实现相同效果 /// <summary> /// App.xaml 的交互逻辑 /// </s ...
- redis相关问题记录
问题:无法在redis自行set操作 错误信息:(error) MISCONF Redis is configured to save RDB snapshots, but is currently ...
- vue的一些基础知识点,后续会更新最全的vue知识点
axios中jq的基础 jq语法 $(this).hide() 隐藏当前的html元素 $(''#test").hide() 隐藏id='test'的元素 添加新的 HTML 内容 我们将学 ...
- WebViewJavascriptBridge(H5与原生交互)
https://github.com/wangjiaojiao77/WebViewJavascriptBridge(IOS)和 https://github.com/wangjiaojiao77/Js ...
- Linux 虚拟机共享目录
1. 开启linux虚拟机 2. 菜单“虚拟机” -------“重新安装 Vm tools” 3. 桌面看到 VmTools 安装盘 4. 安装 5. 设置中添加共享目录 5. ...
- Spring家族几大插件
Spring家族很庞大,从最早先出现的服务于企业级程序开发的Core.安全方面的Security.到后来的作为各种数据源桥梁的Data.最近几年很火的Boot,以及最新推出的正在蓬勃发展的Cloud( ...
- 一些好用的Jquery插件
1.jquery.resizableColumns.min.js,可以给table列加上调节宽度的功能 2.Jquery.cookie.js,可以在客户端写入和获取cookie 3.Paginatio ...
- MATLAB一些常用的function
在MATLAB中一些常用的算数符号与我们平时所用的不同,比如:根号,平方,e,以及对数函数等. (1)平方:a^2 意思为a的平方,亦可以写成a*a: (2)根号:sqrt(x)意思为对x开根号,x既 ...
- 番外:如何克隆可刷新的PDB(Refreshable PDB)
基于版本:19c (12.2.0.3) AskScuti 创建方法:克隆创建 对应路径:属于克隆.PDB类型为:Refreshable 相关系列请参考<Oracle创建PDB列表文章> 注 ...