index.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <?PHP
  2. include "../pcdl/html_head.php";
  3. ?>
  4. <body>
  5. <?php
  6. require_once("../pcdl/head_bar.php");
  7. ?>
  8. <style>
  9. #main_video_win iframe{
  10. width:100%;
  11. height:100%;
  12. }
  13. #main_tag span{
  14. margin: 2px;
  15. padding: 2px 12px;
  16. font-weight: 500;
  17. transition-duration: 0.2s;
  18. cursor: pointer;
  19. display: inline-flex;
  20. align-items: center;
  21. flex-wrap: nowrap;
  22. justify-content: center;
  23. font-size:110%;
  24. border: unset;
  25. border-radius: 0;
  26. border-bottom: 2px solid var(--nocolor);
  27. }
  28. #main_tag span:hover{
  29. background-color:unset;
  30. color:unset;
  31. border-color: var(--link-hover-color);
  32. }
  33. #main_tag .select{
  34. border-bottom: 2px solid var(--link-color);
  35. }
  36. tag{
  37. background-color: var(--btn-color);
  38. margin: 0 0.5em;
  39. padding: 3px 5px;
  40. border-radius: 4px;
  41. display:inline-flex;
  42. border: 1.5px solid;
  43. border-color: #707070;
  44. }
  45. tag .icon:hover{
  46. background-color: silver;
  47. }
  48. </style>
  49. <?php
  50. //
  51. require_once "../path.php";
  52. require_once "../public/_pdo.php";
  53. require_once '../media/function.php';
  54. require_once '../public/function.php';
  55. echo "<div id='course_head_bar' style='background-color:var(--tool-bg-color1);padding:1em 10px 10px 10px;'>";
  56. echo "<div class='index_inner '>";
  57. echo "<div style='font-size:140%'>";
  58. echo "</div>";
  59. echo '<div id="main_tag" style="">';
  60. echo '<span tag="sutta">Sutta</span>';
  61. echo '<span tag="vinaya">Vinaya</span>';
  62. echo '<span tag="abhidhamma">Abhidhamma</span>';
  63. echo '<span tag="mūla">Mūla</span>';
  64. echo '<span tag="aṭṭhakathā">Aṭṭhakathā</span>';
  65. echo '<span tag="ṭīkā">ṭīkā</span>';
  66. echo '<span tag="añña">añña</span>';
  67. echo '</div>';
  68. echo '<div id="tag_selected" class="summary" style="padding-bottom:5px;margin:0.5em 0;"></div>';
  69. echo '<div id="tag_others" class="summary" style="padding-bottom:5px;"></div>';
  70. echo "</div>";
  71. echo '</div>';
  72. ?>
  73. <div id ="book_list" class='index_inner' style='display: flex;flex-wrap: wrap;'>
  74. </div>
  75. <script>
  76. var main_tag="";
  77. var list_tag=new Array();
  78. $("span[tag]").click(function(){
  79. $(this).siblings().removeClass("select");
  80. $(this).addClass("select");
  81. main_tag = $(this).attr("tag");
  82. list_tag=new Array();
  83. tag_changed();
  84. render_tag_list();
  85. /*
  86. const tagSelected = document.getElementsByClassName("select");
  87. if(tagSelected){
  88. let tagList = new Array();
  89. for (const iterator of tagSelected) {
  90. tagList.push(iterator.getAttributeNode("tag").value);
  91. }
  92. main_tag = tagList[0];
  93. tag_changed();
  94. }
  95. */
  96. });
  97. function tag_changed(){
  98. let strTags = "";
  99. if(list_tag.length>0){
  100. strTags = main_tag + "," + list_tag.join();
  101. }
  102. else{
  103. strTags = main_tag;
  104. }
  105. console.log(strTags);
  106. $.get("book_tag.php",
  107. {
  108. tag:strTags
  109. },
  110. function(data,status){
  111. let arrBookList = JSON.parse(data);
  112. let html="";
  113. let allTags = new Array();
  114. for (const iterator of arrBookList) {
  115. html += "<div style='width:25%;padding:0.5em;'>";
  116. html += "<div class='card' style='padding:10px;'>";
  117. html += "<div style='font-weight:700'>"+iterator[0].title+"</div>";
  118. html += "</div>";
  119. html += "</div>";
  120. let tags = iterator[0].tag.split("::");
  121. let currTag = new Array();
  122. currTag[main_tag] = 1;
  123. for (const scondTag of list_tag) {
  124. currTag[scondTag] = 1;
  125. }
  126. for (let tag of tags) {
  127. if(tag.slice(0,1)==":"){
  128. tag = tag.slice(1);
  129. }
  130. if(tag.slice(-1)==":"){
  131. tag = tag.slice(0,-1);
  132. }
  133. if(!currTag.hasOwnProperty(tag)){
  134. if(allTags.hasOwnProperty(tag) ){
  135. allTags[tag] += 1;
  136. }
  137. else{
  138. allTags[tag] = 1;
  139. }
  140. }
  141. }
  142. }
  143. $("#book_list").html(html);
  144. let strOthersTag = "";
  145. for (const key in allTags) {
  146. if (allTags.hasOwnProperty(key)) {
  147. strOthersTag += "<button onclick =\"tag_click('"+key+"')\" >"+key+"</button>";
  148. }
  149. }
  150. $("#tag_others").html(strOthersTag);
  151. });
  152. }
  153. function tag_click(tag){
  154. list_tag.push(tag);
  155. render_tag_list();
  156. let strTag = main_tag + "," + list_tag.join();
  157. tag_changed();
  158. }
  159. function render_tag_list(){
  160. let strListTag = "已经选择:";
  161. for (const iterator of list_tag) {
  162. strListTag +="<tag><span style='margin-right: 5px; font-weight: bold;'>"+iterator+"</span>";
  163. strListTag +="<span style='display: contents;' onclick =\"tag_remove('"+iterator+"')\">";
  164. strListTag +="<svg t= '1598638386903' class='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' p-id='1223' width='16' height='16'>";
  165. strListTag += "<path fill='#707070' p-id='1224' d='M512 620.544l253.3376 253.3376a76.6976 76.6976 0 1 0 108.544-108.544L620.6464 512l253.2352-253.3376a76.6976 76.6976 0 1 0-108.544-108.544L512 403.3536 258.6624 150.1184a76.6976 76.6976 0 1 0-108.544 108.544L403.3536 512 150.1184 765.3376a76.6976 76.6976 0 1 0 108.544 108.544L512 620.6464z' >";
  166. strListTag +="</path></svg>";
  167. strListTag +="</span></tag>";
  168. }
  169. $("#tag_selected").html(strListTag);
  170. }
  171. function tag_remove(tag){
  172. for(let i=0; i<list_tag.length;i++){
  173. if(list_tag[i]==tag){
  174. list_tag.splice(i,1);
  175. }
  176. }
  177. render_tag_list();
  178. tag_changed();
  179. }
  180. </script>
  181. <?php
  182. include "../pcdl/html_foot.php";
  183. ?>