index.html 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport"
  7. content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
  8. <title>电子书</title>
  9. <link rel="stylesheet" href="./Public/Member/manual/css/animate.min.css">
  10. <link rel="stylesheet" href="./Public/Member/manual/css/tooltipster.bundle.min.css">
  11. <link rel="stylesheet" href="./Public/Member/manual/css/tooltipster-sideTip-borderless.min.css">
  12. <link rel="stylesheet" href="./Public/Member/manual/css/progressJS.css">
  13. <link rel="stylesheet" href="./Public/Member/manual/css/zdialog.css">
  14. <link rel="stylesheet" href="./Public/Member/manual/css/style.min.css">
  15. <script src="./Public/Member/manual/js/jquery1.9.0.js"></script>
  16. <script src="./Public/Member/manual/js/jquery-ui-1.9.2.min.js"></script>
  17. <script src="./Public/Member/manual/js/jquery.touchSwipe.min.js"></script>
  18. <script src="./Public/Member/manual/js/modernizr.2.5.3.min.js"></script>
  19. <script src="./Public/Member/manual/js/tooltipster.bundle.js"></script>
  20. <script src="./Public/Member/manual/js/jquery.qrcode.min.js"></script>
  21. <script src="./Public/Member/manual/js/jquery.panzoom.min.js"></script>
  22. <script src="./Public/Member/manual/js/jquery.dragscroll.js"></script>
  23. <script src="./Public/Member/manual/js/jquery.mousewheel.min.js"></script>
  24. <script src="./Public/Member/manual/js/wow.min.js"></script>
  25. <script src="./Public/Member/manual/js/progressJS.js"></script>
  26. <script src="./Public/Member/manual/js/zdialog.js"></script>
  27. <link rel="stylesheet" href="./Public/Panonn/static/css/puc.css">
  28. <script>
  29. var imgWid = 1589;
  30. var imgHig = 2196;
  31. var bookArr = [];
  32. const urlParams = new URLSearchParams(window.location.search);
  33. const count = urlParams.get('count');
  34. const prefix = urlParams.get('prefix');
  35. for(let i =0;i<=count;i++){
  36. // bookArr.push(`./book/${prefix}${i}.jpg`)
  37. bookArr.push(`https://houseoss.4dkankan.com/project/aoMenScene/hot/eleBook/book/${prefix}${i}.jpg`)
  38. }
  39. var box_w = window.innerWidth;
  40. var box_y = window.innerHeight;
  41. var sacle = 1;
  42. if(imgWid/imgHig >box_w/box_y){
  43. sacle = imgWid/box_w;
  44. imgWid = imgWid/sacle;
  45. imgHig = imgHig/sacle;
  46. }else{
  47. sacle = imgHig/box_y;
  48. imgWid = imgWid/sacle;
  49. imgHig = imgHig/sacle;
  50. }
  51. // 信息配置
  52. $OP = {
  53. list: bookArr,
  54. thumbnail: [],
  55. width: imgWid,// 图片宽度
  56. height: imgHig// 图片高度
  57. }
  58. </script>
  59. <style>
  60. *{
  61. touch-action: pan-y;
  62. }
  63. .flipbook-panzoom{
  64. position: fixed;
  65. top: -30px;
  66. left: 0px;
  67. z-index: 7;
  68. }
  69. .config{
  70. .bottom_box{
  71. .bottom_bar{
  72. background-color: transparent;
  73. border: 1px solid #9b9b9b;
  74. }
  75. }
  76. }
  77. </style>
  78. </head>
  79. <body ondragstart="window.event.returnValue=false" oncontextmenu="window.event.returnValue=false" onselectstart="event.returnValue=false">
  80. <!-- 加载中 -->
  81. <!-- <div class="loading"></div> -->
  82. <!-- 翻书主区域 -->
  83. <div class="flipbook-panzoom">
  84. <div class="flipbook-viewport nomatrix" style="transform: scale(0.9) !important;">
  85. <div class="container">
  86. <div id="flipbook" class="flipbook"></div>
  87. </div>
  88. </div>
  89. </div>
  90. <!-- 附属模块 -->
  91. <div class="config">
  92. <!-- 底部功能栏 -->
  93. <div class="bottom_box bottom_p">
  94. <div class="bottom_bar" style="bottom: 0;">
  95. <div class="btnbox tooltip thumbnail" title="缩略图"></div>
  96. <div class="btnbox tooltip playpage" title="自动翻页" style="background-size: auto 75%"></div>
  97. <div class="btnbox tooltip shangyiye" title="上一页"></div>
  98. <div class="btninput tooltip" title="当前页面/总页数">
  99. <input id="pagenum" type="text" onkeyup="value=value.replace(/[^\d]/g,'')">
  100. </div>
  101. <div class="btnbox tooltip xiayiye" title="下一页"></div>
  102. <div class="btnbox tooltip flsize" title="放大/还原" style="background-size: auto 75%;"></div>
  103. <div class="btnbox tooltip bangzhu" title="使用帮助" style="display: none;"></div>
  104. <div class="qrcode">
  105. <div class="btnbox" style="margin: 3px;display: none;"><img src="./Public/Member/manual/img/erweima2.svg"></div>
  106. <div class="qrimg">
  107. <p>扫一扫,手机阅读</p>
  108. </div>
  109. </div>
  110. </div>
  111. </div>
  112. <!-- pc缩略图 -->
  113. <div class="thumbnail_box_p">
  114. <div class="thumbnail_p">
  115. <ul></ul>
  116. </div>
  117. </div>
  118. <!-- 移动缩略图 -->
  119. <div class="thumbnail_box_v animated">
  120. <div class="title">
  121. <h3 style="line-height: 2.8;">缩略图列表</h3>
  122. <img class="off" src="./Public/Member/manual/img/off.svg">
  123. </div>
  124. <div class="box_list">
  125. <ul></ul>
  126. </div>
  127. </div>
  128. <!-- 自动播放速度控制器 -->
  129. <div class="speed_p" style="z-index: 8">
  130. <span>翻页速度</span>
  131. <img src="./Public/Member/manual/img/minus.svg" style="left: 82px;">
  132. <div class="spran">
  133. <div class="progress_p"></div>
  134. </div>
  135. <img src="./Public/Member/manual/img/add.svg" style="right: 5px;">
  136. </div>
  137. <div class="speed_v" style="z-index: 8">
  138. <span>翻页速度</span>
  139. <img src="./Public/Member/manual/img/add.svg" style="top: 5px;">
  140. <div class="spran">
  141. <div class="progress_v"></div>
  142. </div>
  143. <img src="./Public/Member/manual/img/minus.svg" style="bottom: 47px;">
  144. </div>
  145. <!-- 帮助 -->
  146. <div class="help help_p">
  147. <div class="helpbox">
  148. <div>
  149. <p>缩略图</p>
  150. <img src="./Public/Member/manual/img/1xian.png">
  151. </div>
  152. <div>
  153. <p>自动翻页</p>
  154. <img src="./Public/Member/manual/img/2xian.png">
  155. </div>
  156. <div>
  157. <p>上一页</p>
  158. <img src="./Public/Member/manual/img/3xian.png">
  159. </div>
  160. <div style="width: 70px;">
  161. <p>当前页面/总页数</p>
  162. <img src="./Public/Member/manual/img/4xian.png">
  163. </div>
  164. <div>
  165. <p>下一页</p>
  166. <img src="./Public/Member/manual/img/3xian.png">
  167. </div>
  168. <div>
  169. <p>放大/还原</p>
  170. <img src="./Public/Member/manual/img/2xian.png">
  171. </div>
  172. <div>
  173. <p>使用帮助</p>
  174. <img src="./Public/Member/manual/img/1xian.png">
  175. </div>
  176. <div class="helpqr">
  177. <p>手机扫码阅读</p>
  178. <img src="./Public/Member/manual/img/1xian.png">
  179. </div>
  180. </div>
  181. </div>
  182. <div class="help_m"></div>
  183. </div>
  184. <div class="puc_bg" style="display: block;background: transparent;backdrop-filter: none;"></div>
  185. <i class="puc_col2 book_close" style="display: none;"> </i>
  186. <script>
  187. var thumbnailoff = false // 缩略图开关
  188. var thumbnailinit = true
  189. var onpalyer = false // 自动翻页开关
  190. var palytime = null // 定时器
  191. var timenum = 5000 // 定时器
  192. var flsizeoff = false // 缩放开关
  193. var helptem = false // 帮助开关
  194. var blsalc = 1 // 书的缩放比例
  195. var winsalc = 1 // 缩放比例
  196. var panzoom = null// 放大拖动
  197. if(/windows phone|iphone|android/ig.test(window.navigator.userAgent)){
  198. $(".book_close").css("top",".3rem");
  199. $(".book_close").css("right",".3rem");
  200. }
  201. $("#flipbook").append('<div class="page" style="width:' + $OP.width + 'px;height:' + $OP.height + 'px"><img style="width:100%;height:100%" src = "' + $OP.list[0] + '"./></div>');
  202. // 缩略图
  203. $(".thumbnail").click(function () {
  204. if (thumbnailinit) {
  205. var tem = ''
  206. if ($OP.list.length % 2 == 0) {
  207. for (var i = 0; i < $OP.list.length; i++) {
  208. $(".thumbnail_box_v ul").append('<li data-page="' + (Number([i]) + 1) + '"><div class="xv"><img src="' + $OP.thumbnail[i] +'"><div></div></div></li>');
  209. if (i == 0 || i == $OP.list.length - 1) {
  210. tem += '<li data-page="' + (Number([i]) + 1) + '"><div class="pagebox"><div data-page="' + (Number([i]) + 1) + '"><img src="' + $OP.thumbnail[i] + '"></div></div></li>'
  211. } else if (i % 2 == 0) {
  212. tem += '<div data-page="' + (Number([i]) + 1) + '"><img src="' + $OP.thumbnail[i] + '"></div></li>'
  213. } else {
  214. tem += '<li data-page="' + (Number([i]) + 1) + '"><div class="pagebox"><div data-page="' + (Number([i]) + 1) + '"><img src="' + $OP.thumbnail[i] + '"></div>'
  215. }
  216. }
  217. } else {
  218. for (var i = 0; i < $OP.list.length; i++) {
  219. $(".thumbnail_box_v ul").append('<li data-page="' + (Number([i]) + 1) + '"><div class="xv"><img src="' + $OP.thumbnail[i] + '"><div></div></div></li>');
  220. if (i == 0) {
  221. tem += '<li data-page="' + (Number([i]) + 1) + '"><div class="pagebox"><div data-page="' + (Number([i]) + 1) + '"><img src="' + $OP.thumbnail[i] + '"></div></div></li>'
  222. } else if (i % 2 == 0) {
  223. tem += '<div data-page="' + (Number([i]) + 1) + '"><img src="' + $OP.thumbnail[i] + '"></div></li>'
  224. } else {
  225. tem += '<li data-page="' + (Number([i]) + 1) + '"><div class="pagebox"><div data-page="' + (Number([i]) + 1) + '"><img src="' + $OP.thumbnail[i] + '"></div>'
  226. }
  227. }
  228. }
  229. $(".thumbnail_box_p ul").append(tem);
  230. tem = null
  231. $(".pagebox>div").css("width", 70 * ($OP.width / $OP.height) + "px")
  232. $(".xv").css("padding-bottom", $OP.height / $OP.width * 100 + "%")
  233. thumbnailinit = false
  234. }
  235. thumbnailoff = !thumbnailoff
  236. if (thumbnailoff) {
  237. $(this).css("background-color", "rgba(0, 0, 0, 0.5) !important")
  238. var pagenum = $('.flipbook').turn('page')
  239. if ($(window).width() >= 600) {
  240. $(".thumbnail_box_p").fadeIn()
  241. var Oact_p = $(".thumbnail_box_p li div[data-page='" + pagenum + "']").parent().parent()
  242. Oact_p.addClass("active").siblings().removeClass("active")
  243. } else {
  244. $(".thumbnail_box_v").fadeIn().addClass('fadeInUp').removeClass("fadeOutDownBig");
  245. var Oact_v = $(".thumbnail_box_v li[data-page='" + pagenum + "']")
  246. Oact_v.addClass("active").siblings().removeClass("active")
  247. }
  248. } else {
  249. offthum()
  250. }
  251. pansepalyer()
  252. })
  253. // 缩略图拖动
  254. $('.thumbnail_box_p ul').dragscroll({
  255. direction: 'scrollLeft',
  256. });
  257. // 关闭缩略图
  258. function offthum() {
  259. thumbnailoff = false
  260. $(".thumbnail").css("background-color", "")
  261. $(".thumbnail_box_p").fadeOut()
  262. $(".thumbnail_box_v").fadeOut()
  263. }
  264. // 缩略图跳转
  265. $(".thumbnail_box_p").on("click", "li", function () {
  266. $('.flipbook').turn('page', $(this).data("page"))
  267. $(this).addClass("active").siblings().removeClass("active")
  268. })
  269. $(".thumbnail_box_v").on("click", "li", function () {
  270. thumbnailoff = !thumbnailoff
  271. $(".thumbnail_box_v").fadeOut().addClass('fadeOutDownBig').removeClass("fadeInUp");
  272. $('.flipbook').turn('page', $(this).data("page"))
  273. })
  274. $(".thumbnail_box_v .off").click(function () {
  275. thumbnailoff = !thumbnailoff
  276. $(".thumbnail_box_v").addClass('fadeOutDownBig').removeClass("fadeInUp");
  277. offthum()
  278. })
  279. // 自动翻页
  280. $(".playpage").click(function () {
  281. onpalyer = !onpalyer
  282. if (onpalyer) {
  283. $(".playpage").css("background-image", "url(./Public/Member/manual/img/zanting.png)")
  284. palytime = setInterval(function () {
  285. if ($('.flipbook').turn('page') != $('.flipbook').turn('pages')) {
  286. $('.flipbook').turn('next');
  287. } else {
  288. $('.flipbook').turn('page', 1);
  289. }
  290. }, timenum)
  291. if ($(window).width() >= 600) {
  292. speedOff('.speed_p')
  293. } else {
  294. speedOff('.speed_v')
  295. }
  296. offthum()
  297. } else {
  298. pansepalyer()
  299. }
  300. })
  301. // 拉杆4秒自动隐藏
  302. var disout
  303. function speedOff(e) {
  304. $(e).fadeIn()
  305. if (disout) clearTimeout(disout);
  306. disout = setTimeout(function () {
  307. $(e).fadeOut()
  308. }, 4000)
  309. }
  310. // 翻页时间控制
  311. var progress_p = new Progress('.progress_p', {
  312. val: 80,
  313. size: 4,
  314. precision: 0,
  315. drag: true,
  316. direction: 'horizontal',
  317. getVal: function (el) {
  318. speedOff('.speed_p')
  319. timenum = ((100 - el.val) / 100 * 20 + 1) * 1000
  320. clearInterval(palytime)
  321. palytime = setInterval(function () {
  322. if ($('.flipbook').turn('page') != $('.flipbook').turn('pages')) {
  323. $('.flipbook').turn('next');
  324. } else {
  325. $('.flipbook').turn('page', 1);
  326. }
  327. }, timenum)
  328. }
  329. })
  330. var progress_v = new Progress('.progress_v', {
  331. val: 80, //初始值 取值范围:0-100
  332. size: 4, //控件大小默认值为10,可结合css自行修改样式
  333. precision: 0, //val精度配置,默认保留0位小数,最多配位4位
  334. drag: true, //默认开启拖拽,关闭设为false,不配置默认为true
  335. direction: 'vertical', //方向 默认水平 vertical 垂直
  336. getVal: function (el) {
  337. speedOff('.speed_v')
  338. timenum = ((100 - el.val) / 100 * 20 + 1) * 1000
  339. clearInterval(palytime)
  340. palytime = setInterval(function () {
  341. if ($('.flipbook').turn('page') != $('.flipbook').turn('pages')) {
  342. $('.flipbook').turn('next');
  343. } else {
  344. $('.flipbook').turn('page', 1);
  345. }
  346. }, timenum)
  347. }
  348. })
  349. // 取消自动翻页
  350. function pansepalyer() {
  351. onpalyer = false
  352. $(".playpage").css("background-image", "url(./Public/Member/manual/img/bofang.png)")
  353. $(".speed_p").fadeOut()
  354. $(".speed_v").fadeOut()
  355. clearInterval(palytime)
  356. }
  357. // 上一页
  358. $(".shangyiye").click(function () {
  359. onprevious()
  360. offthum()
  361. })
  362. // 页码跳转
  363. var isval
  364. $("#pagenum").focus(function () {
  365. isval = $("#pagenum").val()
  366. $("#pagenum").val("")
  367. })
  368. $("#pagenum").keyup(function (event) {
  369. if (event.keyCode == 13) {
  370. gopage()
  371. }
  372. })
  373. $("#pagenum").blur(function () {
  374. gopage()
  375. })
  376. function gopage() {
  377. if ($("#pagenum").val() == isval.replace("./", "")) {
  378. $("#pagenum").val(isval)
  379. return
  380. }
  381. if ($("#pagenum").val() == "") {
  382. $("#pagenum").val(isval)
  383. } else {
  384. if ($("#pagenum").val() <= 0) {
  385. $('.flipbook').turn('page', "1");
  386. } else if ($("#pagenum").val() > $('.flipbook').turn('pages')) {
  387. $('.flipbook').turn('page', $('.flipbook').turn('pages'));
  388. } else {
  389. $('.flipbook').turn('page', $("#pagenum").val());
  390. }
  391. pansepalyer()
  392. isval = $("#pagenum").val()
  393. }
  394. }
  395. // 下一页
  396. $(".xiayiye").click(function () {
  397. onnext()
  398. offthum()
  399. })
  400. // 初始化panzoom
  401. $(".flipbook-panzoom").panzoom()
  402. flmove(true)
  403. var offs
  404. $(".flipbook-panzoom").on('panzoomzoom', function (event, scale) {
  405. flsizeoff = true
  406. enlarge()
  407. if (offs) clearTimeout(offs);
  408. offs = setTimeout(function () {
  409. if (scale.scale < 1) {
  410. narrow()
  411. } else {
  412. $.DialogByZ.Autofade({ Content: "双击可还原" })
  413. }
  414. }, 300)
  415. });
  416. // 放大与还原
  417. $(".flsize").click(function () {
  418. offthum()
  419. if (!flsizeoff) {
  420. enlarge()
  421. $.DialogByZ.Autofade({ Content: "双击可还原" })
  422. } else {
  423. narrow()
  424. }
  425. pansepalyer()
  426. })
  427. // 放大时双击还原
  428. let clicked = 1
  429. let clickedTime = {
  430. timeA: '',
  431. timeB: ''
  432. }
  433. $(".flipbook-panzoom").on('panzoomend', function (e, panzoom, matrix, changed) {
  434. // if (changed) {
  435. // 屏幕点击控制
  436. if ($(window).width() >= 600) {
  437. if (onpalyer) {
  438. speedOff('.speed_p')
  439. }
  440. } else {
  441. if (onpalyer) {
  442. speedOff('.speed_v')
  443. }
  444. }
  445. // } else {
  446. // 放大时双击还原
  447. if (clicked === 1) {
  448. clickedTime.timeA = new Date()
  449. clicked++
  450. } else if (clicked === 2) {
  451. clickedTime.timeB = new Date()
  452. if (Math.abs(clickedTime.timeA - clickedTime.timeB) < 200) {
  453. if (flsizeoff) {
  454. narrow()
  455. } else {
  456. enlarge()
  457. }
  458. clicked = 1
  459. } else {
  460. clickedTime.timeA = new Date()
  461. }
  462. }
  463. // }
  464. offthum()
  465. });
  466. // 放大
  467. function enlarge() {
  468. flsizeoff = true
  469. $(".flipbook-panzoom").panzoom("zoom", blsalc = 2, { // 缩放
  470. silent: true
  471. });
  472. $(".flsize").css("background-image", "url(./Public/Member/manual/img/comiissuoxiao.png)")
  473. flmove(false)
  474. }
  475. // 还原
  476. function narrow() {
  477. flsizeoff = false
  478. $(".flsize").css("background-image", "url(./Public/Member/manual/img/comiisfangda.png)")
  479. $(".flipbook-panzoom").panzoom("reset")
  480. blsalc = 1
  481. flmove(true)
  482. }
  483. // 是否禁止拖动
  484. function flmove(off) {
  485. $(".flipbook-panzoom").panzoom("option", {
  486. disableXAxis: off,
  487. disableYAxis: off,
  488. })
  489. }
  490. // 帮助
  491. $(".bangzhu").click(function () {
  492. offthum()
  493. helptem = !helptem
  494. if (helptem) {
  495. $(".help").fadeIn()
  496. $(".help_m").css("display", "block")
  497. } else {
  498. $(".help").fadeOut()
  499. $(".help_m").css("display", "none")
  500. }
  501. pansepalyer()
  502. })
  503. $(".help_m").click(function () {
  504. helptem = !helptem
  505. $(".help").fadeOut()
  506. $(".help_m").css("display", "none")
  507. })
  508. // 二维码
  509. $('.qrimg').qrcode({
  510. render: "canvas", //也可以替换为table
  511. text: window.location.href,
  512. size: 135,
  513. mode: 0,
  514. fill: "#000",
  515. background: "#fff",
  516. radius: .5
  517. });
  518. function isChrome() {
  519. return navigator.userAgent.indexOf('Chrome') != -1;
  520. }
  521. // 初始配置
  522. function loadApp() {
  523. var flipbook = $('.flipbook');
  524. // 检查CSS是否已经加载
  525. if (flipbook.width() == 0 || flipbook.height() == 0) {
  526. setTimeout(loadApp, 10);
  527. return;
  528. }
  529. // 翻书主体配置项
  530. $('.flipbook').turn({
  531. elevation: 50,// 转换期间页面的高度
  532. acceleration: !isChrome(),// 设置硬件加速模式,对于触摸设备(移动端),此值必须为真。
  533. pages: $OP.list.length,
  534. autoCenter: true, // 居中
  535. gradients: true,// 显示渐变阴影
  536. duration: 1000,// 设置翻页动画持续时间即翻页的快慢,默认600
  537. when: {
  538. // 页面启动时触发
  539. start: function (e, page, view) {
  540. setTimeout(function () {
  541. getpagenum()
  542. updateDepth()
  543. }, 100)
  544. },
  545. // 当前范围需要某些页面时 触发此事件
  546. missing: function (event, pages) {
  547. for (var i = 0; i < pages.length; i++) {
  548. addPage(pages[i]);
  549. }
  550. }
  551. }
  552. });
  553. getpagenum()
  554. }
  555. // 配置依赖文件
  556. yepnope({
  557. test: Modernizr.csstransforms,
  558. yep: ['./Public/Member/manual/lib/turn.min.js'],
  559. nope: ['./Public/Member/manual/lib/turn.html4.min.js'],
  560. both: ['./Public/Member/manual/js/index.js', './Public/Member/manual/lib/scissor.min.js', './Public/Member/manual/css/fl.css'],
  561. complete: loadApp
  562. });
  563. // 配置缩略图信息
  564. $OP.list.forEach(val => {
  565. var i = val.lastIndexOf(".")
  566. $OP.thumbnail.push(val.slice(0, i)+val.slice(i))
  567. });
  568. // 动态加载内容图片
  569. function addPage(page) {
  570. var pages = $('.flipbook').turn('pages');
  571. var element = $('<div class="page" style="width:' + $OP.width + 'px;height:' + $OP.height + 'px"></div>', {});
  572. if ($('.flipbook').turn('addPage', element, page)) {
  573. element.html('<img style="width:100%;height:100%" src = "' + $OP.list[page - 1] + '"./>');
  574. }
  575. }
  576. //鼠标滚轮事件
  577. $('.flipbook-viewport').mousewheel(function (event, delta, deltaX, deltaY) {
  578. if (blsalc <= 1) {
  579. if (delta == 1) {
  580. $('.flipbook').turn('previous');
  581. } else {
  582. $('.flipbook').turn('next');
  583. }
  584. flsizeoff = false
  585. $(".flsize").css("background-image", "url(./Public/Member/manual/img/comiisfangda.png)")
  586. pansepalyer()
  587. } else {
  588. if (delta == 1) {
  589. if (blsalc > 5) return
  590. blsalc = blsalc + 0.1
  591. } else {
  592. if (blsalc <= 1) return
  593. blsalc = blsalc - 0.1
  594. }
  595. flsizeoff = true
  596. $(".flipbook-panzoom").panzoom("zoom", blsalc, {
  597. silent: true
  598. });
  599. $(".flsize").css("background-image", "url(./Public/Member/manual/img/comiissuoxiao.png)")
  600. flmove(false)
  601. }
  602. })
  603. // wow动画
  604. if (!(/msie [6|7|8|9]/i.test(navigator.userAgent))) {
  605. new WOW().init();
  606. };
  607. // 手机阅读二维码
  608. $(".qrcode").hover(function () {
  609. $(".qrimg").fadeIn()
  610. }, function () {
  611. $(".qrimg").fadeOut()
  612. })
  613. // 页码显示
  614. function getpagenum() {
  615. $("#pagenum").val($('.flipbook').turn('page') + './' + $('.flipbook').turn('pages'))
  616. }
  617. // 执行上一页
  618. function onprevious() {
  619. if ($('.flipbook').turn('page') == 1) {
  620. $.DialogByZ.Autofade({ Content: "这是第一页" })
  621. }
  622. $('.flipbook').turn('previous');
  623. pansepalyer()
  624. }
  625. // 执行下一页
  626. function onnext() {
  627. if ($('.flipbook').turn('page') == $('.flipbook').turn('pages')) {
  628. $.DialogByZ.Autofade({ Content: "这是最后一页" })
  629. }
  630. $('.flipbook').turn('next');
  631. pansepalyer()
  632. }
  633. // 翻书厚度
  634. function updateDepth() {
  635. if ($(window).width() >= 600) {
  636. if($(".p"+$('.flipbook').turn('pages')).length){
  637. $(".p"+$('.flipbook').turn('pages')).addClass("plast")
  638. }
  639. $(".odd").each(function () {
  640. if ($(this).find(".oddshadow").length == 0) {
  641. $(this).append("<div class='oddshadow'></div>")
  642. }
  643. })
  644. $(".even").each(function () {
  645. if ($(this).find(".evenshadow").length == 0) {
  646. $(this).append("<div class='evenshadow'></div>")
  647. }
  648. })
  649. }
  650. var page = $('.flipbook').turn('page'),
  651. pages = $('.flipbook').turn('pages'),
  652. depthWidth = page / 4
  653. if (page == pages || page == 1) {
  654. $('.flipbook .thickness_left').css({
  655. width: 0,
  656. left: 0
  657. });
  658. $('.flipbook .thickness').css({
  659. width: 0,
  660. right: 0
  661. });
  662. } else {
  663. $('.flipbook .thickness_left').css({
  664. width: depthWidth / winsalc,
  665. left: -depthWidth / winsalc
  666. });
  667. $('.flipbook .thickness').css({
  668. width: (pages / 4 - depthWidth) / winsalc,
  669. right: -(pages / 4 - depthWidth) / winsalc
  670. });
  671. }
  672. }
  673. $(function () {
  674. // 翻书触摸触发翻页
  675. $("#flipbook").swipe({
  676. swipeLeft: function () {
  677. if (!flsizeoff) {
  678. onnext()
  679. }
  680. },
  681. swipeRight: function () {
  682. if (!flsizeoff) {
  683. onprevious()
  684. }
  685. }
  686. })
  687. // title提示语
  688. $('.tooltip').tooltipster({
  689. theme: 'tooltipster-borderless',
  690. delay: 600,
  691. });
  692. })
  693. // 宽度大小适配
  694. function windowonresize() {
  695. if ($(window).width() >= 600) {
  696. // PC
  697. $('.flipbook').turn('display', "double");
  698. $(".bottom_box").addClass("bottom_p").removeClass("bottom_v")
  699. $(".help").addClass("help_p").removeClass("help_v")
  700. $(".qrcode").fadeIn()
  701. if ($OP.width * 2 > $(window).width() || $OP.height > $(window).height()) {
  702. winsalc = ($(window).width() - 100) / ($OP.width * 2)
  703. var heisalc = ($(window).height() - 120) / $OP.height
  704. var salc = winsalc > heisalc ? heisalc : winsalc
  705. $(".flipbook-viewport").css({
  706. "transform": "scale(" + salc + ")",
  707. })
  708. } else {
  709. $(".flipbook-viewport").css({
  710. "transform": "scale(1)",
  711. })
  712. }
  713. $(".flipbook-viewport .flipbook").css({ "width": ($OP.width * 2) + "px", "height": $OP.height + "px", "left": "-" + $OP.width + "px", "top": "-" + ($OP.height / 2) + "px" })
  714. $(".page").css("height", $OP.height)
  715. } else {
  716. // 移动端
  717. $(".odd .oddshadow").remove()
  718. $(".even .evenshadow").remove()
  719. $('.flipbook').turn('display', "single");
  720. $(".bottom_box").addClass("bottom_v").removeClass("bottom_p")
  721. $(".help").addClass("help_v").removeClass("help_p")
  722. $(".qrcode").fadeOut()
  723. if ($OP.width * 2 > $(window).width()) {
  724. winsalc = $(window).width() / ($OP.width * 2)
  725. $(".flipbook-viewport").css({
  726. "transform": "scale(" + winsalc + ")",
  727. })
  728. } else {
  729. $(".flipbook-viewport").css({
  730. "transform": "scale(1)",
  731. })
  732. }
  733. $(".flipbook-viewport .flipbook").css({ "width": ($OP.width * 2) + "px", "height": $OP.height * 2 + "px", "left": "-" + $OP.width + "px", "top": "-" + ($OP.height) + "px" })
  734. $(".page").css("height", $OP.height * 2)
  735. }
  736. offthum()
  737. $(".speed_p").hide()
  738. $(".speed_v").hide()
  739. pansepalyer()
  740. }
  741. // 监听窗口
  742. var timer;
  743. $(window).resize(function () {
  744. if (timer) clearTimeout(timer);
  745. timer = setTimeout(function () {
  746. windowonresize()
  747. setTimeout(() => {
  748. windowonresize()
  749. }, 500);
  750. }, 300)
  751. })
  752. // 微信禁止拖动
  753. // document.body.addEventListener('touchmove', function (evt) {
  754. // evt.preventDefault()
  755. // }, { passive: false })
  756. // 苹果
  757. function isIOS() {
  758. var u = navigator.userAgent;
  759. var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
  760. if (isiOS) {
  761. $(".bottom_v").css("height", "60px")
  762. }
  763. }
  764. // 公共关闭弹窗
  765. $(document).on('click','.book_close',function(){
  766. if(window.parent.vue_app){
  767. window.parent.vue_app.close_iframe();
  768. return
  769. }
  770. window.parent.close_iframe();
  771. });
  772. </script>
  773. </body>
  774. </html>