related_para.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. function related_para_dlg_init(title = "Related") {
  2. $("body").append(
  3. '<div id="related_para_dlg" title="' + title + '"><div id="related_para_dlg_content"></div></div>'
  4. );
  5. $("#related_para_dlg").dialog({
  6. autoOpen: false,
  7. width: 550,
  8. buttons: [
  9. {
  10. text: "Close",
  11. click: function () {
  12. $(this).dialog("close");
  13. },
  14. },
  15. ],
  16. });
  17. }
  18. function related_para_dlg_open(book, para) {
  19. $.get(
  20. "../term/related_para.php",
  21. {
  22. book: book,
  23. para: para,
  24. },
  25. function (data) {
  26. let para = JSON.parse(data);
  27. let html = related_para_dlg_render(para);
  28. $("#related_para_dlg_content").html(html);
  29. $("#related_para_dlg").dialog("open");
  30. }
  31. );
  32. }
  33. function related_para_dlg_render(para) {
  34. let output = "";
  35. if(Array.isArray(para.book_list)){
  36. for (const iterator of para.book_list) {
  37. output += "<div>";
  38. if (para.curr_book_id == iterator.id) {
  39. output += "<b>" + iterator.title + "</b>";
  40. } else {
  41. //找到与这个书匹配的段落
  42. let paraList = new Array();
  43. for (const ipara of para.data) {
  44. if (ipara.bookid == iterator.id) {
  45. paraList.push(ipara);
  46. }
  47. }
  48. if(paraList.length>0){
  49. output +=
  50. "<a href='../reader/?view=chapter&book=" +
  51. paraList[0].book +
  52. "&par=" +
  53. paraList[0].para +
  54. "' target='_blank'>" +
  55. iterator.title +
  56. "</a>";
  57. }
  58. }
  59. output += "</div>";
  60. }
  61. }else{
  62. output += "no related paragraph";
  63. output += "</div>";
  64. }
  65. return output;
  66. }