Difference between revisions of "Template:CPU CHINA/common JS"

Line 1: Line 1:
 
// 菜单页
 
// 菜单页
 
var header = new Vue({
 
var header = new Vue({
    el: "#header",
+
  el: "#header",
    data: {
+
  data: {
        loading: true,
+
    loading: true,
        menu: "https://static.igem.org/mediawiki/2021/2/22/T--CPU_CHINA--face.png", //菜单按钮
+
    menu: "https://static.igem.org/mediawiki/2021/2/22/T--CPU_CHINA--face.png", //菜单按钮
        isOpen: false, //背景变化
+
    isOpen: false, //背景变化
        classA: false, //一级菜单是否打开
+
    classA: false, //一级菜单是否打开
        classB: false, //二级菜单是否打开
+
    classB: false, //二级菜单是否打开
        isActive: "", //背景变色
+
    isActive: "", //背景变色
        isActiveA: -1, //一级菜单悬停效果
+
    isActiveA: -1, //一级菜单悬停效果
        isActiveB: -1, //二级菜单悬停效果
+
    isActiveB: -1, //二级菜单悬停效果
        status: // 菜单的状态
+
    // 菜单的状态
 +
    status: {
 +
      open: "https://static.igem.org/mediawiki/2021/a/a4/T--CPU_CHINA--.png",
 +
      close: "https://static.igem.org/mediawiki/2021/2/22/T--CPU_CHINA--face.png",
 +
    },
 +
    clickon: true, //鼠标是否位于菜单上
 +
    ifon: true, //离开是否会关闭按钮
 +
    // 一级菜单列表
 +
    classList: ["Project", "Parts", "Model", "Human Practices", "Team"],
 +
    // 二级菜单刘表
 +
    classList2: [
 +
      [
 
         {
 
         {
            "open": "https://static.igem.org/mediawiki/2021/a/a4/T--CPU_CHINA--.png",
+
          text: "Design",
            "close": "https://static.igem.org/mediawiki/2021/2/22/T--CPU_CHINA--face.png"
+
          url: "",
 +
          num: 0,
 
         },
 
         },
         clickon: true, //鼠标是否位于菜单上
+
         {
        ifon: true, //离开是否会关闭按钮
+
          text: "Description",
        // 一级菜单列表
+
          url: "https://2021.igem.org/Team:CPU_CHINA/Description",
        classList: ["Project", "Parts", "Model", "Human Practices", "Team"],
+
          num: 1,
        // 二级菜单刘表
+
        classList2: [
+
            [{
+
                    text: "Design",
+
                    url: "",
+
                    num: 0,
+
                },
+
                {
+
                    text: "Description",
+
                    url: "https://2021.igem.org/Team:CPU_CHINA/Description",
+
                    num: 1,
+
                },
+
                {
+
                    text: "Proof of Concept",
+
                    url: "",
+
                    num: 2,
+
                },
+
                {
+
                    text: "Proposed Implementation",
+
                    url: "",
+
                    num: 3,
+
                },
+
                {
+
                    text: "Art Design",
+
                    url: "https://2021.igem.org/Team:CPU_CHINA/Art",
+
                    num: 4,
+
                },
+
                {
+
                    text: "Lab",
+
                    url: "",
+
                    num: 5,
+
                },
+
                {
+
                    text: "General Safety",
+
                    url: "https://2021.igem.org/Team:CPU_CHINA/Safety",
+
                    num: 6,
+
                },
+
            ],
+
            [{
+
                    text: "Parts Overview",
+
                    url: "https://2021.igem.org/Team:CPU_CHINA/partsOverview",
+
                    num: 0,
+
                },
+
                {
+
                    text: "Contributions",
+
                    url: "https://2021.igem.org/Team:CPU_CHINA/Contribution",
+
                    num: 1,
+
                },
+
                {
+
                    text: "Engineering Success",
+
                    url: "https://2021.igem.org/Team:CPU_CHINA/Engineering",
+
                    num: 2,
+
                },
+
                {
+
                    text: "Improvement",
+
                    url: "",
+
                    num: 3,
+
                },
+
            ],
+
            [{
+
                    text: "Summary",
+
                    url: "",
+
                    num: 0,
+
                },
+
                {
+
                    text: "Mathematical Modeling",
+
                    url: "",
+
                    num: 1,
+
                },
+
                {
+
                    text: "Molecular Modeling",
+
                    url: "",
+
                    num: 2,
+
                },
+
            ],
+
            [{
+
                    text: "Summary",
+
                    url: "",
+
                    num: 0,
+
                },
+
                {
+
                    text: "Integrated Human Practices",
+
                    url: "",
+
                    num: 1,
+
                },
+
                {
+
                    text: "Education and Public Engagement",
+
                    url: "",
+
                    num: 2,
+
                },
+
                {
+
                    text: "Entrepreneurship",
+
                    url: "",
+
                    num: 3,
+
                },
+
                {
+
                    text: "Plasticase",
+
                    url: "",
+
                    num: 4,
+
                },
+
                {
+
                    text: "Meddy:Relight My Star",
+
                    url: "https://2021.igem.org/Team:CPU_CHINA/MeddyRelightMyStar",
+
                    num: 5,
+
                }
+
            ],
+
            [{
+
                    text: "Members",
+
                    url: "https://2021.igem.org/Team:CPU_CHINA/Team",
+
                    num: 0,
+
                },
+
                {
+
                    text: "Attributions",
+
                    url: "https://2021.igem.org/Team:CPU_CHINA/Attributions",
+
                    num: 1,
+
                },
+
                {
+
                    text: "Collaboration",
+
                    url: "",
+
                    num: 2,
+
                },
+
                {
+
                    text: "Partnership",
+
                    url: "",
+
                    num: 3,
+
                },
+
            ],
+
        ],
+
    },
+
    methods: {
+
        // 鼠标悬停到菜单按钮上
+
        mouseover() {
+
            if (this.menu == this.status["close"]) {
+
                this.menu =
+
                    "https://static.igem.org/mediawiki/2021/9/91/T--CPU_CHINA--zheng.gif";
+
                this.isOpen = true;
+
                this.isActive = "menu";
+
                setTimeout(() => {
+
                    this.classA = true;
+
                    this.menu =
+
                        "https://static.igem.org/mediawiki/2021/a/a4/T--CPU_CHINA--.png";
+
 
+
                }, 1100);
+
            }
+
 
         },
 
         },
         // 关闭菜单
+
         {
        close() {
+
          text: "Proof of Concept",
            if (this.menu == this.status["open"]) {
+
          url: "",
                this.menu =
+
          num: 2,
                    "https://static.igem.org/mediawiki/2021/5/5b/T--CPU_CHINA--fan.gif";
+
                this.isActive = "";
+
                this.classB = false;
+
                this.classA = false;
+
                this.isActiveA = -1;
+
                setTimeout(() => {
+
                    this.isOpen = false;
+
                    this.menu =
+
                        "https://static.igem.org/mediawiki/2021/2/22/T--CPU_CHINA--face.png";
+
 
+
                }, 1100);
+
            }
+
 
         },
 
         },
         // 点击菜单按钮
+
         {
        click() {
+
          text: "Proposed Implementation",
            if (this.menu == this.status["open"]) {
+
          url: "",
                this.close();
+
          num: 3,
            } else if (this.menu == this.status["close"]) {
+
                this.mouseover();
+
            } else {
+
                return;
+
            }
+
 
         },
 
         },
         // 鼠标移动到菜单上
+
         {
        on() {
+
          text: "Art Design",
            this.clickon = false;
+
          url: "https://2021.igem.org/Team:CPU_CHINA/Art",
            this.ifon = false;
+
          num: 4,
 
         },
 
         },
         // 鼠标离开菜单
+
         {
        leave() {
+
          text: "Lab",
            setTimeout(() => {
+
          url: "",
                if (this.clickon) {
+
          num: 5,
                    this.ifon = true;
+
                    if (this.ifon && this.menu == this.status["open"]) {
+
                        this.close();
+
                    } else {
+
                        return;
+
                    }
+
                }
+
            }, 3000);
+
            this.clickon = true;
+
 
         },
 
         },
         // 鼠标点击空白关闭菜单
+
         {
        ifclick() {
+
          text: "General Safety",
            if (this.clickon && this.menu == this.status["open"]) {
+
          url: "https://2021.igem.org/Team:CPU_CHINA/Safety",
                this.close();
+
          num: 6,
            } else {
+
                return;
+
            }
+
 
         },
 
         },
        // 鼠标点击一级菜单
+
      ],
         classAClick(index) {
+
      [
            this.isActiveB = -1;
+
         {
            this.isActiveA = index;
+
          text: "Parts Overview",
            this.classB = true;
+
          url: "https://2021.igem.org/Team:CPU_CHINA/partsOverview",
 +
          num: 0,
 
         },
 
         },
         // 鼠标悬停到二级菜单
+
         {
        classBOver(num) {
+
          text: "Contributions",
            setTimeout(() => {
+
          url: "https://2021.igem.org/Team:CPU_CHINA/Contribution",
                this.isActiveB = num;
+
          num: 1,
            }, 300);
+
 
         },
 
         },
         // 鼠标离开二级菜单
+
         {
         classBLeave(num) {
+
          text: "Engineering Success",
            setTimeout(() => {
+
          url: "https://2021.igem.org/Team:CPU_CHINA/Engineering",
                this.isActiveB = -1;
+
          num: 2,
            }, 300);
+
         },
 +
        {
 +
          text: "Improvement",
 +
          url: "",
 +
          num: 3,
 +
        },
 +
      ],
 +
      [
 +
        {
 +
          text: "Summary",
 +
          url: "",
 +
          num: 0,
 +
        },
 +
        {
 +
          text: "Mathematical Modeling",
 +
          url: "",
 +
          num: 1,
 +
        },
 +
        {
 +
          text: "Molecular Modeling",
 +
          url: "",
 +
          num: 2,
 +
        },
 +
      ],
 +
      [
 +
        {
 +
          text: "Summary",
 +
          url: "",
 +
          num: 0,
 +
        },
 +
        {
 +
          text: "Integrated Human Practices",
 +
          url: "",
 +
          num: 1,
 +
        },
 +
        {
 +
          text: "Education and Public Engagement",
 +
          url: "",
 +
          num: 2,
 +
        },
 +
        {
 +
          text: "Entrepreneurship",
 +
          url: "",
 +
          num: 3,
 +
        },
 +
        {
 +
          text: "Plasticase",
 +
          url: "",
 +
          num: 4,
 +
        },
 +
        {
 +
          text: "Meddy:Relight My Star",
 +
          url: "https://2021.igem.org/Team:CPU_CHINA/MeddyRelightMyStar",
 +
          num: 5,
 +
        },
 +
      ],
 +
      [
 +
        {
 +
          text: "Members",
 +
          url: "https://2021.igem.org/Team:CPU_CHINA/Team",
 +
          num: 0,
 +
        },
 +
        {
 +
          text: "Attributions",
 +
          url: "https://2021.igem.org/Team:CPU_CHINA/Attributions",
 +
          num: 1,
 +
        },
 +
        {
 +
          text: "Collaboration",
 +
          url: "",
 +
          num: 2,
 +
        },
 +
        {
 +
          text: "Partnership",
 +
          url: "",
 +
          num: 3,
 
         },
 
         },
 +
      ],
 +
    ],
 +
  },
 +
  methods: {
 +
    // 鼠标悬停到菜单按钮上
 +
    mouseover() {
 +
      if (this.menu == this.status["close"]) {
 +
        this.menu =
 +
          "https://static.igem.org/mediawiki/2021/9/91/T--CPU_CHINA--zheng.gif";
 +
        this.isOpen = true;
 +
        this.isActive = "menu";
 +
        setTimeout(() => {
 +
          this.classA = true;
 +
          this.menu =
 +
            "https://static.igem.org/mediawiki/2021/a/a4/T--CPU_CHINA--.png";
 +
        }, 1100);
 +
      }
 
     },
 
     },
     beforeCreate() {
+
     // 关闭菜单
         this.loading = true;
+
    close() {
 +
      if (this.menu == this.status["open"]) {
 +
         this.menu =
 +
          "https://static.igem.org/mediawiki/2021/5/5b/T--CPU_CHINA--fan.gif";
 +
        this.isActive = "";
 +
        this.classB = false;
 +
        this.classA = false;
 +
        this.isActiveA = -1;
 +
        setTimeout(() => {
 +
          this.isOpen = false;
 +
          this.menu =
 +
            "https://static.igem.org/mediawiki/2021/2/22/T--CPU_CHINA--face.png";
 +
        }, 1100);
 +
      }
 
     },
 
     },
     mounted() {
+
     // 点击菜单按钮
         this.$nextTick(function () {
+
    click() {
            this.mouseover();
+
      if (this.menu == this.status["open"]) {
            setTimeout(() => {
+
         this.close();
                this.close();
+
      } else if (this.menu == this.status["close"]) {
                this.loading = false;
+
        this.mouseover();
            }, 1100)
+
      } else {
        })
+
        return;
    }
+
      }
 +
    },
 +
    // 鼠标移动到菜单上
 +
    on() {
 +
      this.clickon = false;
 +
      this.ifon = false;
 +
    },
 +
    // 鼠标离开菜单
 +
    leave() {
 +
      setTimeout(() => {
 +
        if (this.clickon) {
 +
          this.ifon = true;
 +
          if (this.ifon && this.menu == this.status["open"]) {
 +
            this.close();
 +
          } else {
 +
            return;
 +
          }
 +
        }
 +
      }, 3000);
 +
      this.clickon = true;
 +
    },
 +
    // 鼠标点击空白关闭菜单
 +
    ifclick() {
 +
      if (this.clickon && this.menu == this.status["open"]) {
 +
        this.close();
 +
      } else {
 +
        return;
 +
      }
 +
    },
 +
    // 鼠标点击一级菜单
 +
    classAClick(index) {
 +
      this.isActiveB = -1;
 +
      this.isActiveA = index;
 +
      this.classB = true;
 +
    },
 +
    // 鼠标悬停到二级菜单
 +
    classBOver(num) {
 +
      this.isActiveB = num;
 +
    },
 +
    // 鼠标离开二级菜单
 +
    classBLeave(num) {
 +
      this.isActiveB = -1;
 +
    },
 +
  },
 +
  beforeCreate() {
 +
    this.loading = true;
 +
  },
 +
  mounted() {
 +
    this.$nextTick(function () {
 +
      this.mouseover();
 +
      setTimeout(() => {
 +
        this.close();
 +
        this.loading = false;
 +
      }, 1100);
 +
    });
 +
  },
 
});
 
});
  
 
// 页面滚动响应
 
