今天我要给大家介绍一款模拟翻书的插件,BookBlock 为我们提供了一个翻页导航,让我们体验翻书的效果。任何内容都可以应用到该插件里面,比如图片和文字。该插件用到了jQuery++(对jquery有很多附加组件)。
接下来我们就来看看 BookBlock 的神奇效果吧。
width="474" height="300" title="翻书插件" alt="翻书插件"/>
alt=""/>
下面我就 demo 来讲解实现的方法,其它两个demo类似,可以查看源码。
1、引入以下的js和css文件
1 2 3 4 5 6 7 8 | < link rel = "stylesheet" type = "text/css" href = "css/style.css" > < link rel = "stylesheet" type = "text/css" href = "css/custom.css" > < script type = "text/javascript" src = "js/modernizr.custom.79639.js" ></ script > < noscript > < link rel = "stylesheet" type = "text/css" href = "css/noJS.css" /> </ noscript > < script type = "text/javascript" src = "js/jquery.bookblock.js" ></ script > |
2、加入以下js代码,调用插件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | < script type = "text/javascript" > $(function() { var Page = (function() { var config = { $bookBlock: $('#bb-bookblock'), $navNext: $('#bb-nav-next'), $navPrev: $('#bb-nav-prev'), $navJump: $('#bb-nav-jump'), bb: $('#bb-bookblock').bookblock({ speed: 800, shadowSides: 0.8, shadowFlip: 0.7 }) }, init = function() { initEvents(); }, initEvents = function() { var $slides = config.$bookBlock.children(), totalSlides = $slides.length; // add navigation events config.$navNext.on('click', function() { config.bb.next(); return false; }); config.$navPrev.on('click', function() { config.bb.prev(); return false; }); config.$navJump.on('click', function() { config.bb.jump(totalSlides); return false; }); // add swipe events $slides.on({ 'swipeleft': function(event) { config.bb.next(); return false; }, 'swiperight': function(event) { config.bb.prev(); return false; } }); }; return { init: init }; })(); Page.init(); }); </ script > |
3、在body标签中加入以下格式的html代码,div#bb-bookblock 是整个插件的外部容器。div#bb-item 则是每一张图片的实现代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | < div id = "bb-bookblock" class = "bb-bookblock" > < div class = "bb-item" > <!-- custom content --> </ div > < div class = "bb-item" > <!-- ... --> </ div > < div class = "bb-item" > <!-- ... --> </ div > < div class = "bb-item" > <!-- ... --> </ div > <!-- ... --> </ div > < nav > < a id = "bb-nav-prev" href = "#" >Previous</ a > < a id = "bb-nav-next" href = "#" >Next</ a > < a id = "bb-nav-jump" href = "#" title = "Go to last item" >Last page</ a > </ nav > |
最下面还有一段 nav 的代码,里面包含了3个 a 标签。每个 a 标签都表示一个图片下方的导航按钮。
即“上一张”、“下一张”、“最后一张”
可以在 jquery.bookblock.js 中直接配置
// 翻转变换的速度 ms.
speed : 1000,
//翻转变换的缓动效果.
easing : 'ease-in-out',
//如果设置为true,那么正在翻转的页面和两边都会有一层阴影
shadows : true,
// 两边的阴影的透明度(当翻转页面覆盖到上面的时候)
// value : 0.1 - 1
shadowSides : 0.2,
// 正在翻转的图片上的阴影的透明度
// value : 0.1 - 1
shadowFlip : 0.1,
//透视值
perspective : 1300,
// 是否当达到最后一项的时候显示第一项(循环)
circular : false,
//是否指定一个选择器用来触发 netx() 函数。比如: '#bb-nav-next'.
nextEl : '',
// 是否指定一个选择器用来触发 prev() 函数。
prevEl : '',
// 自动播放:如果设置为 ture 那么将会覆盖 circular 参数值
autoplay : false,
// 当设置为自动播放的时候,两个项之间的切换时间间隔 ms
interval : 3000,
// 翻转变换后的回调函数
// page : 当前项的索引
// isLimit :如果当前项是最后一项或者是第一项就为 true
onEndFlip : function( page, isLimit ) { return false; },
// 翻转变换前的回调函数
// page : 当前项的索引
onBeforeFlip: function( page ) { return false; }
特别申明:
本站所有资源都是由网友投稿发布,或转载各大下载站,请自行检测软件的完整性!
本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!
如有侵权请联系我们删除下架,联系方式:lei1294551502@163.com