(function(win, lib) { var doc = win.document; var docEl = doc.documentElement; var metaEl = doc.querySelector('meta[name="viewport"]'); var flexibleEl = doc.querySelector('meta[name="flexible"]'); var dpr = 0; var scale = 0; var tid; var flexible = lib.flexible || (lib.flexible = {}); if (metaEl) { console.warn('将根据已有的meta标签来设置缩放比例'); var match = metaEl.getAttribute('content').match(/initial\-scale=([\d\.]+)/); if (match) { scale = parseFloat(match[1]); dpr = parseInt(1 / scale); } } else if (flexibleEl) { var content = flexibleEl.getAttribute('content'); if (content) { var initialDpr = content.match(/initial\-dpr=([\d\.]+)/); var maximumDpr = content.match(/maximum\-dpr=([\d\.]+)/); if (initialDpr) { dpr = parseFloat(initialDpr[1]); scale = parseFloat((1 / dpr).toFixed(2)); } if (maximumDpr) { dpr = parseFloat(maximumDpr[1]); scale = parseFloat((1 / dpr).toFixed(2)); } } } if (!dpr && !scale) { var isAndroid = win.navigator.appVersion.match(/android/gi); var isIPhone = win.navigator.appVersion.match(/iphone/gi); var devicePixelRatio = win.devicePixelRatio; if (isIPhone) { // iOS下,对于2和3的屏,用2倍的方案,其余的用1倍方案 if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) { dpr = 3; } else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)){ dpr = 2; } else { dpr = 1; } } else { // 其他设备下,仍旧使用1倍的方案 dpr = 1; } scale = 1 / dpr; } docEl.setAttribute('data-dpr', dpr); if (!metaEl) { metaEl = doc.createElement('meta'); metaEl.setAttribute('name', 'viewport'); metaEl.setAttribute('content', 'initial-scale=' + scale + ', maximum-scale=' + scale + ', minimum-scale=' + scale + ', user-scalable=no'); if (docEl.firstElementChild) { docEl.firstElementChild.appendChild(metaEl); } else { var wrap = doc.createElement('div'); wrap.appendChild(metaEl); doc.write(wrap.innerHTML); } } function refreshRem(){ var width = docEl.getBoundingClientRect().width; var rem; if (width / dpr > 750) { rem = 85; }else { rem = 100 * (width / 750); } docEl.style.fontSize = rem + 'px'; flexible.rem = win.rem = rem; } win.addEventListener('resize', function() { clearTimeout(tid); tid = setTimeout(refreshRem, 300); }, false); win.addEventListener('pageshow', function(e) { if (e.persisted) { clearTimeout(tid); tid = setTimeout(refreshRem, 300); } }, false); // if (doc.readyState === 'complete') { // doc.body.style.fontSize = 12 * dpr + 'px'; // } else { // doc.addEventListener('DOMContentLoaded', function(e) { // doc.body.style.fontSize = 12 * dpr + 'px'; // }, false); // } refreshRem(); flexible.dpr = win.dpr = dpr; flexible.refreshRem = refreshRem; flexible.rem2px = function(d) { var val = parseFloat(d) * this.rem; if (typeof d === 'string' && d.match(/rem$/)) { val += 'px'; } return val; } flexible.px2rem = function(d) { var val = parseFloat(d) / this.rem; if (typeof d === 'string' && d.match(/px$/)) { val += 'rem'; } return val; } })(window, window['lib'] || (window['lib'] = {})); // 首页轮播 var swiperidx=0 function lunbo(){ swiperidx++; if(swiperidx>2){ swiperidx=0 } $($('.swiper_item')[swiperidx]).addClass('active').siblings().removeClass('active') $($('.swiper_dian span')[swiperidx]).addClass('active').siblings().removeClass('active') } if($('.index_swiper')){ timer=setInterval(() => { lunbo() }, 2000); } // 首页诊所切换块 $('.index_jingbing_lei span').click(function(){ $(this).addClass('active').siblings().removeClass('active') var index=$(this).index() var arr= $('.zhensuo_item') $(arr[index]).show() $(arr[index]).siblings().not('.index_jingbing_lei').hide() }) // 详情页查看更多 $('.zhiwu_content_getmore .zhankai').click(function(){ $(this).parent().hide() $('.zhiwu_content_box').css('max-height','') }) var judge=navigator.userAgent; if(judge.indexOf('Baidu') > -1 || judge.indexOf('BIDUBrowser') > -1){ $('.zhiwu_content_getmore').hide() $('.zhiwu_content_box').css({'max-height':'max-content'}) } document.onreadystatechange=function(){ if(document.readyState=='complete'){ if(document.querySelector('.zhiwu_content_box')){ var warph=document.querySelector('.zhiwu_content_box').offsetHeight; var contenth=document.querySelector('.zhiwu_allcontent').offsetHeight; if(contenth<=warph){ $('.zhiwu_content_getmore').hide() } } } } $('.getmenue').click(function(){ $('.top_motai_box').toggle() if($('.top_motai_box').css('display')=='block'){ $('body').css('overflow','hidden') }else{ $('body').css('overflow','scroll') } }) //声音控制 function listen(){ var bool=$('audio').attr('muted') if(bool=='false'){ $('audio').attr('muted','muted') $('.audio_listen').attr('src','./img/nolisten.png') }else{ $('audio').attr('muted','false') $('.audio_listen').attr('src','./img/listen.png') } } function download(e){ var src=$('audio').attr('src') $.ajax({ method: 'get', url: src, responseType: 'blob', }).then((res) => { if (!res) { return } let blobUrl = window.URL.createObjectURL(res.data) let link = document.createElement('a') document.body.appendChild(link) link.style.display = 'none' link.href = blobUrl // 设置a标签的下载属性,设置文件名及格式,后缀名最好让后端在数据格式中返回 link.download = '下载文件.csv' // 自触发click事件 link.click() document.body.removeChild(link) window.URL.revokeObjectURL(blobUrl); }) } $('.search_list_fenlei div').click(function(){ var index=$(this).index() $(this).addClass('active').siblings().removeClass('active') $($('.zhiwu_yanghu_list')[index]).addClass('active').siblings().removeClass('active') }) $(function(){ let li = document.querySelector('.scroll_div a.active'); let ul = document.querySelector('.scroll_div'); let window_offsetWidth = window.innerWidth; //屏幕宽度; if (li) { let domoffsetWidth = li.offsetLeft; //中间值 =( 屏幕宽度 - li宽度 ) / 2; diffWidth = (window_offsetWidth - li.getBoundingClientRect().width) / 2, //目标值 = offset - 中间值 targetOffset = -(domoffsetWidth - diffWidth); let ul_width = ul.getBoundingClientRect().width;//开始 if (-targetOffset < 0) { ul.style.left = '0px'; return; } // 末尾 if(targetOffset < window_offsetWidth - ul_width ){ ul.style.left = window_offsetWidth - ul_width + "px" return; } //正常 ul.style.left = targetOffset + 'px'; } }) // 方法初始化 调用 var config = { 'os': "wap", //终端 pc /wap 'domain': "www.lianlianny.com/plantfarm", //当前域名 'os_adapt': 1, //终端自适应 1-开启 0-不开启 'pc_domain': "www.lianlianny.com/plantfarm", 'wap_domain': "www.lianlianny.com/plantfarm", 'httptohttps': false, //是否强制将http转换为https 'swiper_num':1 }; $(function () { //根据配置初始化对应的函数 if (config.os == "wap") { // prev_page('shuozhiwu',$('.back_prev'),$('.back_home')) if (config.os_adapt == 1) { page_m_pc(config.domain,config.pc_domain,1,config.httptohttps) } } else { if (config.os_adapt == 1) { page_m_pc(config.domain,config.wap_domain,'',config.httptohttps) } } }); // --------------------------------------------分割线------------------------------------------------------------- // 自适配跳转页面(根据打开方式自适配跳转pc端或m端) 用于所有页面 // 使用方法: // 调用函数 page_m_pc(yuan,now,mtopc) // 参数1表示原本页面的路径,参数2表示适配后要跳转的路径,参数3表示是否是从m端适配到pc端(若是则为1,不是则不传) // 示例 // var yuan_url='m.yangwajia.com' // var now_url='www.yangwajia.com' // page_m_pc(yuan_url,now_url,1) function page_m_pc(yuan, now, mtopc, httptohttps) { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; var bIsMidp = sUserAgent.match(/midp/i) == "midp"; var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb"; var bIsAndroid = sUserAgent.match(/android/i) == "android"; var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce"; var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile"; var gourl = window.location.href; gourl = gourl.replace(yuan, now); if (httptohttps == true) { gourl = gourl.replace('http://', 'http://'); } if (mtopc == 1) { if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) { } else { //window.location.href = gourl; } } else { if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) { //window.location.href = gourl; } } } // --------------------------------------------分割线---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // 懒加载 (所有需要懒加载功能的页面适用) // 使用方法: // 页面所有需要懒加载的img标签 加上class='lazyload',data-original='(这里放真实的图片路径)',原src='(这里放默认图片路径)' //调用函数: (function ($, window, document, undefined) { var $window = $(window); $.fn.lazyload = function (options) { var elements = this; var $container; var settings = { threshold: 0, failure_limit: 0, event: "scroll", effect: "show", container: window, data_attribute: "original", skip_invisible: true, appear: null, load: null, placeholder: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" }; function update() { var counter = 0; elements.each(function () { var $this = $(this); if (settings.skip_invisible && !$this.is(":visible")) { return; } if ($.abovethetop(this, settings) || $.leftofbegin(this, settings)) { /* Nothing. */ } else if (!$.belowthefold(this, settings) && !$.rightoffold(this, settings)) { $this.trigger("appear"); /* if we found an image we'll load, reset the counter */ counter = 0; } else { if (++counter > settings.failure_limit) { return false; } } }); } if (options) { /* Maintain BC for a couple of versions. */ if (undefined !== options.failurelimit) { options.failure_limit = options.failurelimit; delete options.failurelimit; } if (undefined !== options.effectspeed) { options.effect_speed = options.effectspeed; delete options.effectspeed; } $.extend(settings, options); } /* Cache container as jQuery as object. */ $container = (settings.container === undefined || settings.container === window) ? $window : $(settings.container); /* Fire one scroll event per scroll. Not one scroll event per image. */ if (0 === settings.event.indexOf("scroll")) { $container.bind(settings.event, function () { return update(); }); } this.each(function () { var self = this; var $self = $(self); self.loaded = false; /* If no src attribute given use data:uri. */ if ($self.attr("src") === undefined || $self.attr("src") === false) { if ($self.is("img")) { $self.attr("src", settings.placeholder); } } /* When appear is triggered load original image. */ $self.one("appear", function () { if (!this.loaded) { if (settings.appear) { var elements_left = elements.length; settings.appear.call(self, elements_left, settings); } $("") .bind("load", function () { var original = $self.attr("data-" + settings.data_attribute); $self.hide(); if ($self.is("img")) { $self.attr("src", original); } else { $self.css("background-image", "url('" + original + "')"); } $self[settings.effect](settings.effect_speed); self.loaded = true; /* Remove image from array so it is not looped next time. */ var temp = $.grep(elements, function (element) { return !element.loaded; }); elements = $(temp); if (settings.load) { var elements_left = elements.length; settings.load.call(self, elements_left, settings); } }) .attr("src", $self.attr("data-" + settings.data_attribute)); } }); /* When wanted event is triggered load original image */ /* by triggering appear. */ if (0 !== settings.event.indexOf("scroll")) { $self.bind(settings.event, function () { if (!self.loaded) { $self.trigger("appear"); } }); } }); /* Check if something appears when window is resized. */ $window.bind("resize", function () { update(); }); /* With IOS5 force loading images when navigating with back button. */ /* Non optimal workaround. */ if ((/(?:iphone|ipod|ipad).*os 5/gi).test(navigator.appVersion)) { $window.bind("pageshow", function (event) { if (event.originalEvent && event.originalEvent.persisted) { elements.each(function () { $(this).trigger("appear"); }); } }); } /* Force initial check if images should appear. */ $(document).ready(function () { update(); }); return this; }; /* Convenience methods in jQuery namespace. */ /* Use as $.belowthefold(element, {threshold : 100, container : window}) */ $.belowthefold = function (element, settings) { var fold; if (settings.container === undefined || settings.container === window) { fold = (window.innerHeight ? window.innerHeight : $window.height()) + $window.scrollTop(); } else { fold = $(settings.container).offset().top + $(settings.container).height(); } return fold <= $(element).offset().top - settings.threshold; }; $.rightoffold = function (element, settings) { var fold; if (settings.container === undefined || settings.container === window) { fold = $window.width() + $window.scrollLeft(); } else { fold = $(settings.container).offset().left + $(settings.container).width(); } return fold <= $(element).offset().left - settings.threshold; }; $.abovethetop = function (element, settings) { var fold; if (settings.container === undefined || settings.container === window) { fold = $window.scrollTop(); } else { fold = $(settings.container).offset().top; } return fold >= $(element).offset().top + settings.threshold + $(element).height(); }; $.leftofbegin = function (element, settings) { var fold; if (settings.container === undefined || settings.container === window) { fold = $window.scrollLeft(); } else { fold = $(settings.container).offset().left; } return fold >= $(element).offset().left + settings.threshold + $(element).width(); }; $.inviewport = function (element, settings) { return !$.rightoffold(element, settings) && !$.leftofbegin(element, settings) && !$.belowthefold(element, settings) && !$.abovethetop(element, settings); }; /* Custom selectors for your convenience. */ /* Use as $("img:below-the-fold").something() or */ /* $("img").filter(":below-the-fold").something() which is faster */ $.extend($.expr[":"], { "below-the-fold": function (a) { return $.belowthefold(a, {threshold: 0}); }, "above-the-top": function (a) { return !$.belowthefold(a, {threshold: 0}); }, "right-of-screen": function (a) { return $.rightoffold(a, {threshold: 0}); }, "left-of-screen": function (a) { return !$.rightoffold(a, {threshold: 0}); }, "in-viewport": function (a) { return $.inviewport(a, {threshold: 0}); }, /* Maintain BC for couple of versions. */ "above-the-fold": function (a) { return !$.belowthefold(a, {threshold: 0}); }, "right-of-fold": function (a) { return $.rightoffold(a, {threshold: 0}); }, "left-of-fold": function (a) { return !$.rightoffold(a, {threshold: 0}); } }); })(jQuery, window, document); $("img.lazyload").lazyload({ effect: "fadeIn" }); // --------------------------------------------分割线---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // 判断上个页面地址 // 参数说明:searchstr表示上个页面的域名,el_prev表示返回上一页的箭头标签,el_home表示返回首页的标签 function prev_page(searchstr,el_prev,el_home){ var referstr = document.referrer; if (referstr.indexOf(searchstr) > -1) { el_prev.show() el_home.hide() } else { el_prev.hide() el_home.show() } } // 禁用f12及复制 // document.onselectstart=function(){return false;}; // window.oncontextmenu=function(){return false;} // window.onkeydown = window.onkeyup = window.onkeypress = function (event) { // if(event.code == 'F12'){ // window.event.returnValue = false; // return false; // } // }