function layer_media_ready_func(layerid){ var userAgent = navigator.userAgent.toLowerCase(); if (!/iphone/i.test(userAgent)){ var imgover=$('#wp-media-image_'+layerid).closest('.img_over'); imgover.children('.imgloading').width(imgover.width()).height(imgover.height()); } $('#'+layerid).layer_ready(function(){ if(typeof(layer_img_lzld)=="function"){ layer_img_lzld(layerid); } }); } function layer_media_lazyload_func(layerid, iswx){ var imgwidth = $('#'+layerid+' .wp-media_content').width(); var imgheight = $('#'+layerid+' .wp-media_content').height(); var imgtop = ($('#wp-media-image_'+layerid)); if(parseInt(imgtop.css('top'))<-600&&imgtop.attr('src').indexOf('blank.gif')>0){imgtop.attr('src',imgtop.attr('data-original'));} if(iswx){ if(imgtop.offset().top0){ imgtop.attr('src',imgtop.attr('data-original')); } setTimeout(function(){ var imgdisplay = imgtop.css('display'); if(imgdisplay&&imgdisplay=='inline') imgtop.css('display','inline-block'); },1200); } // bug#4119 - 模块自适应高度导致的留白 $('#'+layerid).bind("wrapmodheightadapt", function(){ $('.img_over, img.paragraph_image', this).height($(this).height()); }); }; function layer_navbar_ready_func(params, callback){ var layerid = params.layerid; $('#'+layerid).layer_ready(function(){ var $curlayer = $('#'+layerid); if ($.isFunction(callback)) callback(); if (params.isedit) $curlayer.data("menudata", params.menudata); // 修复样式未渲染完成之前的显示问题 var shwtimer = setTimeout(function(){ $curlayer.children('.wp-navbar_content').css("visibility", 'visible'); clearTimeout(shwtimer); if(params.skin_style == 'horizontal_h01'){ var fontSize=parseInt($('#'+layerid+' nav.mtree li a').css('font-size'))||0; var actualFont=params.fontsize; if(actualFont>10 &&fontSize-actualFont>0.5){ var w=$('#'+layerid+' nav.mtree li a').width(); $('#'+layerid+' nav.mtree li a').css('max-width',(w*actualFont/fontSize-2)+'px'); }else{ var w=$('#'+layerid+' nav.mtree li a').width(); if(actualFont>10&&actualFont-fontSize>0.5) $('#'+layerid+' nav.mtree li a').css('max-width',(w*actualFont/fontSize-2)+'px'); } } }, 50); // 编辑模式 if(params.isedit){ // 局部刷新时调整模块尺寸 if (params.isrefresh == 'true') { var $content = $curlayer.children('.wp-navbar_content'),modsize = $.padborder_logic($content), bwidth = $._parseFloat($curlayer.css("borderLeftWidth")) + $._parseFloat($curlayer.css("borderRightWidth")), bheight = $._parseFloat($curlayer.css("borderTopWidth")) + $._parseFloat($curlayer.css("borderBottomWidth")), modleft = $._parseFloat($curlayer.css("left")),canvaswidth = canv.width(),modwidth = modheight = 0; modwidth = window.modmaxwidth - bwidth;modheight = window.modmaxheight - bheight; if (canvaswidth < modleft + modwidth) modwidth -= modleft; $content.width(modwidth).height(modheight);$curlayer.width(modwidth + modsize.width).height(modheight + modsize.height); var tmptimer = setTimeout(function(){ var conheight = $content.children('.menubtn,nav.mtree').outerHeight(true); conheight = Math.max(conheight, $content.height()); $content.height(conheight);$curlayer.height(conheight + modsize.height); window.modmaxwidth = window.modmaxheight = $content = modsize = null;clearTimeout(tmptimer); }, 100); bwidth = modleft = canvaswidth = modwidth = modheight = null; } // 保存配置项 $curlayer.mod_property(params.options); // 禁用标签 $curlayer.find('li>a.mtitle').attr("href", 'javascript:;'); } }); }; function layer_mslider_preload_func(layerid){ window['preload_'+layerid] = function(url, callback){ var img = new Image(); img.onload = function(){ callback(img.width, img.height); img.onload = null; }; img.src = url; }; } function layer_mslider_ready_func(params){ var $mscontent = $('#'+params.layerid+' > .wp-mslider_content'), $mswrap = $mscontent.children('ul.mslider_wrapper'),maxln = $._parseFloat(params.framecnt); // Images adaptive var width = $mscontent.width()||300,maxwidth = (maxln + 2) * width; var ua = navigator.userAgent.toLowerCase() || ''; if(ua.match(/\sucbrowser\/.+\s+mobile/g)){ $mswrap.children('li:last').css({position: 'relative'}); } else{ $mswrap.children('li:last').css({left: (0 - maxwidth)+'px',position: 'relative'}); } $mswrap.css('visibility','visible'); $mswrap.width(maxwidth).find('img').each(function(i, node){ var $img = $(this),imgsrc = $img.attr("data-src")||''; if ($.trim(imgsrc).length == 0) return; window['preload_'+params.layerid](imgsrc, function(imgwidth, imgheight){ var tmpw = 0,tmph = 0,height = $mscontent.height(); $img.attr('src',imgsrc); if ((imgwidth >= width) || (imgheight >= height)) { var direct = (imgwidth >= width) ? (imgwidth >= imgheight) : (imgheight < imgwidth); if (direct) { // Horizontal $img.width(width).height("auto");tmph = $img.height(); $img.css("margin", ((height - tmph) / 2)+'px 0'); } else { // Vertical $img.height(height).width("auto");tmpw = $img.width(); $img.css("margin", '0 '+((width - tmpw) / 2)+'px'); } } else $img.css("margin", ((height - imgheight) / 2)+'px '+((width - imgwidth) / 2)+'px'); $img.css("visibility", 'visible') .closest('li').css({background: 'none',width: width+'px',height: height+'px'}); }); }); // Images switch var duration = $._parseFloat(params.interval) * 1000; window['autoplay_'+params.layerid] = function(status){ if (params.autoplay != '1') { if ($mswrap.is(':animated')) $mswrap.stop(true, false); var interid = window['interid_'+params.layerid]; if (interid != undefined) clearInterval(interid); return; } var $msbar = $mscontent.find('> .mslider_bar'),curindex = $msbar.children('a.local').index(); if (status == undefined) curindex = Math.min(curindex + 1, maxln); if(window['interid_'+params.layerid]) clearInterval(window['interid_'+params.layerid]); window['interid_'+params.layerid] = setInterval(function(){ if (curindex > maxln - 1) { $mswrap.animate({left: (0 - curindex*width)+'px'}, function(){ $(this).css("left", '0px'); $msbar.children('a:eq(0)').addClass("local") .siblings().removeClass("local"); $msbar.children('a:eq(0)').find("span").addClass("local"); $msbar.children('a:eq(0)').siblings().find("span").removeClass("local"); }); curindex = 0; } else { $mscontent.find('> .mslider_bar > a:eq('+curindex+')').triggerHandler(mclick,[curindex]); } curindex++; }, duration); } if (window.ontouchstart !== undefined) { (function(){ var target = $mswrap[0];var pagex = 0; var pagey = 0; var curleft = 0; var need_stopPropagation=false; if(!window['is_touch_bind_'+params.layerid]){ target.addEventListener("touchstart", function(e){ var $target = $(this); $target.find('li.li_last').remove(); pagex = e.touches[0].pageX; pagey = e.touches[0].pageY; curleft = $._parseFloat($target.css("left")); need_stopPropagation=false; }, false); target.addEventListener("touchmove", function(e){ if ($mswrap.is(':animated')) $mswrap.stop(true, false); if(curleft>=0){ var lastli=$mswrap.find('li:last'); var interid = window['interid_'+params.layerid]; if (interid != undefined) clearInterval(interid); if(lastli.length>0){ var cpli=lastli.clone().addClass('li_last').css('left',''); var liw=0-width; $mswrap.find('li:first').before(cpli); $mswrap.css("left",liw+'px'); curleft =liw; } } // init var movex = e.touches[0].pageX - pagex, movey = e.touches[0].pageY - pagey,newleft = curleft + movex; if(need_stopPropagation){ e.stopPropagation(); e.preventDefault(); } // fixed touchmove if (Math.abs(movey) < 10 && Math.abs(movex) > 5) { e.preventDefault(); e.stopPropagation(); need_stopPropagation=true; // animated $mswrap.css("left", newleft+'px') .find('li>a').bind('click',function(e){e.preventDefault()});/*Disabled */ } }, false); target.addEventListener("touchend", function(e){ var interid = window['interid_'+params.layerid]; need_stopPropagation=false; if (interid != undefined) clearInterval(interid); var newleft = index = 0,movex = e.changedTouches[0].pageX - pagex,moveln = 30/*moved length*/, curindex = $mscontent.find('> .mslider_bar > a.local').index(),moved = false; if (Math.abs(movex) >= moveln) { moved = true; index = (movex < 0)?(curindex + 1):(curindex - 1); if (index < 0) { newleft = width; index = maxln - 1; } else { newleft = 0 - index * width; if((movex < 0)&&(curindex == maxln - 1)) index = 0; } } else { index = curindex; newleft = 0 - curindex * width; } if($mswrap.find('li.li_last').length){ newleft -= width; } $mswrap.animate({left: newleft+'px'}, function(){ $('li>a', this).unbind('click')/*Enabled */ $mscontent.find('> .mslider_bar > a:eq('+index+')').addClass("local") .siblings().removeClass("local"); $mscontent.find('> .mslider_bar > a:eq('+index+')').find("span").addClass("local"); $mscontent.find('> .mslider_bar > a:eq('+index+')').siblings().find("span").removeClass("local"); if($mswrap.find('li.li_last').length){ $mswrap.find('li.li_last').remove(); $(this).css("left", (newleft+width)+'px'); } if (moved == false){ window['autoplay_'+params.layerid](); return; } if (index == 0) $(this).css("left", '0px'); if (index == maxln - 1) $(this).css("left", (0 - index*width)+'px'); window['autoplay_'+params.layerid](); }); }, false); window['is_touch_bind_'+params.layerid]=true; } })(); } else { $mswrap.bind('mousedown.mslider', function(e){ e.preventDefault(); var $target = $(this),pagex = e.pageX,curleft = $._parseFloat($target.css("left")); if ($target.is(':animated')) $target.stop(true, false); var interid = window['interid_'+params.layerid]; if (interid != undefined) clearInterval(interid); $(document).bind('mousemove.mslider', function(e){ e.preventDefault(); $target.css("left", (curleft + e.pageX - pagex)+'px') .find('li>a').bind('click',function(e){e.preventDefault()});/*Disabled */ }).bind('mouseup.mslider', function(e){ e.preventDefault(); $(document).unbind('.mslider'); var newleft = index = 0,movex = e.pageX - pagex,moveln = 30/*moved length*/, curindex = $mscontent.find('> .mslider_bar > a.local').index(),moved = false; if (Math.abs(movex) >= moveln) { moved = true; index = (movex < 0)?(curindex + 1):(curindex - 1); if (index < 0) { newleft = width; index = maxln - 1; } else { newleft = 0 - index * width; if((movex < 0)&&(curindex == maxln - 1)) index = 0; } } else { index = curindex; newleft = 0 - curindex * width; } $target.animate({left: newleft+'px'}, function(){ $('li>a', this).unbind('click')/*Enabled */ $mscontent.find('> .mslider_bar > a:eq('+index+')').addClass("local") .siblings().removeClass("local"); $mscontent.find('> .mslider_bar > a:eq('+index+')').find("span").addClass("local"); $mscontent.find('> .mslider_bar > a:eq('+index+')').siblings().find("span").removeClass("local"); if (moved == false) return; if (index == 0) $(this).css("left", '0px'); if (index == maxln - 1) $(this).css("left", (0 - index*width)+'px'); window['autoplay_'+params.layerid](); }); }); }); } // Pager $mscontent.find('> .mslider_bar > a').bind(mclick, function(e, n){ var $target = $(this),index = n||$target.index(); if ($mswrap.is(':animated')) $mswrap.stop(true, false); var interid = window['interid_'+params.layerid]; if ((n == undefined) && (interid != undefined)) clearInterval(interid); $target.addClass("local").siblings().removeClass("local"); $target.find("span").addClass("local"); $target.siblings().find("span").removeClass("local"); $mswrap.animate({left: (0 - index * width)+'px'}, function(){ (n == undefined) && window['autoplay_'+params.layerid](); }); }); // Autoplay if (params.isrefresh) { var interid = window['interid_'+params.layerid]; if (interid != undefined) clearInterval(interid); window['autoplay_'+params.layerid]();return; } window['autoplay_'+params.layerid]('init'); }; function layer_article_detail_init_func(params){ var $artdetailayer = $('#'+params.layerid); $artdetailayer.find('.mask').css({'width':$artdetailayer.width(),height:$artdetailayer.height()}); $artdetailayer.mod_property(params.artdetailstyle); $artdetailayer.data('article_id', params['article_id']); } function layer_article_detail_onevent_func(params){ var $artdetailayer = $('#'+params.layerid); if(params.txtalign != "center") $artdetailayer.find('.sourcedata').css("text-align", params.txtalign); if (! params.isedit && /\b(micromessenger|windows phone)\b/i.test(navigator.userAgent) && params.manageinf>=2) { function wxShare(){ /* 获取微信粉丝进行分享及转发时的响应事件方法 */ var appid = params.appid,timestamp = params.timestamp; var noncestr = params.noncestr,signature = params.signature; var signature1 = params.signature1,article_id = params['article_id']; var article_img = params.article_img; var desc = params.webdesc; var wxdesc= params.wxsharedesc; var wxsharepic = params.wxsharepic; if(wxdesc)desc = wxdesc if(wxsharepic)article_img = wxsharepic; if(/^\/\//.test(article_img)) article_img =document.location.protocol+article_img; if (typeof wx === 'undefined') return false; //防止全局中将微信右上角的按钮隐藏,这里采用延迟设置按钮可见的方式,因微信现没有提供检测按钮状态的接口所以采用固定延迟时间 setTimeout(function(){wx.showOptionMenu();},3000); wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: appid, // 必填,公众号的唯一标识 timestamp: timestamp, // 必填,生成签名的时间戳 nonceStr: noncestr, // 必填,生成签名的随机串 signature: signature,// 必填,签名,见附录1 jsApiList: ["onMenuShareTimeline","onMenuShareAppMessage","onMenuShareQQ","onMenuShareWeibo"] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //分享到朋友圈 //config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 wx.onMenuShareTimeline({ title: params.webname,link: params.curlink,imgUrl: article_img, success:function(){ var url=parseToURL("article_detail","setUserShare",{'types':'share','article_id':article_id}); $.ajax({type : 'post',url : url,success : function(json_result){ var o_result = $.parseJSON(json_result); if(o_result.result == 'ERROR'){ alert(o_result.errmsg);return false; }else if(o_result.result == 'OK'){ alert(o_result.custom_errmsg);return false; } } }).error(function(eobject,einfo,errobject){}); } }); //分享给朋友 wx.onMenuShareAppMessage({ title: params.webname,desc:desc,link: params.curlink,imgUrl: article_img,type: '',dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空 success:function(){ var url=parseToURL("article_detail","setUserShare",{'types':'retransmission','article_id':article_id}); $.ajax({type : 'post',url : url,success : function(json_result){ var o_result = $.parseJSON(json_result); if(o_result.result == 'ERROR'){ alert(o_result.errmsg);return false; }else if(o_result.result == 'OK'){ alert(o_result.custom_errmsg);return false; } } }).error(function(eobject,einfo,errobject){}); } }); }); } window.wxShare=wxShare; wxShare(); } $('#'+params.layerid).find("iframe").each(function(){ var widthv = $(this).attr("width"); var typedata= $(this).attr("data") if(widthv>300 && typedata=="_iframe_"){ var heightv = $(this).attr("height"); $(this).attr("width","100%"); var curw=$(this).width(); $(this).attr("height","auto"); if(heightv>100){ var curh=parseInt(curw/widthv*heightv); if(curh>$(this).height()+20){ $(this).attr("height",curh); } } } }); if (params.isedit) return false; $(function(){ //bug(3053) var $layerid = $('#'+params.layerid); $layerid.css('height','auto'); $layerid.find('.artview_detail img').css("max-width",$layerid.find('.artview_detail').width()+"px"); //bug2666 用户在文章详情设置了图片大小后,结果还是自适应 if($layerid.find('.artview_detail img').width()==0){ $layerid.find('.artview_detail img').css("width",$layerid.find('.artview_detail').width()+"px");} if($layerid.find('.artview_detail img').height()==0){ $layerid.find('.artview_detail img').css("height","auto");} var alldefers=[]; var supportimgs=[]; $layerid.find('.artview_detail img').each(function(){ var deferred=new $.Deferred() var imgsrc=$(this).prop('src'); var img=new Image(); img.onload=function(){ if(img.width>300){ supportimgs.push(imgsrc); } } img.onerror=function(){} img.src=imgsrc; alldefers.push(deferred); }) $layerid.find('.artview_detail img').filter(function(){ if($(this).closest('a').length>0) return false; return true; }).click(function(){ var imgsrc=$(this).prop('src'); if($.inArray(imgsrc,supportimgs)==-1) return; var obj = { urls : [imgsrc], current : imgsrc }; previewImage.start(obj); }) //bug(3705) setTimeout(function(){ var $artdetai = $layerid.find('div.wp-article_detail_content'); var artdetaibortop = parseInt($artdetai.css('border-top-width')); var artdetaiborbot = parseInt($artdetai.css('border-bottom-width')); if(artdetaibortop == 0 && artdetaiborbot == 0){return false;} $layerid.find('.artview_detail img').css("max-width",$layerid.find('.artview_detail').width()+"px"); $layerid.find('.artview_detail img').css("height","auto"); var $site_footer = $('#site_footer'); var artdetailayerhei = parseInt($layerid.height()); var artdetaihei = parseInt($artdetai.height()); var site_footertop = parseInt($site_footer.css('top')); var artdetaiall = artdetaihei + artdetaibortop + artdetaiborbot; var $html = $('html'); var htmlhei = $html.height(); var $scroll_container = $('#scroll_container'); var scroll_containerhei = $scroll_container.height(); var $wp_mobile_navhandler = $('#wp-mobile_navhandler'); $artdetai.height(artdetaiall); $layerid.height(artdetailayerhei + artdetaiborbot + artdetaibortop); $site_footer.css('top',(site_footertop+artdetaibortop+artdetaiborbot)+'px'); $scroll_container.height(scroll_containerhei+artdetaibortop+artdetaiborbot); $wp_mobile_navhandler.click(function(){ var $wp_mobile_navtab = $('#wp-mobile_navtab'); var wp_mobile_navtabhei = $wp_mobile_navtab.height(); var htmlheinew = $html.height(); if(parseInt($wp_mobile_navtab.css('bottom')) < 0){ $html.height(htmlheinew+wp_mobile_navtabhei); $scroll_container.height(htmlheinew+wp_mobile_navtabhei); } else{ $html.height(htmlheinew-wp_mobile_navtabhei); $scroll_container.height(htmlheinew-wp_mobile_navtabhei); } }); wp_heightAdapt($layerid); },1000); }); }