Html页面代码如下:
<html>
<head>
<!-- content type -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<!-- viewport -->
<meta content="width=device-width,initial-scale=1" name="viewport">
<!-- title -->
<title>${content.title!}丨${channel.name}丨${site.name}</title>
<!--js css文件-->
[#include "../include/header.html"/]
<!-- add css -->
<link type="text/css" href="../../../../../../thirdparty/e-books/css/style.css" rel="stylesheet">
<!-- add js -->
<script src="../../../../../../thirdparty/e-books/js/jquery.js"></script>
<script src="../../../../../../thirdparty/e-books/js/turn.js"></script>
<script src="../../../../../../thirdparty/e-books/js/jquery.fullscreen.js"></script>
<script src="../../../../../../thirdparty/e-books/js/jquery.address-1.6.min.js"></script>
<link rel="stylesheet" type="text/css" href="./../../../../../thirdparty/Turn/css/basic.css"/>
<script type="text/javascript" src="./../../../../../thirdparty/Turn/js/modernizr.2.5.3.min.js"></script>
<script type="text/javascript" src="./../../../../../thirdparty/Turn/js/main.js"></script>
</head>
<!-- 加载框 -->
<div class="shade">
<div class="sk-fading-circle">
<div class="sk-circle1 sk-circle"></div>
<div class="sk-circle2 sk-circle"></div>
<div class="sk-circle3 sk-circle"></div>
<div class="sk-circle4 sk-circle"></div>
<div class="sk-circle5 sk-circle"></div>
<div class="sk-circle6 sk-circle"></div>
<div class="sk-circle7 sk-circle"></div>
<div class="sk-circle8 sk-circle"></div>
<div class="sk-circle9 sk-circle"></div>
<div class="sk-circle10 sk-circle"></div>
<div class="sk-circle11 sk-circle"></div>
<div class="sk-circle12 sk-circle"></div>
</div>
<div class="number"></div>
</div>
<!-- 书的外边框 -->
<div class="flipbook-viewport" style="display:none;">
<div class="previousPage"></div>
<div class="nextPage"></div>
<div class="return"></div>
<img class="btnImg" src="./../../../../../thirdparty/Turn/image/btn.gif"/>
<!--<input type="button" onclick="goPage(20)" value="test">-->
<div class="container">
<div class="flipbook">
</div>
</div>
</div>
<!--章节按钮-->
<div class="detail-slide-btn book-slide-btn" style="right: 0.2rem; bottom: 0.2rem;">
<div class="detail-btn-item" uk-toggle="target: #offcanvas-flip"><a><i class="iconfont icon-mulu"></i></a></div>
</div>
<div id="offcanvas-flip" uk-offcanvas="flip: true; overlay: true">
<div class="uk-offcanvas-bar" style="width: 150px">
<div class="detail-pz-ml">
<h3>${channel.name}</h3>
<ul>
[@cms_content_list channelId=channel.id orderBy='1']
[#assign index = 0]
[#list tag_list as a]
<li>
<a href="javascript:void(0)" onclick="goPage('${index+1}')">${a.title}</a>
[#assign index = index + a.pictures?size]
</li>
[/#list]
[/@cms_content_list]
</ul>
</div>
</div>
</div>
<script type="text/javascript">
// 加载图片
// 背景图片加载方式,注意路径
let loading_img_url = [];
$(function(){
initQhfyImages();
})
function initQhfyImages(){
//预加载
$.ajax({
type:"POST",
url:"${base}/content/getQhysImages.htm",
data:{channelId:272},
dataType:"JSON",
success:function (res){
loading_img_url = res.body
let length = loading_img_url.length;
let tagHtml = "";
for (let i = 0; i < length; i++) {
if (i == 0) {
tagHtml += ' <div id="first" ><img src="' + loading_img_url[i] + '" alt="" style="width:100%;height:100%;"/></div>';
} else if (i == length-1) {
tagHtml += ' <div id="end" ><img src="' + loading_img_url[i] + '" alt="" style="width:100%;height:100%;"/></div>';
} else {
tagHtml += ' <div ><img src="' + loading_img_url[i] + '" alt="" style="width:100%;height:100%;"/></div>';
}
}
$(".flipbook").append(tagHtml);
$(".flipbook-viewport").show();
$('.shade').hide();
loadApp();
}
})
}
function goPage(page){
alert(page);
UIkit.offcanvas($("#offcanvas-flip")).hide();
$(".flipbook").turn("page", page);
}
</script>
<script>
//自定义弹出层
(function ($) {
//ios confirm box
jQuery.fn.confirm = function (title, option, okCall, cancelCall) {
let defaults = {
title: null, //what text
cancelText: '取消', //the cancel btn text
okText: '确定' //the ok btn text
};
if (undefined === option) {
option = {};
}
if ('function' != typeof okCall) {
okCall = $.noop;
}
if ('function' != typeof cancelCall) {
cancelCall = $.noop;
}
let o = $.extend(defaults, option, {title: title, okCall: okCall, cancelCall: cancelCall});
let $dom = $(this);
let dom = $('<div class="g-plugin-confirm">');
let dom1 = $('<div>').appendTo(dom);
let dom_content = $('<div>').html(o.title).appendTo(dom1);
let dom_btn = $('<div>').appendTo(dom1);
let btn_cancel = $('<a href="#"></a>').html(o.cancelText).appendTo(dom_btn);
let btn_ok = $('<a href="#"></a>').html(o.okText).appendTo(dom_btn);
btn_cancel.on('click', function (e) {
o.cancelCall();
dom.remove();
e.preventDefault();
});
btn_ok.on('click', function (e) {
o.okCall();
dom.remove();
e.preventDefault();
});
dom.appendTo($('body'));
return $dom;
};
})(jQuery);
//上一页
$(".previousPage").bind("click", function () {
let pageCount = $(".flipbook").turn("pages");//总页数
let currentPage = $(".flipbook").turn("page");//当前页
if (currentPage >= 2) {
$(".flipbook").turn('page', currentPage - 1);
} else {
UIkit.notification({
message: '<div style="width:100%;text-align:center;color:#faa05a">已经是第一页 !</div>',
pos: 'top-center',
timeout: 3000
});
}
});
// 下一页
$(".nextPage").bind("click", function () {
let pageCount = $(".flipbook").turn("pages");//总页数
let currentPage = $(".flipbook").turn("page");//当前页
if (currentPage <= pageCount) {
$(".flipbook").turn('page', currentPage + 1);
if(currentPage == pageCount){
UIkit.notification({
message: '<div style="width:100%;text-align:center;color:#faa05a">已经是最后一页 !</div>',
pos: 'top-center',
timeout: 3000
});
}
}
});
//返回到目录页
$(".return").bind("click", function () {
let currentPage = $(".flipbook").turn("page");//当前页
if(currentPage == 1){
UIkit.notification({
message: '<div style="width:100%;text-align:center;color:#faa05a">当前是首页 !</div>',
pos: 'top-center',
timeout: 3000
});
return false;
}
$(document).confirm('您确定要返回首页吗?', {}, function () {
$(".flipbook").turn('page', 1); //跳转页数
}, function () {
});
});
</script>
</body>
</html>
Java代码如下:
@PostMapping("/content/getQhysImages.htm")
public void getQhysImages(Integer channelId, HttpServletRequest request, HttpServletResponse response){
List<Object[]> list = contentMng.getQhysImages(channelId);
JSONArray jsonArray=new JSONArray();
for (int i = 0; i < list.size(); i++) {
jsonArray.put(list.get(i));
}
String body = jsonArray.toString();
String message = Constants.API_MESSAGE_SUCCESS;
String code = ResponseCode.API_CODE_CALL_SUCCESS;
ApiResponse apiResponse = new ApiResponse(request, body, message, code);
ResponseUtils.renderApiJson(response, request, apiResponse);
}