Lnav.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. Namespace.register("U.Control.Lnav");
  2. //滑动栏命名空间 曾昊杰 郑炳圳
  3. /*window.onload = function () {
  4. U.Control.Lnav.A();//生成元素
  5. }*/
  6. U.Control.Lnav.A = function () {
  7. a = U.Control.Lnav.CreForm(); //获取生成的元素
  8. $("#U_Control_Lnav_tab")[0].style.left = -$("#U_Control_Lnav_tab")[0].offsetWidth + "px"; //区域滑动
  9. $(".U_Control_Lnav_touch")[0].addEventListener('touchstart', function (e) { //添加拖动开始事件
  10. U.UF.EV.stopBubble();
  11. nStartY = e.targetTouches[0].pageY; //获取this的y坐标
  12. nStartX = e.targetTouches[0].pageX; //获取this的x坐标
  13. U.Control.Lnav.pageX = nStartX; //把x坐标传递给全局变量
  14. U.Control.Lnav.left = $("#U_Control_Lnav_tab")[0].offsetLeft; //把元素当前的left传递给全局变量
  15. $("#U_Control_Lnav_tab")[0].className = "U_Control_Lnav_body"; //取消类名
  16. //console.log("开始:"+nStartY+" "+nStartX)
  17. });
  18. $(".U_Control_Lnav_touch")[0].addEventListener('touchmove', function (e) {
  19. U.UF.EV.stopBubble();
  20. $("#U_Control_Lnav_shade")[0].style.display = "block";
  21. var count;
  22. if (-$("#U_Control_Lnav_tab")[0].offsetLeft > $("#U_Control_Lnav_tab")[0].offsetWidth / 4) {
  23. count = -$("#U_Control_Lnav_tab")[0].offsetLeft / 1000;
  24. $("#U_Control_Lnav_shade")[0].style.opacity = 1 - count;
  25. }
  26. var a = -(U.Control.Lnav.pageX - e.targetTouches[0].pageX);
  27. //$("#U_Control_Lnav_tab")[0].offsetLeft==0
  28. //||$("#U_Control_Lnav_tab")[0].offsetWidth==$("#U_Control_Lnav_tab")[0].offsetLeft)
  29. if (U.Control.Lnav.left + a >= 0) { $("#U_Control_Lnav_tab")[0].style.left = "0px"; return; } //达到一定程度不执行程序
  30. if (U.Control.Lnav.left + a <= -($("#U_Control_Lnav_tab")[0].offsetWidth)) { //达到一定程度不执行程序
  31. $("#U_Control_Lnav_tab")[0].style.left = -$("#U_Control_Lnav_tab")[0].offsetWidth + "px";
  32. return;
  33. }
  34. $("#U_Control_Lnav_tab")[0].style.left = U.Control.Lnav.left + a + "px"; //调整元素坐标
  35. });
  36. $(".U_Control_Lnav_touch")[0].addEventListener('touchend', function (e) { //添加拖动取消事件
  37. U.UF.EV.stopBubble();
  38. //console.log(count);
  39. $("#U_Control_Lnav_tab")[0].className = "U_Control_Lnav_body U_Control_Lnav_on";
  40. if (-$("#U_Control_Lnav_tab")[0].offsetLeft < $("#U_Control_Lnav_tab")[0].offsetWidth / 2) {
  41. $("#U_Control_Lnav_tab")[0].style.left = -$("#U_Control_Lnav_tab")[0].offsetWidth / 4 + "px";
  42. // $("#U_Control_Lnav_shade")[0].style.display = "block";
  43. }
  44. else {
  45. $("#U_Control_Lnav_tab")[0].style.left = -$("#U_Control_Lnav_tab")[0].offsetWidth + "px"; //判断元素是否移动回起点
  46. $("#U_Control_Lnav_shade")[0].style.display = "none";
  47. }
  48. });
  49. return a; //返回元素
  50. }
  51. U.Control.Lnav.CreForm = function () { //生成元素
  52. var U_Control_Lnav_touch = $$("div", { "class": "U_Control_Lnav_touch" }, document.body);
  53. var U_Control_Lnav_tab = $$("div", { "id": "U_Control_Lnav_tab", "class": "U_Control_Lnav_body U_Control_Lnav_on" }, U_Control_Lnav_touch);
  54. var U_Control_Lnav_content = $$("div", { "class": "U_Control_Lnav_content" }, U_Control_Lnav_tab);
  55. var U_Control_Lnav_left_I = $$("div", { "class": " U_Control_Lnav_left" }, U_Control_Lnav_content);
  56. var U_Control_Lnav_left_I_A = $$("a", { "href": "", "innerHTML": "DESULTORY" }, U_Control_Lnav_left_I);
  57. var U_Control_Lnav_left_II = $$("div", { "class": " U_Control_Lnav_left" }, U_Control_Lnav_content);
  58. var U_Control_Lnav_left_II_A = $$("a", { "href": "", "innerHTML": "SUMPTUOUS" }, U_Control_Lnav_left_II);
  59. var U_Control_Lnav_left_III = $$("div", { "class": " U_Control_Lnav_left" }, U_Control_Lnav_content);
  60. var U_Control_Lnav_left_III_A = $$("a", { "href": "", "innerHTML": "SCINTILLA" }, U_Control_Lnav_left_III);
  61. var U_Control_Lnav_left_IV = $$("div", { "class": " U_Control_Lnav_left" }, U_Control_Lnav_content);
  62. var U_Control_Lnav_left_IV_A = $$("a", { "href": "", "innerHTML": "PROPINQUITY" }, U_Control_Lnav_left_IV);
  63. var U_Control_Lnav_left_V = $$("div", { "class": " U_Control_Lnav_left" }, U_Control_Lnav_content);
  64. var U_Control_Lnav_left_V_A = $$("a", { "href": "", "innerHTML": "HARBINGER" }, U_Control_Lnav_left_V);
  65. var U_Control_Lnav_shade = $$("div", { "id": "U_Control_Lnav_shade", "style": { "display": "none"} }, U_Control_Lnav_touch);
  66. var U_Control_Lnav_Test = $$("div", { "id": "U_Control_Lnav_Test", "style": { }, "innerHTML": "请向右滑动" }, U_Control_Lnav_touch)
  67. return U_Control_Lnav_touch;
  68. }