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

 
(54 intermediate revisions by the same user not shown)
Line 1: Line 1:
@font-face {
+
// 菜单页
  font-family: MONTSERRAT-BLACK1;
+
var header = new Vue({
  src: url("https://static.igem.org/mediawiki/2021/0/04/T--CPU_CHINA--MONTSERRAT-BLACK1.woff")
+
    el: "#header",
     format("woff");
+
    data: {
}
+
        loading: true,
 +
        menu: "https://static.igem.org/mediawiki/2021/2/22/T--CPU_CHINA--face.png", //菜单按钮
 +
        isOpen: false, //背景变化
 +
        classA: false, //一级菜单是否打开
 +
        classB: false, //二级菜单是否打开
 +
        isActive: "", //背景变色
 +
        isActiveA: -1, //一级菜单悬停效果
 +
        isActiveB: -1, //二级菜单悬停效果
 +
        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","Award"],
 +
        // 二级菜单刘表
 +
        classList2: [
 +
            [{
 +
                    text: "Design",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Design",
 +
                    num: 0,
 +
                },
 +
                {
 +
                    text: "Description",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Description",
 +
                    num: 1,
 +
                },
 +
                {
 +
                    text: "Proof of Concept",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Proof_Of_Concept",
 +
                    num: 2,
 +
                },
 +
                {
 +
                    text: "Proposed Implementation",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Implementation",
 +
                    num: 3,
 +
                },
 +
                {
 +
                    text: "Art Design",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Art",
 +
                    num: 4,
 +
                },
 +
                {
 +
                    text: "Lab",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Lab",
 +
                    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: "https://2021.igem.org/Team:CPU_CHINA/Improve",
 +
                    num: 3,
 +
                },
 +
            ],
 +
            [{
 +
                    text: "Summary",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Model",
 +
                    num: 0,
 +
                },
 +
                {
 +
                    text: "Mathematical Modeling",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/MathematicalModeling",
 +
                    num: 1,
 +
                },
 +
                {
 +
                    text: "Molecular Modeling",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/MolecularModeling",
 +
                    num: 2,
 +
                },
 +
            ],
 +
            [{
 +
                    text: "Summary",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Human_Practices",
 +
                    num: 0,
 +
                },
 +
                {
 +
                    text: "Integrated Human Practices",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/IntegratedHumanPractices",
 +
                    num: 1,
 +
                },
 +
                {
 +
                    text: "Education and Communication",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Communication",
 +
                    num: 2,
 +
                },
 +
                {
 +
                    text: "Entrepreneurship",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Entrepreneurship",
 +
                    num: 3,
 +
                },
 +
                {
 +
                    text: "Plasticase",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Plasticase",
 +
                    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: "https://2021.igem.org/Team:CPU_CHINA/Collaborations",
 +
                    num: 2,
 +
                },
 +
                {
 +
                    text: "Partnership",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Partnership",
 +
                    num: 3,
 +
                },
 +
            ],
 +
            [
 +
                {
 +
                    text: "Judging Form",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Judging_Form",
 +
                    num: 0
 +
                },
 +
                {
 +
                    text: "Education",
 +
                    url: "https://2021.igem.org/Team:CPU_CHINA/Education",
 +
                    num: 1
 +
                }
 +
            ]
 +
        ],
 +
     },
 +
    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";
 +
                this.classA = true;
 +
                setTimeout(() => {
 +
                    this.menu =
 +
                        "https://static.igem.org/mediawiki/2021/a/a4/T--CPU_CHINA--.png";
  
@font-face {
+
                }, 1100);
  font-family: MONTSERRAT-BLACKITALIC2;
+
            }
  src: url("https://static.igem.org/mediawiki/2021/d/d4/T--CPU_CHINA--MONTSERRAT-BLACKITALIC2.woff")
+
        },
    format("woff");
+
        // 关闭菜单
}
+
        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";
  
