当前位置:   article > 正文

Turn.js 实现翻书效果_h5 怎么使用turn.js

h5 怎么使用turn.js

接到了任务,要把孩子画的画放到网页上去,翻页效果还要逼真一点。搜索到了turn.js这个前端翻页组件,效果不错。先上图看效果。

 网页实际效果:星月夜诗集

turn.js的官网地址:Turn.js: The page flip effect in HTML5 

接下来是使用过程:

1、引入js

  1. <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
  2. <script type="text/javascript" src="./js/turn.min.js"></script>

2、html

加载images目录下的所有图片,图片名是以01、02、03……命名的png文件;根据屏幕比例和图片比例决定显示单页还是双页。turn.js本身不带有点击翻页效果,加了特定区域点击实现翻页效果。

  1. <body>
  2. <div id="filpbook">
  3. </div>
  4. <script type="text/javascript">
  5. var widscreen = true;
  6. var pageNum = 18;
  7. var wid = $(window).width();
  8. var hei = $(window).height();
  9. function pad(num, n) {
  10. var len = num.toString().length;
  11. while(len < n) {
  12. num = "0" + num;
  13. len++;
  14. }
  15. return num;
  16. }
  17. $(document).ready(function() {
  18. var ratio = 1.41; // 654 / 464 = 1.41
  19. if(hei > wid) {
  20. widscreen = false;
  21. if(hei / wid > ratio) {
  22. hei = wid * ratio;
  23. }
  24. else {
  25. wid = hei / ratio;
  26. }
  27. }
  28. else {
  29. if(wid / hei > (ratio / 2)) {
  30. wid = hei / ratio;
  31. }
  32. else {
  33. hei = wid * ratio;
  34. }
  35. }
  36. var divp = $('#filpbook');
  37. for (var i = 1; i <= pageNum; i++) {
  38. var imgc = $('<img></img>');
  39. imgc.attr('src', './images/'+pad(i, 2)+'.png');
  40. imgc.attr('width', wid);
  41. imgc.attr('height', hei);
  42. var divc = $('<div></div>');
  43. divc.attr('id', 'page');
  44. divc.append(imgc);
  45. divp.append(divc);
  46. }
  47. if(widscreen) {
  48. $('#filpbook').turn({
  49. acceleration: true,
  50. pages: pageNum,
  51. elevation: 50,
  52. width: wid*2,
  53. height: hei,
  54. gradients: true,
  55. display: 'double',
  56. autoCenter: true,
  57. turnCorners: "",
  58. when: {
  59. truning: function(e, page,view) {},
  60. truned: function(e, page) {}
  61. }
  62. });
  63. }
  64. else {
  65. $('#filpbook').turn({
  66. acceleration: true,
  67. pages: pageNum,
  68. elevation: 50,
  69. width: wid,
  70. height: hei,
  71. gradients: true,
  72. display: 'single',
  73. autoCenter: true,
  74. turnCorners: "",
  75. when: {
  76. truning: function(e, page,view) {},
  77. truned: function(e, page) {}
  78. }
  79. });
  80. }
  81. });
  82. $('#filpbook').click(function(event) {
  83. //console.log(event.pageX+','+event.pageY);
  84. if(widscreen) {
  85. if((event.pageX > wid) && (event.pageY> 60) && (event.pageY < hei-60)) {
  86. $('#filpbook').turn("next");
  87. }
  88. if((event.pageX < wid) && (event.pageY> 60) && (event.pageY < hei-60)) {
  89. $('#filpbook').turn("previous");
  90. }
  91. }
  92. else {
  93. if((event.pageX > wid / 2) && (event.pageY> 60) && (event.pageY < hei-60)) {
  94. $('#filpbook').turn("next");
  95. }
  96. if((event.pageX < wid / 2) && (event.pageY> 60) && (event.pageY < hei-60)) {
  97. $('#filpbook').turn("previous");
  98. }
  99. }
  100. });
  101. $(window).bind('keydown', function(e) {
  102. if (e.target && e.target.tagName.toLowerCase()!='input')
  103. if (e.keyCode==37)
  104. $('#filpbook').turn('previous');
  105. else if (e.keyCode==39)
  106. $('#filpbook').turn('next');
  107. });
  108. </script>
  109. </body>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/117228
推荐阅读