books.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. {extend name="layout/layout" /}
  2. {block name="title"} <?php echo $category['name']; ?> {/block}
  3. {block name="css"}
  4. <!-- 这里引入css -->
  5. <link href="{:client_asset('/css/frontend/common.css')}" rel="stylesheet" type="text/css">
  6. <link href="{:client_asset('/css/frontend/recently.css')}" rel="stylesheet" type="text/css">
  7. <link href="{:client_asset('/css/frontend/classify.css')}" rel="stylesheet" type="text/css">
  8. {/block}
  9. {block name="zepto"}
  10. <!-- 这是zepto插件 -->
  11. <script type="text/javascript" src="{:client_asset('/libs/zepto/zepto.picLazyLoad.min.js')}"></script>
  12. {/block}
  13. {block name="menu_title"} <?php echo $category['name']; ?> {/block}
  14. {block name="main"}
  15. <!-- 这是正文 -->
  16. <div class="body_sytle">
  17. <div class="c_list_box">
  18. <div class="c_list_tab_box_2">
  19. <a href="javascript:;" class="hover" type="all">全部</a>
  20. <a href="javascript:;" type="serial">连载</a>
  21. <a href="javascript:;" type="finish">完本</a>
  22. <a href="javascript:;" type="free">免费</a>
  23. </div>
  24. <ul class="r_img_ul"></ul>
  25. </div>
  26. <div class="loading_box"><span>正在加载中,请稍后......</span></div>
  27. <div class="content_null_box" style="display: none;">
  28. <img src="{:client_asset('/img/frontend/search/search_icon_3.png')}" style="width: 1.28rem;" />
  29. <span>暂无该类别图书,换个条件试试看吧!</span>
  30. <div class="content_null_but_box">
  31. <a href="{:buildAppUrl('book', [])}" class="client-url">去首页看看</a>
  32. </div>
  33. </div>
  34. </div>
  35. {/block}
  36. {block name="footer"}
  37. {/block}
  38. {block name="js"}
  39. <script type="text/javascript">
  40. var pagenum=1,
  41. sBookstop=true,
  42. sBookstopTime=null,
  43. pagesize=10,
  44. type = $(".c_list_tab_box_2 a").eq(0).attr('type'),
  45. book_category_id = {$category.id};
  46. $(function(){
  47. loadingList();
  48. $(".c_list_tab_box_2 > a").click(function(){
  49. $(this).addClass("hover");
  50. $(this).siblings().removeClass("hover");
  51. $('.r_img_ul').html('').show();
  52. $('.content_null_box').hide();
  53. $('.loading_box').html('<span>正在加載中,请稍候......</span>').show();
  54. type = $(this).attr("type");
  55. sBookstop = true;
  56. pagenum = 1;
  57. loadingList();
  58. });
  59. $(window).scroll(function(){
  60. var nWinH = document.documentElement.clientHeight;
  61. var nScrollTop = (document.body.scrollTop || document.documentElement.scrollTop) + nWinH;
  62. var nBodyScrollH = document.body.scrollHeight;
  63. if(sBookstop && nBodyScrollH - nScrollTop < 240){
  64. bookstoptime();
  65. $('.loading_box').html('<span>正在加載中,请稍候......</span>').show();
  66. loadingList();
  67. }
  68. });
  69. });
  70. function loadingList(){
  71. $.ajax({
  72. type: 'get',
  73. url: '/clientwebapi/category/booklistapi',
  74. timeout: 10000,
  75. cache: false,
  76. dataType: 'json',
  77. data: {
  78. 'book_category_id':book_category_id,
  79. 'type':type,
  80. 'page':pagenum
  81. },
  82. success: function (data) {
  83. clearTimeout(sBookstopTime);
  84. if (typeof data == 'string') {
  85. data = JSON.parse(data);
  86. }
  87. if(data<=0 && pagenum == 1){
  88. $('.r_img_ul,.loading_box').hide();
  89. $('.content_null_box').show();
  90. sBookstop = false;
  91. return false;
  92. }
  93. var sLi = '';
  94. var sisfinish = '<i>已完结</i>';
  95. var type_name = $(".c_list_tab_box_2 a.hover").text();
  96. var bookInfoTemp = "{:buildAppUrl(\"bookinfo\", [\"book_id\" => \"mbid\"])}";
  97. for(var i=0; i<data.length; i++){
  98. var bookid = data[i]['id'];
  99. var bookInfoUrl = bookInfoTemp.replace("mbid", bookid);
  100. if(data[i].is_finish == 1){
  101. sisfinish = '<i>已完结</i>';
  102. }else{
  103. sisfinish = '<i style="color: #ffc701;">连载中</i>';
  104. }
  105. sLi += '<li class="section-block">\
  106. <a href="'+bookInfoUrl+'" class="client-url section-data" data-zone="'+type_name+'" data-book_id="'+bookid+'">\
  107. <div class="r_img">\
  108. <img src="{:client_asset('/img/frontend/images/default_img.png')}" data-original="'+ data[i]['image'] +'" />\
  109. </div>\
  110. <div class="r_img_text">\
  111. <h3>'+ data[i]['name'] +'</h3>\
  112. <p>'+ data[i]['description'] +'</p>\
  113. <div class="i_images_txt_other">\
  114. <strong>' + sisfinish +'\
  115. <b>'+ data[i]['author'] +'</b>\
  116. </strong>\
  117. <em>'+ data[i]['read_num'] +'人在追</em>\
  118. </div>\
  119. </div>\
  120. </a>\
  121. </li>';
  122. }
  123. $('.r_img_ul').append(sLi);
  124. pagenum ++;
  125. if(data.length < pagesize){
  126. $('.loading_box').html('<span>已显示全部</span>').show();
  127. sBookstop = false;
  128. }else{
  129. $('.loading_box').html('<span>下拉加载更多</span>').show();
  130. sBookstop = true;
  131. }
  132. $('img').picLazyLoad({
  133. effect : "fadeIn"
  134. });
  135. },
  136. error: function (XMLHttpRequest, textStatus, errorThrown) {
  137. if (typeof XMLHttpRequest == 'object') {
  138. XMLHttpRequest = fRead.jsonstringify(XMLHttpRequest);
  139. }
  140. }
  141. });
  142. }
  143. //防止重复请求数据
  144. function bookstoptime() {
  145. clearTimeout(sBookstopTime);
  146. sBookstop = false;
  147. sBookstopTime = setTimeout(function () {
  148. sBookstop = true;
  149. }, 3000);
  150. }
  151. </script>
  152. {/block}