//=== viewid:dh_style_01_1494484475277,dh_style_03_1495005118673 ===// /*pc,手机显示隐藏*/ function is_mobile(){ return window.screen.width<767 || ($('body').width() > 0 && $('body').width() < 767); } var is_mobile_boolean = is_mobile(); $(function(){ /*pc,手机显示隐藏*/ }) //=== viewid:searchbox_style_01_1495004448258 ===// function goUrl(formname){ var url = "http://www.baidu.com/baidu"; if (formname.si.value!=""){ formname.ct.value = "2097152"; } else { formname.ct.value = "0"; } formname.action = url; return true; } //=== viewid:qqol_style_01_1577418166707 ===// /* * *************************************************************** * 片段列表类 */ function FragmentList(config) { this._default = { 'prefix':'fragment-', 'css':{} }; config = $.extend(true, this._default, config); this.config = config; this.list = []; this.object = $('
'); // 执行配置 this.init(config); } /* * 初始化 */ FragmentList.prototype.init = function(config) { config.css && this.object.css(config.css); }; /* * 添加 */ FragmentList.prototype.append = function (fragment) { this.list.push(fragment); }; /* * 获取jquery对象 */ FragmentList.prototype.get = function () { this.object.addClass(this.config.prefix + 'list').children().remove(); for(var i = 0, len = this.list.length, html = ''; i < len; ++i) { html += this.list[i].html(); } return this.object.html(html); }; /* * 输出 */ FragmentList.prototype.html = function () { return this.get().prop('outerHTML'); }; /* * *************************************************************** * 片段类 */ Fragment.prototype.prefix = 'fragment-'; function Fragment(config) { (!config.init || Util.prototype.type(config.init) != 'function') && (config.init = function () {}); !config.html && (config.html = '
'); this._default = { 'name':'item' }; config = $.extend(true, this._default, config); // 创建jquery对象 config.data && (config.html = Util.prototype.replace(config.html, Util.prototype.toArray(config.data))); this.object = $(config.html).addClass((config.name != 'item' ? this.prefix + 'item': '') + ' ' + this.prefix + config.name); config.init(this.object); delete config.html; // jquery对象创建后, config.html 不再使用 this.config = config; // 执行配置 this.init(config); } /* * 复制 */ Fragment.prototype.clone = function () { return new Fragment($.extend(true, {}, this.config)); }; /* * 初始化 */ Fragment.prototype.init = function(config) { config.css && this.object.css(config.css); }; /* * 修改样式 */ Fragment.prototype.css = function(css) { css && this.object.css(css); return this; }; /* * 输出 */ Fragment.prototype.html = function () { return this.object.prop('outerHTML'); }; /* * 使用指定数据更新自己 */ Fragment.prototype.data = function (data) { this.object.html(Util.prototype.replace(this.html(), Util.prototype.toArray(data))); return this; }; /* * *************************************************************** * 边栏类 */ function Sidebar(config) { this._default = { // 默认配置, 常量, 不应该修改, 对象初始化时可覆盖 'template':'sidebar', 'expand':true, // 默认展开还是隐藏 'css':undefined, 'main':{'width':'120px', 'position':'right'}, 'border':{'width':'1px', 'color':'#ccc', 'radius':'2px'}, 'button':{'width':'26px', 'color':'#333', 'font-size':'12px', 'background-color':'#ececec', 'radius':'5px'}, 'close':{'hide':false, 'height':'25px', 'font-size':'12px', 'padding':'0 .6em 0 .3em'}, 'show':{'start':undefined, 'end':undefined}, // 显示开始和结束时要执行的函数 'end':{'start':undefined, 'end':undefined} // 隐藏开始和结束时要执行的函数 }; config = $.extend(true, this._default, config); this.config = config; // dom 结构 var temp = $('.'+config.template+':first'); temp.hide(); this.main = temp.clone().removeClass(config.template).show(); this.main.data('instance', this); // dom 结构的 data 中保存类对象 config.css && this.main.addClass(config.css); // 主要属性 this.width = config.main.width; this.position = config.main.position; this.main.addClass(this.position); this.position_rev = this.position == 'right' ? 'left' : 'right'; this.wrapper = this.main.children('.wrapper'); this._close = this.wrapper.children('.close'); this.button = this.main.children('.button'); // 子元素的 dom 结构的 data 中保存类对象 this._close.data('parent', this); this.button.data('parent', this); // 执行配置 this.init(config); } /* * 初始化 */ Sidebar.prototype.init = function(config) { this.initMain(); this.initWrapper(config); this.initButton(config); // 垂直居中后, 移动到body最后 this.verticalCenter().appendTo('body'); config.expand ? this.show(false) : this.hide(false); this.main.show(); // 存储所有的对象到window中 (后期会使用) !window.online_service_list && (window.online_service_list = []); window.online_service_list.push(this); $(window).resize(this.onWindowResize); }; /* * 初始化 - main */ Sidebar.prototype.initMain = function() { this.main.hide().css({ 'height':'auto', 'position':'fixed', 'z-index':'100000000', 'top':'0px', 'width':this.width }); this.main.css(this.position, '0px'); // 移入移出时 this.main.hover( function () { $(this).data('instance').show(); }, function () { if(!$(this).hasClass('animate-showing')) { $(this).data('instance').hide(); } } ); }; /* * 初始化 - wrapper */ Sidebar.prototype.initWrapper = function(config) { this.wrapper.css({ 'border': config.border.width +' solid ' + config.border.color, 'border-radius':config.border.radius, '-moz-border-radius':config.border.radius }); this._close.css({ 'display':config.close.hide ? 'none' : 'block', 'position':'absolute', 'top':'0px', 'right':'0px', 'height':config.close.height, 'line-height':config.close.height, 'font-size':config.close['font-size'], 'padding':config.close.padding, 'cursor':'pointer' }).click(function () { var instance = $(this).data('parent'); Sidebar.prototype.hide.call(instance); if(typeof($("img").lazyload)=="function"){ //异步加载图片 setTimeout(function(){ $("img").lazyload({effect: "fadeIn",threshold:0,failure_limit:20,skip_invisible:false}); },500); } }).attr({'onselectstart':'return false', 'unselectable':'on'}); // [兼容]禁止选择文本 }; /* * 隐藏Sidebar * animate: 是否带动画 */ Sidebar.prototype.hide = function (animate) { animate === undefined && (animate = true); var instance = this, width = '-'+this.width, end = this.position == 'right' ? {right :width} : {left :width}, btn_width = '-'+instance.config.button.width, btn_end = instance.position == 'right' ? {left :btn_width} : {right :btn_width}; instance.onHide('start'); if(animate) { instance.main.animate(end, 'fast', function() { instance.button.show().animate(btn_end, 'fast'); instance.onHide('end'); }); } else { instance.main.css(end); instance.button.show().css(btn_end); instance.onHide('end'); } }; /* * 隐藏Sidebar开始和结束时 */ Sidebar.prototype.onHide = function (status) { var func; if(this.config.hide) { switch(status) { case 'start': Util.prototype.type(func = this.config.hide.start) == 'function' && func(); // 执行自定义函数 break; case 'end': Util.prototype.type(func = this.config.hide.end) == 'function' && func(); // 执行自定义函数 break; } } }; /* * 初始化 - button */ Sidebar.prototype.initButton = function(config) { var width = config.button.width; this.button.hide().css({ 'position':'absolute', 'top':'0%', 'width':width, 'line-height':'1.35em', 'padding':'.5em 0', 'font-size':config.close['font-size'], 'color':config.button.color, 'background-color':config.button['background-color'], 'cursor':'pointer', 'word-wrap':'break-word', 'word-break':'break-all' }); var radius = config.button.radius; if(this.position == 'right') { this.button.css({ 'border-top-left-radius':radius, 'border-bottom-left-radius':radius }); } else { this.button.css({ 'border-top-right-radius':radius, 'border-bottom-right-radius':radius }); } this.button.css(this.position_rev, '0px'); // 点击时 this.button.click(function () { var instance = $(this).data('parent'); Sidebar.prototype.show.call(instance); }).attr({'onselectstart':'return false', 'unselectable':'on'}); // [兼容]禁止选择文本 }; /* * 显示Sidebar * animate: 是否带动画 */ Sidebar.prototype.show = function (animate) { animate === undefined && (animate = true); var instance = this, end = instance.position == 'right' ? {right :0} : {left :0}; instance.onShow('start'); if(animate) { instance.onAnimate('showing'); instance.main.animate(end, 'fast', function() { instance.onAnimate(); instance.button.hide(); // Bug修复: 额外隐藏一次 instance.onShow('end'); }); } else { instance.main.css(end); instance.onShow('end'); } // 显示开始后, 不管是否有动画, 按钮应该马上隐藏 instance.button.hide(); instance.button.css(instance.position_rev,'0px'); }; /* * 显示Sidebar开始和结束时 */ Sidebar.prototype.onShow = function (status) { var func; if(this.config.show) { switch (status) { case 'start': Util.prototype.type(func = this.config.show.start) == 'function' && func(); // 执行自定义函数 break; case 'end': Util.prototype.type(func = this.config.show.end) == 'function' && func(); // 执行自定义函数 break; } } }; /* * 设置实时动画状态 * status: 为空时表示动画结束 */ Sidebar.prototype.onAnimate = function(status) { Util.prototype.removeClass(this.main, 'animate-'); status && this.main.addClass('animate-'+status); }; /* * 窗口大小改变时 */ Sidebar.prototype.onWindowResize = function() { for(var i = 0, len = window.online_service_list.length; i < len; ++i) { window.online_service_list[i].verticalCenter(); } }; /* * 在窗口垂直居中 */ Sidebar.prototype.verticalCenter = function() { var h1 = this.main.height(), h2 =$(window).height(); if(h1 && h2) { this.main.css('top', ((h2 - h1) / 2) + 'px'); } return this.main; }; /* * 添加内容 */ Sidebar.prototype.append = function(obj) { this.wrapper.append(obj); this.verticalCenter(); }; /* * *************************************************************** * 工具类 */ function Util() { } /* * 返回对象类型 */ Util.prototype.type = function(obj) { var type = obj === undefined ? 'undefined' : (obj === null ? 'null' : undefined); // 兼容旧版js解析器 return type ? type : Object.prototype.toString.call(obj).slice(8, -1).toLowerCase(); }; /* * 检测对象类型 */ Util.prototype.is = function(obj, type) { var cls = this.type(obj); return obj !== undefined && obj !== null && cls.toLowerCase() === type.toLowerCase(); }; /* * 属性扩展( 增强版 ) * 注意: 一般深度复制, 可直接使用 $.extend(true, target, source) */ Util.prototype.extend = function(target, source, is_deep, is_add) { is_deep === undefined && (is_deep = true); // 如果值也是对象, 是否对值也调用extend is_add === undefined && (is_add = true); // 如果目标对象中没有源对象的键, 是否允许新增键值 for (var p in source) { if (source.hasOwnProperty(p) && (is_add || target.hasOwnProperty(p))) { // 执行extend if(is_deep && this.is(target[p], 'object') && this.is(source[p], 'object')) { this.extend(target[p], source[p]); } else { target[p] = source[p]; } } } return target; }; /* * 删除class( 删除指定名称的class和所有以指定名称开头的class ) */ Util.prototype.removeClass = function(obj, rm) { obj.attr('class', function () { var regExp = new RegExp(rm + '\\S*', 'g'); return Util.prototype.clear($(this).attr('class').replace(regExp, '')); }); return obj; }; /* * 删除前后空白 */ Util.prototype.trim = function(s){ return s.replace(/(^\s*)|(\s*$)/g,''); }; /* * 合并中间多个空白为一个 */ Util.prototype.clear = function(s){ return s.replace(/(^\s*)|(\s*$)|(\s{2,})/g,''); }; /* * 对象转数组 */ Util.prototype.toArray = function(obj) { var array = [], p, item; for (p in obj) { if (obj.hasOwnProperty(p)) { item = [p]; item.push(this.is(obj[p], 'object') ? this.toArray(obj[p]) : obj[p]); array.push(item); } } return array; }; /* * 使用指定的键值数组替换一个字符串 * 备注: 字符串中键以{{}}标记 * 备注: data: 二维数组, 一维数组的每一项是一个长度为二的内层数组, 内层数组的第一项为键, 第二项为值 */ Util.prototype.replace = function(s, data) { var i, len, reg_str = [], reg; for(i = 0, len = data.length; i < len; ++i) { reg_str.push('({{' + data[i][0] + '}})'); } // 正则替换 reg = new RegExp(reg_str.join('|'), 'g'); return s.replace(reg, replace); // 执行替换的函数 function replace(){ // arguments 中包含的是: 字符串中当前位置匹配到的字符串, 第0个()匹配到的字符串, ..., 第n-1个()匹配到的字符串, 当前匹配的位置, 整个字符串 // 从索引为1开始, 第一个不为undefined的项的索引值减一即为匹配到的键的索引 for(var i = 1, len = arguments.length; i < len; ++i) { if(arguments[i] !== undefined) { return data[--i][1]; } } } }; //=== viewid:qqol_style_01_1577418166707 ===// //购物车 if(typeof showcart !== 'function'){ function showcart(){ var langid = 0; if (langid==0 && BodyIsFt) langid = 1; if(window.screen.width<767 || ($('body').width() > 0 && $('body').width() < 767)){ location.href = "//manage.91zhuji.cn/exusers/u_cart.php?idweb=38439&act=show&lang="+langid+"&ismobile=1"; }else{ document.getElementById("boxName").innerHTML="查看购物车"; if(document.getElementById("boxClose")) document.getElementById("boxClose").innerHTML="×"; document.getElementById("showiframe").src="//manage.91zhuji.cn/exusers/u_cart.php?idweb=38439&act=show&lang="+langid+"&v=9"; box.Show({width:'1000px', height:'600px'}); } } } //判断是否是手机,用于处理QQ电脑端及手机端链接不一致问题 var mobile_flag = isMobile(); if(mobile_flag){ $('#qqol_style_01_1577418166707 .qq-btn-pc').hide(); $('#qqol_style_01_1577418166707 .qq-btn-mobile').show(); } function isMobile() { var userAgentInfo = navigator.userAgent; var mobileAgents = [ "Android", "iPhone", "SymbianOS", "Windows Phone", "iPad","iPod"]; var mobile_flag = false; //根据userAgent判断是否是手机 for (var v = 0; v < mobileAgents.length; v++) { if (userAgentInfo.indexOf(mobileAgents[v]) > 0) { mobile_flag = true; break; } } var screen_width = window.screen.width; var screen_height = window.screen.height; //根据屏幕分辨率判断是否是手机 if(screen_width < 500 && screen_height < 800){ mobile_flag = true; } return mobile_flag; } //=== viewid:qqol_style_01_1577418166707 ===// function remove_qqol_qqol_style_01_1577418166707(){ $('body > .online-service.qqol-qqol_style_01_1577418166707').remove(); } // 创建在线客服 $(function () { // 清理旧的 remove_qqol_qqol_style_01_1577418166707(); // 创建边栏 var sidebar = new Sidebar({ 'template': 'online-template', 'css': 'qqol-qqol_style_01_1577418166707', 'expand': true, 'main': {'width':'219px', 'position': 'right'}, 'border': {'color': '#009fe9', 'width': '1px', 'radius': '10px'}, 'button': {'color': '#fff', 'background-color': '#009fe9', 'radius': '5px'}, 'close': {'hide': false} }); // 片段模板 var qqOnlineStr = '
' + '' + '{{title}}' + '{{text}}' + '' + '{{title}}' + '{{text}}' + '
'; // 图标不能显示时, 更换QQ号码让其显示 // 创建片段 Fragment.prototype.prefix = 'ol-'; // 创建片段列表 var fragmentList = new FragmentList({ 'prefix':'ol-', 'css':{'padding':'0 12px'} }); fragmentList.append(new Fragment({ 'name':'qq-online', 'html':qqOnlineStr, 'data':{'qq':' 3536323013', 'style':3, 'title':'在线客服', 'text':''}, 'css':{'margin':'.5em 0'} })); fragmentList.append(new Fragment({ 'name':'separator', 'css':{'height':'2px', 'background-color':'#a0a0a0'} })); fragmentList.append(new Fragment({ 'name': 'text', 'html': '
工作时间
', 'css':{'margin':'.5em 0'} })); fragmentList.append(new Fragment({ 'name': 'text', 'html': '
周一至周六 :8:30-17:30
', 'css':{'margin':'.5em 0'} })); fragmentList.append(new Fragment({ 'name':'separator', 'css':{'height':'2px', 'background-color':'#a0a0a0'} })); fragmentList.append(new Fragment({ 'name': 'text', 'html': '
联系方式
', 'css':{'margin':'.5em 0'} })); fragmentList.append(new Fragment({ 'name': 'text', 'html': '
手机: 15308086751
', 'css':{'margin':'.5em 0'} })); fragmentList.append(new Fragment({ 'name': 'text', 'html': '
电话:028-82553443
', 'css':{'margin':'.5em 0'} })); fragmentList.append(new Fragment({ 'name': 'text', 'html': '
微信: 15308086751
', 'css':{'margin':'.5em 0'} })); fragmentList.append(new Fragment({ 'name': 'text', 'html': '
QQ:3536323013
', 'css':{'margin':'.5em 0'} })); fragmentList.append(new Fragment({ 'name': 'text', 'html': '
邮箱:cdtfhb@163.com
', 'css':{'margin':'.5em 0'} })); fragmentList.append(new Fragment({ 'name': 'text', 'html': '
扫二维码,加微信
', 'css':{'margin':'.5em 0'} })); fragmentList.append(new Fragment({ 'name': 'image', 'html': '
图片
', 'css':{'margin':'.5em 0', 'text-align':'center'} })); // 添加到边栏 var list = fragmentList.get(); !list.children().length && list.html('