@font-face {
+
                }, 1100);
  font-family: CABIN-REGULAR;
+
            }
  src: url("https://static.igem.org/mediawiki/2021/b/b3/T--CPU_CHINA--CABIN-REGULAR.woff")
+
        },
     format("woff");
+
        // 点击菜单按钮
}
+
        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)
 +
        })
 +
    }
 +
});
  
@font-face {
+
// 页面滚动响应
  font-family: CABIN-ITALIC;
+
var $navs = $("nav li"), // 导航
  src: url("https://static.igem.org/mediawiki/2021/7/75/T--CPU_CHINA--CABIN-ITALIC.woff")
+
    $sections = $(".section"), // 模块
     format("woff");
+
     $window = $(window),
}
+
    navLength = $navs.length - 1;
  
body {
+
$window.scroll(function () {
  background-color: #fafafa;
+
    var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
}
+
    len = navLength;
 +
    for (; len > -1; len--) {
 +
        var that = $sections.eq(len);
 +
        if (scrollTop+5 >= that.offset().top) {
 +
            $navs.removeClass("current").eq(len).addClass("current");
 +
            break;
 +
        }
 +
    }
 +
});
  
* {
+
$navs.on("click", function (e) {
  box-sizing: border-box;
+
    e.preventDefault();
}
+
    $("html, body").animate({
 
+
            scrollTop: $($(this).find("a").attr("href")).offset().top,
#contain {
+
        },
  margin-top: -12px;
+
        400
  padding: 0 3% 10%;
+
     );
  width: 100%;
+
});
  background-color: #fafafa;
+
  z-index: 1;
+
  text-align: left;
+
  box-sizing: border-box;
+
}
+
 
+
.background {
+
  position: fixed;
+
  width: 100%;
+
  top: 0;
+
  z-index: -1;
+
  box-sizing: border-box;
+
}
+
 
+
#header #title {
+
  position: fixed;
+
  top: 10%;
+
  font-family: "MONTSERRAT-BLACKITALIC2";
+
  line-height: normal;
+
  font-weight: bolder;
+
  font-size: 800%;
+
  color: #fafafa;
+
  z-index: -1;
+
}
+
 
+
#header #menu {
+
  z-index: 10;
+
}
+
 
+
#header #menu #menuBack {
+
  position: fixed;
+
  width: 100%;
+
  height: 100%;
+
  box-sizing: border-box;
+
  z-index: 10;
+
}
+
 
+
#header #menu .menu {
+
  background: #000000ad;
+
}
+
 
+
#header #menu #logo {
+
  position: fixed;
+
  top: 3vmin;
+
  left: 1vmin;
+
  width: 25vmin;
+
  z-index: 11;
+
}
+
 
+
#header #menu #menuImg {
+
  position: fixed;
+
  top: 2vmin;
+
  right: 1vmin;
+
  width: 15vmin;
+
  z-index: 11;
+
}
+
 
+
#header #menu .class {
+
  position: fixed;
+
  top: 13vmin;
+
  z-index: 11;
+
}
+
 
+
#header #menu .class li {
+
  padding: 6% 0;
+
  margin: 2vmin;
+
  border-radius: 30px;
+
  text-align: center;
+
  font-family: "MONTSERRAT-BLACKITALIC2";
+
  font-size: 1.5em;
+
  font-weight: bolder;
+
}
+
 
+
#header #menu #class-a {
+
  right: 1vmin;
+
}
+
 
+
#header #menu #class-a li {
+
  width: 30vmin;
+
  background-color: #fafafa;
+
  border: #fafafa solid 3px;
+
}
+
 
+
#header #menu #class-a li:hover {
+
  border: #0072fe solid 3px;
+
}
+
 
+
#header #menu #class-a .class-a {
+
  background-color: #0072fe;
+
  border: #0072fe solid 3px;
+
  color: #fafafa;
+
}
+
 
