zhiqim_tabnav.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. * 版权所有 (C) 2015 知启蒙(ZHIQIM) 保留所有权利。
  3. *
  4. * 指定登记&发行网站: https://www.zhiqim.com/ 欢迎加盟知启蒙,[编程有你,知启蒙一路随行]。
  5. *
  6. * 本文采用《知启蒙登记发行许可证》,除非符合许可证,否则不可使用该文件!
  7. * 1、您可以免费使用、修改、合并、出版发行和分发,再授权软件、软件副本及衍生软件;
  8. * 2、您用于商业用途时,必须在原作者指定的登记网站,按原作者要求进行登记;
  9. * 3、您在使用、修改、合并、出版发行和分发时,必须包含版权声明、许可声明,及保留原作者的著作权、商标和专利等知识产权;
  10. * 4、您在互联网、移动互联网等大众网络下发行和分发再授权软件、软件副本及衍生软件时,必须在原作者指定的发行网站进行发行和分发;
  11. * 5、您可以在以下链接获取一个完整的许可证副本。
  12. *
  13. * 许可证链接:http://zhiqim.org/licenses/zhiqim_register_publish_license.htm
  14. *
  15. * 除非法律需要或书面同意,软件由原始码方式提供,无任何明示或暗示的保证和条件。详见完整许可证的权限和限制。
  16. */
  17. +(function(Z)
  18. {//BEGIN
  19. // @version v1.1.0 @author zouzhigang 2015-11-12 新建与整理
  20. /********************************************/
  21. //标签页定义、加载和转换
  22. /********************************************/
  23. Z.Tabnav = {};
  24. Z.Tabnav.onclick = function(e)
  25. {
  26. //标签页切换选中
  27. var li = Z.E.current(e);
  28. Z(li).addClass("z-active").siblings("li").removeClass("z-active");
  29. //找到标签页是第n个
  30. var nth = Z(this).nth(li, ">nav>ul>li");
  31. //内容页切换显示
  32. Z(this).find(">section>div").removeClass("z-active");
  33. Z(this).find(">section>div:nth-child("+nth+")").addClass("z-active");
  34. //调用事件
  35. if (this.onchange){
  36. this.onchange();
  37. }
  38. Z.E.forbidden(e);
  39. }
  40. //缓存加载函数
  41. Z.Tabnav.cache = [];
  42. Z.Tabnav.load = function()
  43. {
  44. //1.先删除原来的缓存的点击事件
  45. Z.each(Z.Tabnav.cache, function(elem){
  46. Z(elem).offclick(Z.Tabnav.click, elem);
  47. });
  48. Z.Tabnav.cache = [];
  49. //2.再加载所有的标签页
  50. Z("[data-role=z-tabnav]").each(function(elem)
  51. {
  52. Z(elem).find(">nav>ul>li").each(function(li)
  53. {
  54. Z(li).click(Z.Tabnav.onclick, elem);
  55. Z.Tabnav.cache.push(elem);
  56. });
  57. });
  58. };
  59. Z.onload(Z.Tabnav.load);
  60. //END
  61. })(zhiqim);