// 页面滚动响应
 
var $navs = $("nav li"), // 导航
 
var $navs = $("nav li"), // 导航
    $sections = $(".section"), // 模块
+
  $sections = $(".section"), // 模块
    $window = $(window),
+
  $window = $(window),
    navLength = $navs.length - 1;
+
  navLength = $navs.length - 1;
  
 
$window.scroll(function () {
 
$window.scroll(function () {
    var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
+
  var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
    len = navLength;
+
  len = navLength;
    for (; len > -1; len--) {
+
  for (; len > -1; len--) {
        var that = $sections.eq(len);
+
    var that = $sections.eq(len);
        if (scrollTop+10 >= that.offset().top-10) {
+
    if (scrollTop + 10 >= that.offset().top - 10) {
            $navs.removeClass("current").eq(len).addClass("current");
+
      $navs.removeClass("current").eq(len).addClass("current");
            break;
+
      break;
        }
+
 
     }
 
     }
 +
  }
 
});
 
});
  
 
$navs.on("click", function (e) {
 
$navs.on("click", function (e) {
    e.preventDefault();
+
  e.preventDefault();
    $("html, body").animate({
+
  $("html, body").animate(
            scrollTop: $($(this).find("a").attr("href")).offset().top,
+
    {
        },
+
      scrollTop: $($(this).find("a").attr("href")).offset().top,
        400
+
    },
    );
+
    400
 +
  );
 
});
 
});

