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

  但当分页太多就会变得不能看,而且前后箭头也不能只是摆设。

  想要得到类似这样效果:

  网上搜了一会翻页相关的库没什么效果,也不太合适自己的项目应用。

  于是决定自己写一个。

  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 实现分页区翻页的更多相关文章

  1. jquery.Table实现的翻页功能比较完整漂亮,本想扩展个模版DIV

    jquery.dataTable实现的翻页功能比较完整漂亮,本想提取其的翻页部分,再结合模版DIV,bootstrop实现聊天记息的展示. jquery.Table 与table结合的较紧,不能在很下 ...

  2. JeeSite数据分页与翻页

    本文章介绍的是JeeSite开源项目二次开发时的一些笔记,对于没有使用过JeeSite的可以不用往下看了,因为下面的代码是跟JeeSite二次开发相关的代码,不做JeeSite的二次开发,以下代码对您 ...

  3. JS调用水晶报表打印翻页按钮事件

    默认的水晶报表打印按钮.翻页按钮太小,并且样式不好调整,考虑自己做一个按钮,然后调用水晶报表的按钮事件. 在实际操作中发现可以在.net按钮的服务器端事件中调用翻页方法: CrystalReportV ...

  4. turn.js中文API 写一个翻页效果的参数详细解释

    $('.flipbook').turn({     width: 922,     height: 600,     elevation: 50,     gradients: true,     a ...

  5. jquery easyui datagrid 在翻页以后仍能记录被选中的行及刷新设置选中行数据

    //easyUI的datagrid在复选框多选时,如何在翻页以后仍能记录被选中的行://注意datagrid中需要配置idField属性,一般为数据的主键 $.ajax({ type: 'GET', ...

  6. 使用switchPage.js插件jQuery全屏滚动翻页

    1. 先引入jquery.js,再引入switchPage.js 文件地址:点击打开链接 <script src="jquery.min.js"></script ...

  7. jquery css3问卷答题卡翻页动画效果

    这个选项调查的特效以选项卡的形式,每答完一道题目自动切换到下一条,颇具特色.使用jQuery和CSS3,适合HTML5浏览器. 效果展示 http://hovertree.com/texiao/jqu ...

  8. 织梦DEDECMS网站首页如何实现分页翻页

    织梦DEDECMS模板网站首页如何实现首页分页和翻页 方法如下:(三种方法,自己选择一种来实现分页吧) 第一种:调用ajax和参数的(不推荐)1.必须在DEDE首页模板中的<head>&l ...

  9. asp.net中应用JQuery.pagination分页

    JQuery.pagination这款分页控件非常好用,可实现无刷新分页,为了方便下次做项目便于拷贝,所以在此发布一下,具体的实现流程如下: 效果图: JQuery.pagination的各个参数的说 ...

随机推荐

  1. [转]JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释

    jvm区域总体分两类,heap区和非heap区.heap区又分:Eden Space(伊甸园).Survivor Space(幸存者区).Tenured Gen(老年代-养老区). 非heap区又分: ...

  2. chrome查看js报错Uncaught SyntaxError: Unexpected string

    个人博客原文http://wenhaofan.com/article/20180912123136 js报错,最后发现是$(function(){})这部分()不完整 $(function({ $(& ...

  3. 在电脑上用chrome浏览器调试android手机里的网页代码时,无法看到本地加载的js文件

    在需要调试的js文件最顶部加上代码就可以看到了: console.log('haha'); debugger;

  4. R parallel包实现多线程1

    并行执行 Yes! Well done! Socket clusters are initialized without variables, so a_global_var wasn't found ...

  5. R语言函数话学习笔记5

    使用Tidyverse完成函数化编程 (参考了家翔学长的笔记) 1.magrittr包的使用 里面有很多的管道函数,,可以减少代码开发时间,提高代码可读性和维护性 1.1 四种pipeline 1.1 ...

  6. C#对config.ini文件进行读取和修改

    C#对config.ini文件进行读取和修改: public partial class Patrolcar : Form之后可以加入如下类: #region public class IniFile ...

  7. 超大jtl解析jar包使用源于testfan

    解决超大jtl解析过慢时间过长问题: usage:  java  -jar  jmeter-graph.jar    jtl_path    interval_time (单位:s) 10G文件分析测 ...

  8. ubuntu 安装谷歌

    下载ubuntugoogle官网:http://www.ubuntuchrome.com/ 我的是ubuntuLTS稳定版: 上传Ubuntu: 执行解压操作: sudo   dpkg -i  goo ...

  9. .Net Core初体验

    对于C#语言支持(由C#1.0-C#7.1): 编码可以使用跨平台的IDE选择,就如同VS+Resharper一样方便: 运行效果:

  10. JavaScript 运算,流程控制和循环

    算数运算符 算术运算符 描叙 运算符 实例 加 + 10 + 20 = 30 减 - 10 – 20 = -10 乘 * 10 * 20 = 600 除 / 10 / 20 = 0.5 取余数 % 返 ...