内容列表为空!

'); sidebar.append(list); if(typeof($("img").lazyload)=="function"){ $("img").lazyload({effect: "fadeIn",threshold:0,failure_limit:20,skip_invisible:false}); } }); //=== viewid:qqol_style_01_1577418166707 ===// // 对输入内容中的尖括号、引号等进行转义 function html_encode(str) { var s = ""; if (str.length == 0) return ""; s = str.replace(/&/g, "&"); s = s.replace(//g, ">"); s = s.replace(/ /g, " "); s = s.replace(/\'/g, "'"); s = s.replace(/\"/g, """); s = s.replace(/\n/g, "
"); return s; } function html_decode(str) { var s = ""; if (str.length == 0) return ""; s = str.replace(/&/g, "&"); s = s.replace(//g, ">"); s = s.replace(/ /g, " "); s = s.replace(/'/g, "\'"); s = s.replace(/"/g, "\""); s = s.replace(/
/g, "\n"); return s; } //=== viewid:liuyanban_style_01_1494492756705 ===// //-- $(function(){ var viewid="liuyanban_style_01_1494492756705"; var sys_url="viewid=liuyanban_style_01_1494492756705&name=liuyanban&style=style_01&langid=0&pageid=1829421&viewCtrl=default&isfb=1"; var moreParams=''; if(typeof(history.pushState) != 'undefined'){ var hstate=JSON.stringify(history.state); if(hstate!='null'&& hstate!=null){ eval('var hjson = ' + hstate); moreParams=hjson.moreParamsliuyanban_style_01_1494492756705; } } RequestURL(viewid,sys_url,moreParams); }); //-- //=== viewid:liuyanban_style_01_1494492756705 ===// // 延迟重新刷新验证码 setTimeout(function(){ let umg = "//manage.91zhuji.cn/codeimg.php?viewid=liuyanban_style_01_1494492756705&rnd="+Math.floor(Math.random() * ( 1000 + 1)); $("#liuyanban_style_01_1494492756705 .gf_code").css('background',"url("+umg+") right center no-repeat"); },500); $('#liuyanban_style_01_1494492756705 .gformList').each(function(){ $(this).find('input').blur(function(){ var type = $(this).attr('name'); if(type == 'verification_code'){ return; } var check = $(this).attr('check'); var reg = new RegExp(check,"i"); var value = $(this).val(); if(reg.test(value)) { $(this).removeClass('error'); }else { $(this).addClass('error'); } }); }); //=== viewid:flink_style_01_1577355019490 ===//