Revision as of 06:08, 17 October 2021

// 菜单页 var header = new Vue({

 el: "#header",
 data: {
   loading: true,
   menu: "T--CPU_CHINA--face.png", //菜单按钮
   isOpen: false, //背景变化
   classA: false, //一级菜单是否打开
   classB: false, //二级菜单是否打开
   isActive: "", //背景变色
   isActiveA: -1, //一级菜单悬停效果
   isActiveB: -1, //二级菜单悬停效果
   // 菜单的状态
   status: {
     open: "T--CPU_CHINA--.png",
     close: "T--CPU_CHINA--face.png",
   },
   clickon: true, //鼠标是否位于菜单上
   ifon: true, //离开是否会关闭按钮
   // 一级菜单列表
   classList: ["Project", "Parts", "Model", "Human Practices", "Team"],
   // 二级菜单刘表
   classList2: [
     [
       {
         text: "Design",
         url: "",
         num: 0,
       },
       {
         text: "Description",
         url: "https://2021.igem.org/Team:CPU_CHINA/Description",
         num: 1,
       },
       {
         text: "Proof of Concept",
         url: "",
         num: 2,
       },
       {
         text: "Proposed Implementation",
         url: "",
         num: 3,
       },
       {
         text: "Art Design",
         url: "https://2021.igem.org/Team:CPU_CHINA/Art",
         num: 4,
       },
       {
         text: "Lab",
         url: "",
         num: 5,
       },
       {
         text: "General Safety",
         url: "https://2021.igem.org/Team:CPU_CHINA/Safety",
         num: 6,
       },
     ],
     [
       {
         text: "Parts Overview",
         url: "https://2021.igem.org/Team:CPU_CHINA/partsOverview",
         num: 0,
       },
       {
         text: "Contributions",
         url: "https://2021.igem.org/Team:CPU_CHINA/Contribution",
         num: 1,
       },
       {
         text: "Engineering Success",
         url: "https://2021.igem.org/Team:CPU_CHINA/Engineering",
         num: 2,
       },
       {
         text: "Improvement",
         url: "",
         num: 3,
       },
     ],
     [
       {
         text: "Summary",
         url: "",
         num: 0,
       },
       {
         text: "Mathematical Modeling",
         url: "",
         num: 1,
       },
       {
         text: "Molecular Modeling",
         url: "",
         num: 2,
       },
     ],
     [
       {
         text: "Summary",
         url: "",
         num: 0,
       },
       {
         text: "Integrated Human Practices",
         url: "",
         num: 1,
       },
       {
         text: "Education and Public Engagement",
         url: "",
         num: 2,
       },
       {
         text: "Entrepreneurship",
         url: "",
         num: 3,
       },
       {
         text: "Plasticase",
         url: "",
         num: 4,
       },
       {
         text: "Meddy:Relight My Star",
         url: "https://2021.igem.org/Team:CPU_CHINA/MeddyRelightMyStar",
         num: 5,
       },
     ],
     [
       {
         text: "Members",
         url: "https://2021.igem.org/Team:CPU_CHINA/Team",
         num: 0,
       },
       {
         text: "Attributions",
         url: "https://2021.igem.org/Team:CPU_CHINA/Attributions",
         num: 1,
       },
       {
         text: "Collaboration",
         url: "",
         num: 2,
       },
       {
         text: "Partnership",
         url: "",
         num: 3,
       },
     ],
   ],
 },
 methods: {
   // 鼠标悬停到菜单按钮上
   mouseover() {
     if (this.menu == this.status["close"]) {
       this.menu =
         "T--CPU_CHINA--zheng.gif";
       this.isOpen = true;
       this.isActive = "menu";
       setTimeout(() => {
         this.classA = true;
         this.menu =
           "T--CPU_CHINA--.png";
       }, 1100);
     }
   },
   // 关闭菜单
   close() {
     if (this.menu == this.status["open"]) {
       this.menu =
         "T--CPU_CHINA--fan.gif";
       this.isActive = "";
       this.classB = false;
       this.classA = false;
       this.isActiveA = -1;
       setTimeout(() => {
         this.isOpen = false;
         this.menu =
           "T--CPU_CHINA--face.png";
       }, 1100);
     }
   },
   // 点击菜单按钮
   click() {
     if (this.menu == this.status["open"]) {
       this.close();
     } else if (this.menu == this.status["close"]) {
       this.mouseover();
     } else {
       return;
     }
   },
   // 鼠标移动到菜单上
   on() {
     this.clickon = false;
     this.ifon = false;
   },
   // 鼠标离开菜单
   leave() {
     setTimeout(() => {
       if (this.clickon) {
         this.ifon = true;
         if (this.ifon && this.menu == this.status["open"]) {
           this.close();
         } else {
           return;
         }
       }
     }, 3000);
     this.clickon = true;
   },
   // 鼠标点击空白关闭菜单
   ifclick() {
     if (this.clickon && this.menu == this.status["open"]) {
       this.close();
     } else {
       return;
     }
   },
   // 鼠标点击一级菜单
   classAClick(index) {
     this.isActiveB = -1;
     this.isActiveA = index;
     this.classB = true;
   },
   // 鼠标悬停到二级菜单
   classBOver(num) {
     this.isActiveB = num;
   },
   // 鼠标离开二级菜单
   classBLeave(num) {
     this.isActiveB = -1;
   },
 },
 beforeCreate() {
   this.loading = true;
 },
 mounted() {
   this.$nextTick(function () {
     this.mouseover();
     setTimeout(() => {
       this.close();
       this.loading = false;
     }, 1100);
   });
 },

});

// 页面滚动响应 var $navs = $("nav li"), // 导航

 $sections = $(".section"), // 模块
 $window = $(window),
 navLength = $navs.length - 1;

$window.scroll(function () {

 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
 len = navLength;
 for (; len > -1; len--) {
   var that = $sections.eq(len);
   if (scrollTop + 10 >= that.offset().top - 10) {
     $navs.removeClass("current").eq(len).addClass("current");
     break;
   }
 }

});

$navs.on("click", function (e) {

 e.preventDefault();
 $("html, body").animate(
   {
     scrollTop: $($(this).find("a").attr("href")).offset().top,
   },
   400
 );

});