function secshow() { var windowheight = $(window).height(); $('.showani').each(function() { var thisheight = $(this).height(); if (window.innerWidth > 1024) { if ($(window).scrollTop() + windowheight> $(this).offset().top) { $(this).addClass('actived'); } } else{ if ($(window).scrollTop() + windowheight * 0.85> $(this).offset().top) { $(this).addClass('actived'); } } }); }; function fontsize() { var windowwidth = window.innerWidth; if (windowwidth <= 1024) { var size = windowwidth * 16 / 375; $('html').css('font-size', size + 'px'); } else { var size = windowwidth * 16 / 1920; $('html').css('font-size', size + 'px'); } }; function DevicePixelRatio() { function constructor() { //this.flag = false; } //获取系统类型 function getSystem() { let flag = false; var agent = navigator.userAgent.toLowerCase(); // var isMac = /macintosh|mac os x/i.test(navigator.userAgent); // if(isMac) { // return false; // } //现只针对windows处理,其它系统暂无该情况,如有,继续在此添加 if (agent.indexOf("windows") >= 0) { return true; } } //获取页面缩放比例 // _getDevicePixelRatio() { // let t = this; // } //监听方法兼容写法 function addHandler(element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else if (element.attachEvent) { element.attachEvent("on" + type, handler); } else { element["on" + type] = handler; } } //校正浏览器缩放比例 function correct() { let t = this; //页面devicePixelRatio(设备像素比例)变化后,计算页面body标签zoom修改其大小,来抵消devicePixelRatio带来的变化。 document.getElementsByTagName('body')[0].style.zoom = 1 / window.devicePixelRatio; } //监听页面缩放 function watch() { let t = this; addHandler(window, 'resize', function() { //注意这个方法是解决全局有两个window.resize //重新校正 correct(t) }) } //初始化页面比例 function init() { let t = this; if (getSystem(t)) { //判断设备,目前只在windows系统下校正浏览器缩放比例 //初始化页面校正浏览器缩放比例 correct(t); //开启监听页面缩放 watch(t); } } init(); }; // 禁止通过 ctrl + +/- 和 ctrl + 滚轮 对页面进行缩放 document.addEventListener('keydown', function (event) { if ((event.ctrlKey === true || event.metaKey === true) && (event.which === 61 || event.which === 107 || event.which === 173 || event.which === 109 || event.which === 187 || event.which === 189)) { event.preventDefault() } }, false) // Chrome IE 360 window.addEventListener('mousewheel', function (event) { if (event.ctrlKey === true || event.metaKey) { event.preventDefault() } }, { passive: false }) // firefox window.addEventListener('DOMMouseScroll', function (event) { if (event.ctrlKey === true || event.metaKey) { event.preventDefault() } }, { passive: false }) function isIE() { if(!!window.ActiveXObject || "ActiveXObject" in window) { $('html').addClass('ie'); } } $(function() { $('a[linkto]').click(function(){ var link = $(this).attr('linkto'); var targetblank = $(this).attr('targetblank'); var windowwidth = window.innerWidth; if (windowwidth > 1024 && targetblank =="") { window.open(link,"_blank"); } else{ location.replace(link); } }); isIE(); fontsize(); $(window).load(function() { secshow(); if ($('body').hasClass('nosmooth')) { } else{ gsap.registerPlugin(ScrollTrigger,ScrollSmoother); gsap.config({trialWarn: false}); if (window.innerWidth > 1024) { ScrollTrigger.normalizeScroll(true); } let smoother = ScrollSmoother.create({ smooth: 0.75, // seconds it takes to "catch up" to native scroll position }); } }); $(window).scroll(function() { secshow(); }); $(window).resize(function() { secshow(); fontsize(); }); // sidenav 打开 $('#header .menu').click(function() { $('#sidenav').addClass('active'); $('body').addClass('noscroll'); }); $('#sidenav .close').click(function() { $('#sidenav').removeClass('active'); $('body').removeClass('noscroll'); }); // sidenav 副导航 $('#sidenav .middle-part .level1').click(function() { if ($(this).parents('.box').hasClass('active')) { $('#sidenav .middle-part .box').removeClass('active'); } else{ $('#sidenav .middle-part .box').removeClass('active'); $(this).parents('.box').addClass('active'); } }); }); /** * @desc 用于微信内调整字体大小的控制方法, 将字体设为默认并重写事件 * @author jealyn * @date 2021-02-18 15:29:54 * @version V1.0.0 */ (function() { if (typeof WeixinJSBridge == 'object' && typeof WeixinJSBridge.invoke == 'function') { handleFontSize(); } else { document.addEventListener('WeixinJSBridgeReady', handleFontSize, false); } function handleFontSize() { // 设置网页字体为默认大小 WeixinJSBridge.invoke('setFontSizeCallback', { fontSize: 0 }); // 重写设置网页字体大小的事件, // 将字体大小设为默认 WeixinJSBridge.on('menu:setfont', function() { WeixinJSBridge.invoke('setFontSizeCallback', { fontSize: 0 }); }); } })();