var webresponseive = { onload: [], resize: [], scroll: [], documentready: [], $fn: [], viewport: { lg: [], md: [], sm: [], xs: [] }, bodypadding: { "xs": { top: 0, bottom: 0 }, "lg": { top: 0, bottom: 0 }, "md": { top: 0, bottom: 0 }, "sm": { top: 0, bottom: 0 } }, resizebodypadding: function () { var bpset = webresponseive.bodypadding[webresponseive.currentviewport]; $("body").css({ "padding-top": bpset.top + "px", "padding-bottom": bpset.bottom + "px" }); }, banners: [ /* { el: "#index-swiper-container,#index-swiper-container .swiper-slide a", title: "首页通栏banner", lg: { height: 415, css: { "background-size": "inital" } }, md: { height: 350, css: { "background-size": "cover" } }, sm: { height: 300, css: { "background-size": "cover" } }, xs: { ratio: 3, css: { "background-size": "cover" } } } */ ], currentviewport: "", currentviewwith: 0, getviewport: function () { var viewwidth = window.innerwidth; webresponseive.currentviewwith = viewwidth; if (viewwidth <= 768) { webresponseive.currentviewport = "xs"; } else if (viewwidth <= 992) { webresponseive.currentviewport = "sm"; } else if (viewwidth <= 1200) { webresponseive.currentviewport = "md"; } else { webresponseive.currentviewport = "lg"; } }, resizebanner: function () { for (var i = 0; i < webresponseive.banners.length; i++) { var bs = webresponseive.banners[i]; //console.log("resizebanner" + (bs.title ? ":" + bs.title : "")); var h = 0; var set = bs[webresponseive.currentviewport]; if (set["ratio"] != null) { h = webresponseive.currentviewwith / set.ratio; } else { h = set.height; } $(bs.el).height(h); if (set["css"] != undefined) { $(bs.el).css(set.css); } } }, ispagebottom: false, ispagetop:true, checkscreen: function () { var winh = $(window).height(); var stop = $(window).scrolltop(); var doch = $(document).height(); webresponseive.ispagebottom = ((doch - winh) == stop); webresponseive.ispagetop = (stop == 0); } }; $(window).on("load", function () { //console.log("window.onload()....start..."); for (var i = 0; i < webresponseive.onload.length; i++) { var fn = webresponseive.onload[i]; fn(); } //console.log("window.onload()....end..."); }); $(window).scroll(function () { //console.log("window.scroll()....start..."); webresponseive.checkscreen(); for (var i = 0; i < webresponseive.scroll.length; i++) { var fn = webresponseive.scroll[i]; fn(); } //console.log("window.scroll()....end..."); }); /**视口发生变化时的事件**/ $(window).resize(function () { //console.log("window.resize()....start..."); webresponseive.getviewport(); webresponseive.resizebanner(window.innerwidth); webresponseive.resizebodypadding(); for (var i = 0; i < webresponseive.resize.length; i++) { var fn = webresponseive.resize[i]; fn(); } var vfns = webresponseive.viewport[webresponseive.currentviewport]; for (var i = 0; i < vfns.length; i++) { var fn = vfns[i]; fn(); } //console.log("window.resize()....end..."); }); $(document).ready(function () { webresponseive.getviewport(); webresponseive.resizebanner(window.innerwidth); webresponseive.resizebodypadding(); webresponseive.checkscreen(); //console.log("$(document).ready start"); for (var i = 0; i < webresponseive.documentready.length; i++) { var fn = webresponseive.documentready[i]; fn(); } //console.log("$(document).ready end"); }); $(function () { //console.log("$(function(){})...start"); for (var i = 0; i < webresponseive.$fn.length; i++) { var fn = webresponseive.$fn[i]; fn(); } //console.log("$(function(){})...end"); });