tabs.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /**
  2. * Created by fuxiaohei on 14-6-26.
  3. */
  4. function Tabs(selector) {
  5. function hide($nav) {
  6. console.log("hide", $nav);
  7. $nav.removeClass("js-tab-nav-show");
  8. $($nav.data("tab-target")).removeClass("js-tab-show").hide();
  9. }
  10. function show($nav) {
  11. console.log("show", $nav);
  12. $nav.addClass("js-tab-nav-show");
  13. $($nav.data("tab-target")).addClass("js-tab-show").show();
  14. }
  15. var $e = $(selector);
  16. if ($e.length) {
  17. // pre-assign init index
  18. var $current = $e.find('.js-tab-nav-show');
  19. if ($current.length) {
  20. $($current.data("tab-target")).addClass("js-tab-show");
  21. }
  22. // bind nav click
  23. $e.on("click", ".js-tab-nav", function () {
  24. var $this = $(this);
  25. // is showing, not change.
  26. if ($this.hasClass("js-tab-nav-show")) {
  27. return;
  28. }
  29. $current = $e.find(".js-tab-nav-show").eq(0);
  30. hide($current);
  31. show($this);
  32. });
  33. console.log("init tabs @", selector)
  34. }
  35. }