exam_detail_img.js 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. $(function () {
  2. const globaldata = {
  3. active: null,
  4. maxlength: null,
  5. addHandler: function (element, type, handler) {
  6. if (element.addEventListener) {
  7. element.addEventListener(type, handler, false);
  8. } else if (element.attachEvent) {
  9. element.attachEvent("on" + type, handler);
  10. } else {
  11. element["on" + type] = handler;
  12. }
  13. }
  14. };
  15. // 实现跳转
  16. $(".my-nav").click(function (e) {
  17. let active = Array.prototype.slice.call($(this).find("li")).indexOf(e.target);
  18. if (active == globaldata.active) return false;
  19. globaldata.active = active;
  20. $(this).find(".active").removeClass("active");
  21. $(e.target).addClass("active");
  22. // 获取跳转锚点到顶部的距离
  23. let title = $("#title").offset().top;
  24. let edi_answer = $("#edi-answer").offset().top;
  25. let interactive = $("#interactive").offset().top;
  26. let lis = $(this).find("li");
  27. let i = Array.prototype.slice.call(lis).indexOf($(e.target)[0]);
  28. // 储存锚点
  29. let maos = [title, edi_answer, interactive];
  30. $(window).scrollTop(maos[i]);
  31. })
  32. // 查看更多
  33. $("[data-click='open']").click(function () {
  34. let bool = $(this).data("open");
  35. if (!bool) {
  36. $(this).data("open", true).children("span").text("收起阅读全部").parent().children("i").removeClass("glyphicon-chevron-down").addClass("glyphicon-chevron-up").parent().parent().parent().addClass("edi-body-height");
  37. } else {
  38. $(this).data("open", false).children("span").text("展开阅读全部").parent().children("i").removeClass("glyphicon-chevron-up").addClass("glyphicon-chevron-down").parent().parent().parent().removeClass("edi-body-height");
  39. }
  40. })
  41. // 进度条拖动
  42. window.onresize = function () {
  43. globaldata.maxlength = $(".pro").width();
  44. }
  45. // 进度条宽度
  46. let maxlength = globaldata.maxlength || $(".pro").width();
  47. // 移动dom
  48. let movedom = $(".pro>.icon");
  49. //起始坐标
  50. let startX = null;
  51. // 分数
  52. let gross = $(".pro").data("gross");
  53. // 进度条
  54. let showdom = $(".pro>.pro-content");
  55. // 显示数值
  56. let pro_show = $(".pro>.pro-show");
  57. movedom.mousedown(function (e) {
  58. e.preventDefault();
  59. $(".prog>.title").hide();
  60. $(".pro>.pro-title").hide();
  61. startX = e.pageX;
  62. $(this).css('left') ? $(this).css('left') : $(this).css('left', '0px');
  63. let startLeft = parseInt($(this).css('left'));
  64. let $that = $(this);
  65. var move = 'ontouchstart' in document ? 'touchstart' : 'mousemove';
  66. document.onmousemove = function (e) {
  67. let moveX = (e.pageX - startX) > 0 ? true : false;
  68. let movesection = startLeft + (e.pageX - startX);
  69. if (movesection >= 0 && movesection <= maxlength) {
  70. let percent = (movesection / maxlength).toFixed(4) * gross;
  71. percent = Math.round(percent) + "分";
  72. let move = movesection + "px";
  73. showdom.css("width", move);
  74. pro_show.css("left", move).text(percent);
  75. $that.css("left", move)
  76. window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
  77. }
  78. }
  79. })
  80. movedom.mouseup(function () { document.onmousemove = null })
  81. movedom.mouseleave(function () { document.onmousemove = null })
  82. // 不能实现的事件
  83. function warm () {
  84. alert("请在大联考App内登录后操作")
  85. }
  86. // $(".edi-open>span[data-click='open']").click(warm)
  87. $(".edi-user").click(warm)
  88. $(".choose").click(warm)
  89. // 默认 时间
  90. $(".pull-right>span").click(function () {
  91. $(this).addClass('active').siblings("span").removeClass("active");
  92. })
  93. })