base.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. var spiServer = $("#spiServer").val();
  2. var isPC = ($(window).width()>768);
  3. var classifyData = [];
  4. var mainClassify = new Vue({
  5. el: '#mainClassify',
  6. data: {
  7. classify: []
  8. },
  9. methods: {},
  10. created: function () {
  11. var _self = this;
  12. $.getJSON(spiServer+"/product/classify").done(function (r) {
  13. if (r.code === 0 && r.data) {
  14. _self.classify = r.data;
  15. classifyData = r.data;
  16. if(isPC){
  17. setTimeout(function(){
  18. $('#mainClassify').slide({
  19. mainCell:".clsCon"
  20. ,titCell:".clsTab a"
  21. ,trigger: "mouseover"
  22. });
  23. },500);
  24. }
  25. }
  26. });
  27. }
  28. });
  29. function jqClickShow(tab, con){
  30. $("body").on("click", tab, function(e){
  31. e.stopPropagation();
  32. if($(tab).hasClass("on")){
  33. $(tab).removeClass("on");
  34. $(con).slideUp("fast");
  35. }else{
  36. $(tab).addClass("on");
  37. $(con).slideDown("fast");
  38. }
  39. }).on("click", function(){
  40. $(tab).removeClass("on");
  41. $(con).slideUp("fast");
  42. });
  43. }
  44. function jqHoverShow(tab, con){
  45. $("body").on("mouseover", tab, function(e){
  46. e.stopPropagation();
  47. if($(tab).hasClass("on")){
  48. $(tab).removeClass("on");
  49. $(con).slideUp("fast");
  50. }else{
  51. $(tab).addClass("on");
  52. $(con).slideDown("fast");
  53. }
  54. }).on("mouseover", con, function(e){
  55. e.stopPropagation();
  56. }).on("mouseover", function(e){
  57. $(tab).removeClass("on");
  58. $(con).slideUp("fast");
  59. });
  60. }
  61. function jqSelect(selectBox){
  62. $("body").on("click", selectBox, function(e){
  63. e.stopPropagation();
  64. var select = $(this).find("select");
  65. var options = select.find("option");
  66. var list = "";
  67. for (var i=0; i<options.length; i++){
  68. list += '<li data-id="'+$(options[i]).val()+'">'+$(options[i]).text()+'</li>';
  69. if($(options[i]).val()===select.val()){
  70. $(this).find("[data-select]").text($(options[i]).text()).attr('data-select',$(options[i]).val());
  71. }
  72. }
  73. $(this).find("ul").html(list);
  74. $(this).find("ul").slideToggle("fast");
  75. }).on("click", selectBox + " li", function(e){
  76. e.stopPropagation();
  77. $(this).parent().prev().attr('data-select',$(this).attr("data-id")).text($(this).text());
  78. $(this).parents("pc").next().val($(this).attr("data-id"));
  79. $(this).parent().slideUp("fast");
  80. }).on("click", function(){
  81. $(selectBox).find("ul").slideUp("fast");
  82. });
  83. }
  84. $(function(){
  85. if(isPC){
  86. jqClickShow(".baseHeadTop .cTab", ".baseHeadTop .cShow");
  87. jqSelect(".jqSelect");
  88. jqHoverShow(".classBtn", "#mainClassify");
  89. }else{
  90. alert(isPC);
  91. }
  92. });