+
#header #menu #class-b {
+
  right: 37vmin;
+
}
+
 
+
#header #menu #class-b li {
+
  border: #0072fe solid 2px;
+
  width: 38vmin;
+
}
+
 
+
#header #menu #class-b li a{
+
    color: #FAFAFA;
+
}
+
 
+
#header #menu #class-b li:active {
+
  background-color: #0000008f;
+
}
+
#header #menu #class-b .class-b {
+
  background-color: #00000047;
+
}
+
 
+
footer {
+
  position: -webkit-sticky;
+
  left: 0;
+
  width: 100%;
+
  background-color: black;
+
}
+
 
+
footer #sponsor {
+
  position: relative;
+
  top: -10px;
+
  width: 100%;
+
  border-radius: 10px;
+
  -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.3),
+
    0 0 40px rgba(0, 0, 0, 0.1) inset;
+
  -moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.3),
+
    0 0 40px rgba(0, 0, 0, 0.1) inset;
+
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
+
  -o-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
+
  z-index: 1;
+
}
+
 
+
footer #connect {
+
  position: relative;
+
  top: -30px;
+
  width: 100%;
+
  height: 150px;
+
  background-color: black;
+
  border-radius: 10px;
+
  -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.3),
+
    0 0 40px rgba(0, 0, 0, 0.1) inset;
+
  -moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.3),
+
     0 0 40px rgba(0, 0, 0, 0.1) inset;
+
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
+
  -o-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
+
  z-index: 2;
+
}
+

Latest revision as of 06:38, 7 December 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","Award"],
       // 二级菜单刘表
       classList2: [
           [{
                   text: "Design",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Design",
                   num: 0,
               },
               {
                   text: "Description",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Description",
                   num: 1,
               },
               {
                   text: "Proof of Concept",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Proof_Of_Concept",
                   num: 2,
               },
               {
                   text: "Proposed Implementation",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Implementation",
                   num: 3,
               },
               {
                   text: "Art Design",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Art",
                   num: 4,
               },
               {
                   text: "Lab",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Lab",
                   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: "https://2021.igem.org/Team:CPU_CHINA/Improve",
                   num: 3,
               },
           ],
           [{
                   text: "Summary",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Model",
                   num: 0,
               },
               {
                   text: "Mathematical Modeling",
                   url: "https://2021.igem.org/Team:CPU_CHINA/MathematicalModeling",
                   num: 1,
               },
               {
                   text: "Molecular Modeling",
                   url: "https://2021.igem.org/Team:CPU_CHINA/MolecularModeling",
                   num: 2,
               },
           ],
           [{
                   text: "Summary",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Human_Practices",
                   num: 0,
               },
               {
                   text: "Integrated Human Practices",
                   url: "https://2021.igem.org/Team:CPU_CHINA/IntegratedHumanPractices",
                   num: 1,
               },
               {
                   text: "Education and Communication",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Communication",
                   num: 2,
               },
               {
                   text: "Entrepreneurship",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Entrepreneurship",
                   num: 3,
               },
               {
                   text: "Plasticase",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Plasticase",
                   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: "https://2021.igem.org/Team:CPU_CHINA/Collaborations",
                   num: 2,
               },
               {
                   text: "Partnership",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Partnership",
                   num: 3,
               },
           ],
           [
               {
                   text: "Judging Form",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Judging_Form",
                   num: 0
               },
               {
                   text: "Education",
                   url: "https://2021.igem.org/Team:CPU_CHINA/Education",
                   num: 1
               }
           ]
       ],
   },
   methods: {
       // 鼠标悬停到菜单按钮上
       mouseover() {
           if (this.menu == this.status["close"]) {
               this.menu =
                   "T--CPU_CHINA--zheng.gif";
               this.isOpen = true;
               this.isActive = "menu";
               this.classA = true;
               setTimeout(() => {
                   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+5 >= that.offset().top) {
           $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
   );

});