function layer_media_init_func(layerid,params){ var $curlayer=$('#'+layerid), _duration = -1; $('#wp-media-image_'+layerid).off('mouseover').mouseover(function (event) { if($curlayer.data('wopop_effects') && $curlayer.hasClass('now_effecting')){ return; } var effect=$curlayer.data('wopop_imgeffects'); var $this=$(this); var running=$this.data('run'); if(effect && running!=1){ var effectrole = effect['effectrole']; var dset = effect['dset']; var effectel=$curlayer; if(effectrole=='dantu' && effect['effect']=="effect.rotation"){ $curlayer.data('iseffectrotate',true); effectel=$curlayer.find('.wp-media_content'); }else if(effectrole !='dantu' && dset && dset['effect']=="effect.rotation"){ $curlayer.data('iseffectrotate',true); effectel=$curlayer.find('.wp-media_content'); }else if(effect['effect_on_img'] && effectrole=='dantu' && effect['effect']=="effect.zoomin"){ effectel=$curlayer.find('img'); } effectel.setimgEffects(true,effect,1); if(effectrole !='dantu' && dset && effect['effect_on_img'] && dset['effect']=="effect.zoomin"){ effectel=$curlayer.find('img.paragraph_image'); $curlayer.data('iseffectrotate',true); } if(effectrole !='dantu' && typeof(dset)!="undefined"){ // fixed bug#5949 if ($curlayer.hasClass('now_effecting')) { _duration = dset.duration; $curlayer.wopop_effect_command('stop'); } var temp_effect = {}; temp_effect['type'] = effect['type']; temp_effect['effectrole'] = 'dantu'; temp_effect['effect'] = effect['dset']['effect']; temp_effect['duration'] = effect['dset']['duration']; effectel.setimgEffects(true,temp_effect,1); } } }); // fixed bug#5949 $curlayer.mouseleave(function(e){ var $target = $(this), _tt = parseInt(_duration); if (!isNaN(_tt) && _tt >= 0 && !$target.hasClass('now_effecting')) { var timer = setTimeout(function(){ $target.showEffects(); _duration = -1; clearTimeout(timer); }, _tt); } }); var imgover=$('#wp-media-image_'+layerid).closest('.img_over'); imgover.children('.imgloading').width(imgover.width()).height(imgover.height()); imgover.css('position','relative'); $('#'+layerid).layer_ready(function(){ layer_img_lzld(layerid); }); } ; function wp_getdefaultHoverCss(layer_id) { var getli=''; var geta=''; var cssstyle=''; var navStyle = wp_get_navstyle(layer_id,'datasty_'); if(navStyle.length > 0) { var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop:\\s*hover\\s*{[^}]+}",'i'); var tmp = patt1.exec(navStyle); if(tmp) { var tmp1 = tmp[0].match(/{[^}]+}/)[0]; tmp1=tmp1.replace('{','').replace('}',''); getli=getli+tmp1; } patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{[^}]+}",'i'); tmp = patt1.exec(navStyle); if(tmp) { var tmp2 = tmp[0].match(/{[^}]+}/)[0]; tmp2=tmp2.replace('{','').replace('}',''); geta=geta+tmp2; } } navStyle = wp_get_navstyle(layer_id,'datastys_'); var getlia=''; if(navStyle.length > 0) { var layidlow=('#nav_'+layer_id+' li.wp_subtop>a:hover').toLowerCase(); if( ('a'+navStyle).toLowerCase().indexOf(layidlow)>0){ var parstr="#nav_"+ layer_id +" li.wp_subtop>a:hover"; getlia = navStyle.split(new RegExp(parstr,"i")); var combilestr=''; for(key in getlia){ var ervervalue=''; if(('a'+getlia[key]).indexOf('{')<3 && ('a'+getlia[key]).indexOf('{')>0 ){ var parvalue=getlia[key].split('{'); if(('a'+parvalue[1]).indexOf('}')>0){ ervervalue=parvalue[1].split('}')[0]; } } combilestr=combilestr+ervervalue; } geta=geta+combilestr; } layidlow=('#nav_'+layer_id+' li.wp_subtop:hover').toLowerCase(); if( ('a'+navStyle).toLowerCase().indexOf(layidlow)>0){ var parstr="#nav_"+ layer_id +" li.wp_subtop:hover"; getlia = navStyle.split(new RegExp(parstr,"i")); var combilestrs=''; for(var key in getlia){ var ervervalue=''; if(('a'+getlia[key]).indexOf('{')<3 && ('a'+getlia[key]).indexOf('{')>0 ){ var parvalue=getlia[key].split('{'); if(('a'+parvalue[1]).indexOf('}')>0){ ervervalue=parvalue[1].split('}')[0]; } } combilestrs=combilestrs+ervervalue; } getli=getli+combilestrs; } } if(getli.length>0){ getli="#"+layer_id+" li.lihover{"+getli+"} "; } if(geta.length>0){ geta="#"+layer_id+" li>a.ahover{"+geta+"} "; } cssstyle=getli+geta; if(cssstyle.length>0 ){ cssstyle=""+cssstyle+""; cssstyle=cssstyle.replace(/[\r\n]/g, " ").replace(/\s+/g, " "); var doms=$('#'+layer_id); var oldcssstyle=doms.data('get_layer_hover_css'); if(oldcssstyle != cssstyle){ $("#hover"+layer_id+"").text(""+cssstyle+""); doms.data('get_layer_hover_css',cssstyle); get_plugin_css("H"+ layer_id +"H",cssstyle); } } } function wp_showdefaultHoverCss(layer_id){ var layertype=$('#'+layer_id).attr('type'); if(layertype && window['wp_showdefaultHoverCss_'+layertype]){ return window['wp_showdefaultHoverCss_'+layertype](layer_id); } return false; } function wp_showdefaultHoverCss_new_navigation(layer_id) { var plugin_name=$("#"+layer_id).attr('type'); var hover=$("#"+layer_id).find('.nav1').attr('hover'); if(hover!=1){ return;} wp_getdefaultHoverCss(layer_id); var n=0; var rootpid=0; if(plugin_name=='new_navigation'){ var page_id=$("#page_id").val(); rootpid=$("#page_id").attr("rpid")*1; }else{ var page_id=$('#'+layer_id+'').find(".default_pid").html(); if(page_id==0 || page_id.length==0){ page_id=$('#nav_'+layer_id+'').children('li:first').attr('pid'); } } $('#nav_'+layer_id+'').children('li').each(function(){ var type_pid=$(this).attr('pid'); if( (type_pid==page_id ) && plugin_name=='new_navigation' ){ $(this).addClass("lihover").children('a').addClass("ahover"); } $(this).hover(function(){ $(this).children('a').addClass("ahover"); },function(){ if(!$(this).is('.lihover')) $(this).children('a').removeClass("ahover"); }) if(type_pid==rootpid && rootpid>0){ $(this).addClass('rootlihover'); } var t_bool = false; var whref = window.location.href.replace(/^https?:/,'').replace(/&brd=1$/,'');; var t_href= $(this).find("a").attr("href").replace(/^https?:/,'').replace(/&brd=1$/,'');; var $nav1 = $('#'+layer_id).children('.wp-new_navigation_content').children('.nav1'); var sethomeurl = $nav1.attr("sethomeurl"); if(sethomeurl) sethomeurl = sethomeurl.replace(/^https?:/,''); var cururl = window.location.href.replace(/^https?:/,''); if( (whref.indexOf("&menu_id=")>0 && t_href.indexOf("id=")>0 && whref.indexOf(t_href)>-1) || t_href == sethomeurl && sethomeurl.indexOf(cururl)>-1 ){ t_bool = true; } var domainName = window.location.hostname; if((whref.indexOf("&menu_id=")>0 && whref.indexOf(t_href)>-1)&&t_href!=sethomeurl&&t_href!='//'+domainName){ t_bool = true; } if(whref == t_href || whref== t_href+"&brd=1" || t_bool){ $(this).addClass("lihover").children('a').addClass("ahover"); } n++; }); if(!$('#nav_'+layer_id+'').children('li.lihover').length){ $('#nav_'+layer_id+'').children('li.rootlihover:first').addClass("lihover").children('a').addClass("ahover"); } $('#nav_'+layer_id+' .rootlihover').removeClass('rootlihover'); } function wp_nav_addMoreButton(layer_id) { var type_style=$("#"+layer_id).find('.wp-new_navigation_content').attr('type'); var index=0; var exec=false; var func=function(){ if(!$('#scroll_container #'+layer_id+':visible').length){ $("#"+layer_id).unbind('more_button_event').bind('more_button_event',function(){ index=0; func(); }) if(index<=20){ setTimeout(func,500); index++; } return; } if(exec) return; $("#"+layer_id).unbind('more_button_event'); exec=true; var firstLiTop = 0; var hasMore = false; $('#scroll_container #nav_'+layer_id).children('li.wp_subtop').each(function(i){ if(i == 0) {firstLiTop = $(this).offset().top;return true;} if($(this).offset().top > firstLiTop) { if(i==1){ var twice=$("#"+layer_id).data('twiced'); if(!twice){ $("#"+layer_id).data('twiced',true); setTimeout(func,1500); return false; } } if(type_style==2){ $(this).remove(); }else{ $('#'+layer_id).data('hasMore','yes');//配置逻辑获取 var more = $.trim($('#'+layer_id).children('.wp-new_navigation_content').children('.nav1').attr('more')); var doms = $(this).prev().prev().nextAll().clone(); var objA = $(this).prev().children('a'); if(objA.children('span').length > 0) objA.children('span').html(more); else objA.html(more); if(objA.hasClass('sub')) { objA.next('ul').empty(); doms.appendTo(objA.next('ul')); } else { objA.after(''); doms.appendTo(objA.next('ul')); objA.addClass('sub'); } objA.addClass('nav_more_link'); $(this).prev().nextAll().remove(); objA.next('ul').children('li').removeClass('wp_subtop').removeClass('lihover').children('a').removeClass("ahover"); hasMore = true; objA.attr('href','javascript:void(0);'); //点击"更多"弹出全站导航 if($("#"+layer_id).find('.nav1').attr('moreshow') == 1) { $(document).undelegate("#"+layer_id+" .nav_more_link",'click').delegate("#"+layer_id+" .nav_more_link",'click',function (e){ var func=function(){ $('#'+layer_id).find('#basic-modal-content_'+layer_id).modal({ containerId:'wp-new_navigation-simplemodal-container_'+layer_id, zIndex:9999, close:false, onOpen:function(dialog){ dialog.overlay.fadeIn('slow', function(){ dialog.container.slideDown('slow',function(){ dialog.data.fadeIn('slow','swing',function(){ $('.wp_menus').not('.wp_thirdmenu0').each(function(){ var left = $(this).parent().parent().children('a').eq(0).outerWidth()+5; $(this).css({position:'relative',left:left+'px'}); }); }); }); }); }, onClose:function(dialog){ dialog.data.fadeOut('slow',function (){ dialog.container.slideUp('slow', function () { dialog.overlay.fadeOut('slow', function () { $.modal.close(); }); }); }); } }); } if($('#'+layer_id).find('#basic-modal-content_'+layer_id).length){ func(); }else{ var morediv=$('#'+layer_id).find('.navigation_more'); var more_color=morediv.attr('data-more'); var typeval=morediv.attr('data-typeval'); var menudata=morediv.attr('data-menudata'); $.ajax({ type: "POST", url: parseToURL("new_navigation", "windowpopup"), data: {layer_id:layer_id,color:more_color,typeval:typeval,menudata:menudata}, success: function (response) { if (response == 'Session expired') window.location.href = getSessionExpiredUrl(); morediv.replaceWith(response); func(); }, error: function (xhr, textStatus, errorThrown) { wp_alert(xhr.readyState + ',' + xhr.status + ' - ' + (errorThrown || textStatus) + "(get nav).
" + translate("Request failed!")); return false; } }); } return false; }); } return false; } } }); if(!hasMore) $('#'+layer_id).data('hasMore','no'); wp_showdefaultHoverCss(layer_id); }; func(); } //编辑模式水平拖动动态刷新修改More按钮 function wp_updateMoreButton(layer_id) { var $layer = $('#'+layer_id); var $nav1 = $layer.children('.wp-new_navigation_content').children('.nav1'); var tmp_css = $.trim($("#datastys_"+layer_id).text()); var tmp_cssa = $.trim($("#datasty_"+layer_id).text()); $.post(parseToURL("new_navigation","refreshNavigator",{menustyle:$.trim($nav1.attr('skin')),saveCss:'yes',page_id:$("#page_id").val(),blockid:layer_id,typeval:$.trim($layer.find(".wp-new_navigation_content").attr('type')),colorstyle:$.trim($nav1.attr('colorstyle')),direction:$.trim($nav1.attr('direction')),more:$.trim($nav1.attr('more')),hover:$.trim($nav1.attr('hover')),hover_scr:$.trim($nav1.attr('hover_scr')),umenu:$.trim($nav1.attr('umenu')),dmenu:$.trim($nav1.attr('dmenu')),moreshow:$.trim($nav1.attr('moreshow')),morecolor:$.trim($nav1.attr('morecolor')),smcenter:$.trim($nav1.attr('smcenter'))}),{"addopts": $layer.mod_property("addopts")||{},menudata:$("#"+layer_id).data("menudata")},function(data){ $layer.find('.wp-new_navigation_content').html(data); $("#datastys_"+layer_id).text(tmp_css); get_plugin_css(layer_id,tmp_cssa+" "+tmp_css); }); wp_showdefaultHoverCss(layer_id); } function wp_removeLoading(layer_id) { var $nav1 = $('#'+layer_id).find(".nav1"); var ishorizon=$nav1.attr("ishorizon"); if(ishorizon=='1'){ $("#"+layer_id).find('.wp-new_navigation_content').css({height:'auto',overflow:'visible'}); }else{ $("#"+layer_id).find('.wp-new_navigation_content').css({width:'auto',overflow:'visible'}); } // 修复IE浏览器部分版本导航无法显示问题 2013/12/26 var temptimer = setTimeout(function(){ $("#"+layer_id).find('.wp-new_navigation_content').css("overflow", 'visible'); clearTimeout(temptimer); }, 50); } function richtxt(layer_id) { var type=$("#"+layer_id).find('.wp-new_navigation_content').attr('type'); if(type==2){ var baseloop = 0; $("#"+layer_id).find('.ddli').each(function(){ $(this).addClass("setdiff"+baseloop); baseloop++; }); } } function wp_createNavigationgetSubMenuHoverCssFunc(param){ var layer_id=param.layer_id; var editmode=param.editmode; function getSubMenuHoverCss(css_pro,type){ var typeval=type; if(typeval==1){ var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+"; }else{ var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+"; } if(editmode){ var navStyle = $.trim($("#datastys_"+layer_id).text()); }else{ var navStyle = $.trim($("#"+layer_id).data("datastys_")); } if(navStyle.length > 0){ var patt1 =new RegExp(regex,'i'); var tmp = patt1.exec($.trim(navStyle)); if(tmp) { return $.trim((tmp[0].match(/{[^:]+:[^;]+/)[0]).match(/:[^;]+/)[0].replace(':','')); } } if(editmode){ navStyle = $.trim($("#datasty_"+layer_id).text()); }else{ navStyle = $.trim($("#"+layer_id).data("datasty_")); } if(navStyle.length > 0) { if(typeval==1){ var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{[^}]+}",'i'); }else{ var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{[^}]+}",'i'); } var tmp = patt1.exec(navStyle); if(tmp) { var tmp1 = tmp[0].match(/{[^}]+}/)[0]; var patt2 = new RegExp(css_pro+"\\s*:\\s*[^;]+;",'i'); tmp = patt2.exec(tmp1); if(tmp) return $.trim(tmp[0].replace(/[^:]+:/,'').replace(';','')); } } return $.trim($("#nav_"+layer_id+" ul li a").css(css_pro)); } window[layer_id+'_getSubMenuHoverCss']=getSubMenuHoverCss; } function layer_new_navigation_content_func(params){ var layer_id = params['layer_id']; $("#"+layer_id).find('.menu_hs11').css('visibility','hidden'); var contentfunc=function(){ if($("#"+layer_id).is(':visible')){ $("#"+layer_id).find('.wp-new_navigation_content').each(function(){ var wid = $(this).width(); var liwid = $(this).find('li:eq(0)'); var lipadd = parseInt(liwid.css('padding-right'))+parseInt(liwid.css('padding-left')); var isEmptyMenu=false; if($(this).find('li.wp_subtop').length==1){ var menulinktxt=$(this).find('li.wp_subtop a').text(); if(menulinktxt=='No menu!'){ isEmptyMenu=true; } } if (!isEmptyMenu && $.inArray(params.menustyle, ['hs7','hs9','hs11','hs12']) != -1) { var bwidth = parseFloat(liwid.css("borderRightWidth") || '0'); if(bwidth>0) bwidth=Math.round(bwidth); else bwidth =0; $('li.wp_subtop', this).css('box-sizing',''); if(bwidth > 0) $('li.wp_subtop', this).width(function(i, h){return h - bwidth - 1}); else if(!$("#canvas").data('changewidth_'+layer_id)){ $("#canvas").data('changewidth_'+layer_id,true); if(params.menustyle=='hs12'){ $('li.wp_subtop', this).width(function(i, h){return h - 1}) }else{ var totalw=0; $('li.wp_subtop', this).width(function(i, h){totalw+=h;return h}) var ulwidth=$(this).find('#nav_'+layer_id).width(); if(totalw>ulwidth){ for(var i=0;i(wid-lipadd)){ $(this).find('li.wp_subtop').css('width',wid-lipadd); } }); $("#"+layer_id).find('.menu_hs11,.menu_hs7,.menu_hs12').css('visibility',''); var contenth=$("#"+layer_id+" .wp-new_navigation_content").height(); if(contenth==0){ $("#"+layer_id+" .wp-new_navigation_content").css('height',''); } }else{ setTimeout(contentfunc,60); } } contentfunc(); if(params.isedit){$('#'+layer_id).mod_property({"addopts": params.addopts});} if((params.addopts||[]).length > 0 && /^hs/i.test(params.menustyle)){$('#nav_'+layer_id+' li.wp_subtop:last').css("border-right", 'none');} if(! params.isedit){ if($.inArray(params.menustyle, ['vertical_vs6','vertical_vs7']) != -1){ var $layer=$('#'+layer_id).find(".wp-new_navigation_content"); var vswidth=$layer.width(); var $ul=$layer.find('ul.navigation'); $ul.css({width:vswidth+'px'}); $ul.find("li.wp_subtop").css({width:(vswidth-14)+'px'}); } } }; function layer_new_navigation_hs12_func(params){ var layer_id = params['layer_id'], menustyle = params.menustyle; $('.menu_hs12', '#' + layer_id).css('visibility', 'hidden'); var nav_type = $("#"+layer_id).find('.wp-new_navigation_content').attr('type'); window[layer_id+'_getSubMenuHoverCss'] = function(css_pro,type){ var typeval=type; if(typeval==1){ var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+"; }else{ var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+"; } var navStyle = wp_get_navstyle(layer_id, 'datastys_'); if(navStyle.length > 0) { var patt1 =new RegExp(regex,'i'); var tmp = patt1.exec($.trim(navStyle)); if(tmp) { return $.trim((tmp[0].match(/{[^:]+:[^;]+/)[0]).match(/:[^;]+/)[0].replace(':','')); } } navStyle = wp_get_navstyle(layer_id, 'datasty_'); if(navStyle.length > 0) { if(typeval==1){ var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{[^}]+}",'i'); }else{ var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{[^}]+}",'i'); } var tmp = patt1.exec(navStyle); if(tmp) { var tmp1 = tmp[0].match(/{[^}]+}/)[0]; var patt2 = new RegExp(css_pro+"\\s*:\\s*[^;]+;",'i'); tmp = patt2.exec(tmp1); if(tmp) return $.trim(tmp[0].replace(/[^:]+:/,'').replace(';','')); } } return $.trim($("#nav_"+layer_id+" ul li a").css(css_pro)); }; $('#'+layer_id).layer_ready(function(){ setTimeout(function(){ wp_nav_addMoreButton(layer_id); var m_show = $('#'+layer_id).data("m_show")||''; if(m_show=="none"){ $('#'+layer_id).find(".wp_subtop").removeClass('lastsubtop'); $('#'+layer_id).find(".wp_subtop:last").addClass('lastsubtop'); } },0); $('#nav_'+layer_id).find('li').hover(function(){ if(params.isedit){ var resizehandle = parseInt($('#'+layer_id).children('.ui-resizable-handle').css('z-index')); if($(this).hasClass('wp_subtop')) $(this).parent().css('z-index',resizehandle+1); var canvas_zindex = $('#canvas').css('z-index'); var $toolbar = $(".propblk[super='"+layer_id+"']"); if($toolbar.length > 0) $toolbar.css('z-index',canvas_zindex - 1); } $(this).children('ul').show(); var type=$("#"+layer_id).find('.wp-new_navigation_content').attr('type'); if(type==2){ var self = $(this); var pos = 0 ; var loops = 0; $('#nav_'+layer_id).find('li').each(function(){ if(loops == 1) return true; if(self.html() == $(this).html()){ loops = 1; return true; }else{ pos = pos + $(this).outerWidth(); } }) $("#"+layer_id).find('.ddli').hide(); var this_width = $('#nav_'+layer_id).outerWidth(); var thisul_left = $('#nav_'+layer_id).css("padding-left"); thisul_left = parseInt(thisul_left); $(this).children('.ddli').outerWidth(this_width).css("margin-left","-"+(thisul_left+pos+5)+"px"); $(this).children('.ddli').eq(0).slideDown(); } },function(){ $(this).children('ul').hide(); if(params.isedit){ var resizehandle = parseInt($('#'+layer_id).children('.ui-resizable-handle').css('z-index')); var isHover = true; $('#nav_'+layer_id).find('ul').each(function(){ if($(this).css('display') != 'none') {isHover = false;return false;} }); if(isHover){ if(!($.browser.msie && $.browser.version < 9)) $(this).parent().css('z-index',resizehandle-1); var $toolbar = $(".propblk[super='"+layer_id+"']"); if($toolbar.length > 0) $toolbar.css('z-index','999'); } } var type=$("#"+layer_id).find('.wp-new_navigation_content').attr('type'); if(type==2){ $("#"+layer_id).find('.ddli').slideUp(); } }); //子菜单位置设置 var smcenter=$("#"+layer_id).find('.nav1').attr('smcenter'); $(".menu_"+menustyle+" #nav_"+layer_id).find('li').mouseenter(function(){ var firstLi = $(this); var firestLiouterWidth = firstLi.outerWidth(); var tmp_max_width = 0; firstLi.children('ul').children('li').each(function(){ // 需求编号 8317 var align_value = $(this).css("text-align"); if (nav_type == 0 && align_value && align_value == "center") { $(this).css({"padding": 0}); $(this).children("a").css({"display": "inline-block", "width": "100%"}); } if ($(this).outerWidth() < firestLiouterWidth) { $(this).width(firestLiouterWidth - parseInt($(this).css('padding-left')) - parseInt($(this).css('padding-right'))); } else if ($(this).outerWidth() > tmp_max_width) { tmp_max_width = $(this).outerWidth(); } if (smcenter == 1) { var w = $(this).parent("ul").parent("li").outerWidth(); var cw = $(this).parent('ul').outerWidth(); var cl = parseInt((cw - w)/2); } else { var cl = 0; } $(this).parent('ul').css('left','-'+cl+'px'); }); if(tmp_max_width > 0) firstLi.children('ul').children('li').each(function(){ $(this).width(tmp_max_width - parseInt($(this).css('padding-left')) - parseInt($(this).css('padding-right'))); }); if(firstLi.parent('ul').attr('id') != 'nav_'+layer_id) firstLi.children('ul').css('margin-left',firstLi.outerWidth()); tmp_max_width = 0; }); //第三级即下级菜单随高度增加位置动态修改 $(".menu_"+menustyle+" #nav_"+layer_id+" ul li").hover(function(){ if($(this).children('ul').length > 0) { var marginTop = parseInt($(this).children('ul').css('margin-top')); if($(this).children('ul').offset().top > $(this).offset().top) $(this).children('ul').css('margin-top',marginTop - ($(this).children('ul').offset().top - $(this).offset().top) + 'px'); } }); $('.menu_'+menustyle+' #nav_'+layer_id).find('li').hover(function(){ var direction=$("#"+layer_id).find('.nav1').attr('direction'); var height = parseInt($(this).outerHeight()); if($(this).parent().hasClass('navigation')) { $('#nav_'+layer_id+' .wp_subtop').removeClass("lihover").children('a').removeClass("ahover"); if(direction==1){ $(this).children('ul').css('top','auto').css('bottom',height + 'px'); }else{ $(this).children('ul').css('top',height+'px').css('bottom','auto'); } $(this).children('a').css({'font-family':window[layer_id+'_getSubMenuHoverCss']("font-family",0),'font-size':window[layer_id+'_getSubMenuHoverCss']("font-size",0),'color':window[layer_id+'_getSubMenuHoverCss']("color",0),'font-weight':window[layer_id+'_getSubMenuHoverCss']("font-weight",0),'font-style':window[layer_id+'_getSubMenuHoverCss']("font-style",0)}); }else{ if(direction==1){ $(this).children('ul').css('top','auto').css('bottom', '-0px'); }else{ $(this).children('ul').css('top',height+'px').css('bottom','auto'); } $(this).children('a').css({'font-family':window[layer_id+'_getSubMenuHoverCss']("font-family",1),'font-size':window[layer_id+'_getSubMenuHoverCss']("font-size",1),'color':window[layer_id+'_getSubMenuHoverCss']("color",1),'font-weight':window[layer_id+'_getSubMenuHoverCss']("font-weight",1),'font-style':window[layer_id+'_getSubMenuHoverCss']("font-style",1)}); } },function(){ if($(this).parent().hasClass('navigation')) { wp_showdefaultHoverCss(layer_id); } $(this).children('a').attr("style",''); // 需求编号 8317 var align_value = $(this).css("text-align"); if (nav_type == 0 && !$(this).parent().hasClass('navigation') && align_value && align_value == "center") { $(this).children("a").css({"display": "inline-block", "width": "100%"}); } }); wp_showdefaultHoverCss(layer_id); wp_removeLoading(layer_id); }); }; function layer_product_detail_skin_init(){ function getCookie(c_name) { if(document.cookie.length>0){ c_start=document.cookie.indexOf(c_name + "=") if(c_start!=-1){ c_start=c_start + c_name.length+1 c_end=document.cookie.indexOf(";",c_start) if(c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) } } return "" } //是否被包含,是返回true,不是返回false function isContained(a, b){ if(!(a instanceof Array) || !(b instanceof Array)) return false; if(a.length < b.length) return false; var aStr = a.toString(); for(var i = 0, len = b.length; i < len; i++){ if(aStr.indexOf(b[i]) == -1) return false; } return true; } //选择小图片 $('.wp-new-prodcuts-detail-picture-small-element').click(function(){ $(this).siblings().removeClass('wp-new-prodcuts-detail-picture-small-local'); $(this).addClass("wp-new-prodcuts-detail-picture-small-local"); $('.wp-new-prodcuts-detail-picture-big').find('img.wp-product_detail-imgpreview').attr('src',$(this).find('img').attr('src')); $('#wp-magnifier_boxbig img').removeAttr("src").attr("src", $(this).find('img').attr("data-src")); productDetailImgAdaptive(); }); //小图左滑动 var isClickUsed = true;//防止用户狂点移动偏差 var rightClickCount = 0; $('.wp-new-prodcuts-detail-picture-small-next').mousedown(function(){ var imagenum=$('.wp-new-prodcuts-detail-picture-small-c').width()/($('.wp-new-prodcuts-detail-picture-small-element').width()+parseInt($('.wp-new-prodcuts-detail-picture-small-element').css('margin-right'))); imagenum=parseInt(imagenum); if($('.wp-new-prodcuts-detail-picture-small-element').length < imagenum || !isClickUsed) return false; isClickUsed = false; var tmp_val = $('.wp-new-prodcuts-detail-picture-small-element').length - imagenum; if(rightClickCount < tmp_val) { var gap = parseInt($('.wp-new-prodcuts-detail-picture-small-element').width())+parseInt($('.wp-new-prodcuts-detail-picture-small-element').css('margin-right')); var right = parseInt($('.wp-new-prodcuts-detail-picture-small-width').css('right')); $('.wp-new-prodcuts-detail-picture-small-width').animate({right:right+gap},'','',function(){isClickUsed = true;}); rightClickCount++; }else isClickUsed = true; return false; }); //小图右滑动 $('.wp-new-prodcuts-detail-picture-small-prev').mousedown(function(){ var imagenum=$('.wp-new-prodcuts-detail-picture-small-c').width()/($('.wp-new-prodcuts-detail-picture-small-element').width()+parseInt($('.wp-new-prodcuts-detail-picture-small-element').css('margin-right'))); imagenum=parseInt(imagenum); if($('.wp-new-prodcuts-detail-picture-small-element').length < imagenum || !isClickUsed) return false; isClickUsed = false; if(parseInt($('.wp-new-prodcuts-detail-picture-small-width').css('right')) > 0) { var gap = parseInt($('.wp-new-prodcuts-detail-picture-small-element').width())+parseInt($('.wp-new-prodcuts-detail-picture-small-element').css('margin-right')); var right = parseInt($('.wp-new-prodcuts-detail-picture-small-width').css('right')); if(right-gap >= 0){ $('.wp-new-prodcuts-detail-picture-small-width').animate({right:right-gap},'','',function(){isClickUsed = true;}); rightClickCount--; } }else isClickUsed = true; return false; }); return {getCookie:getCookie,isContained:isContained} } function layer_product_detail_show_price_txt(layerid,tmp_arr,formatSalePrice_layer,formatMarketPrice_layer,minlayer,maxlayer,min_mlayer,max_mlayer,datalayer,data_mlayer,boolprice){ var getval=tmp_arr.join(","); if(boolprice==1){ $("#"+layerid).find('.wp-new-prodcuts-sale-price span').html(formatSalePrice_layer(datalayer[getval])); $("#"+layerid).find('.wp-new-prodcuts-market-price font').html(formatMarketPrice_layer(data_mlayer[getval])); }else{ if(getval.length==0){ if(maxlayer>0){ var strs=''; if(minlayer==maxlayer){ strs = formatSalePrice_layer(minlayer); }else{ strs = formatSalePrice_layer(minlayer)+' - '+ formatSalePrice_layer(maxlayer); } $("#"+layerid).find('.wp-new-prodcuts-sale-price span').html(strs); strs=''; if(min_mlayer==max_mlayer){ strs = formatMarketPrice_layer(min_mlayer); }else{ strs = formatMarketPrice_layer(min_mlayer)+' - '+ formatMarketPrice_layer(max_mlayer); } $("#"+layerid).find('.wp-new-prodcuts-market-price font').html(strs); } }else{ var minsel=0; var maxsel=0; var minsel_m=0; var maxsel_m=0; var loopsetpsel=0; for(var key in datalayer) { if(('a,'+key+',').indexOf(','+getval+',')>0){ var tempthis=((datalayer[key])*1); if(loopsetpsel == 0){ minsel=tempthis.toFixed(2); maxsel=tempthis.toFixed(2); loopsetpsel++; } if(minsel>tempthis){ minsel=tempthis.toFixed(2); } if(maxsel0){ var strs=''; if(minsel==maxsel){ strs = formatSalePrice_layer(minsel); }else{ strs = formatSalePrice_layer(minsel)+' - '+ formatSalePrice_layer(maxsel); } $("#"+layerid).find('.wp-new-prodcuts-sale-price span').html(strs); } loopsetpsel=0; for(var key in data_mlayer) { if(('a,'+key+',').indexOf(','+getval+',')>0){ var tempthis=((data_mlayer[key])*1); if(loopsetpsel == 0){ minsel_m=tempthis.toFixed(2); maxsel_m=tempthis.toFixed(2); loopsetpsel++; } if(minsel_m>tempthis){ minsel_m=data_mlayer[key]; } if(maxsel_m0){ var strs=''; if(minsel_m==maxsel_m){ strs = formatMarketPrice_layer(minsel_m); }else{ strs = formatMarketPrice_layer(minsel_m)+' - '+ formatMarketPrice_layer(maxsel_m); } $("#"+layerid).find('.wp-new-prodcuts-market-price font').html(strs); } } } } function layer_product_detail_products_number(params){ var layerid=params.layerid; var $wpay_input = $("#"+layerid).find("input:[name='wproduct_paynum']"); $wpay_input.keyup(function(){this.value = this.value.replace(/(?:\b0|[^\d+])/,'');}); //减少数量 $("#"+layerid).find('.wp-new-products-number-reduce').unbind('click').click(function(){ var oldval = $._parseFloat($wpay_input.val()||1); if (oldval > 1) oldval -= 1; $wpay_input.val(oldval); return false; }); //增加数量 $("#"+layerid).find('.wp-new-products-number-add').unbind('click').click(function(){ var oldval = $._parseFloat($wpay_input.val()||1); $wpay_input.val(oldval + 1); return false; }); // preLoad images preloadImages($('.wp-new-prodcuts-detail-picture-small-element > img', "#"+layerid)); } function layer_product_detail_buynow_tips(params){ var layer = "#"+params.layerid; // 'Buy now'&'Add to cart' tips $(layer).find('.buynow,.addcartshow').mouseenter(function(e){ var chkArr = [],tmpArr = [],tiptitle = '',$prdspec = $(layer+' .product_attr'); if($prdspec.length == 0) return; $prdspec.each(function(){var $input = $(this); if($input.prop("checked")){tmpArr.push($input.val());chkArr.push($input.attr("name").replace(/[^\d]+/g,''))} }); $(layer+' .wp-new-prodcuts-color').each(function(i, node){var $spec = $(node); if($.inArray($spec.attr("data"), chkArr) == -1) tiptitle += $('>span', $spec).html().replace(':', '')+', '; }); if (tiptitle.length) { tiptitle = tiptitle.substr(0, $.trim(tiptitle).length - 1); var $spectips = $('#wp-prdetailspectips'),poslt = e.clientX + 10,postop = e.clientY + 10; if ($spectips.length) $spectips.css({left: poslt+'px',top: postop+'px'}); else $('
'+params['Please select']+': '+tiptitle+'
').appendTo('body'); } }).mousemove(function(e){ $('#wp-prdetailspectips').css({left: (e.clientX + 10)+'px',top: (e.clientY + 10)+'px'}); }).mouseleave(function(e){$('#wp-prdetailspectips').remove()}); } function layer_product_detail_prodcuts_color(params,datalayers,isContained,tmp_arr_swl){ var layerid=params.layerid; //遍历每一行 $("#"+layerid).find('.wp-new-prodcuts-color').each(function(i){ var hangid = $(this).attr('data'); var inhave = 0; //判断这个行里面是否有已经选中的 $(this).find('.wp-new-prodcuts-detail-button').each(function(){ if($(this).hasClass('wp-new-prodcuts-detail-button-select')){ inhave=$(this).find('.product_attr').val(); } }) $(this).find('.wp-new-prodcuts-detail-button').each(function(){ var product_attr = $(this).find('.product_attr').val(); var haveArray = new Array(); //如果这一行已经有选中的,就把那个选中的值去掉,否则不动 if(inhave > 0){ for(var i in tmp_arr_swl){ if(tmp_arr_swl[i]==inhave){ }else{ haveArray.push(tmp_arr_swl[i]); } } }else{ haveArray = tmp_arr_swl; } if(haveArray.length > 0){ var zuhe_ida = haveArray + ',' + product_attr; }else{ var zuhe_ida = product_attr; } var zuhe_arr = zuhe_ida.split(','); var ishave=0; //此段循环,判断所有的规格组合中,是否含有现在选中的 for(var key in datalayers){ var key_arr = key.split(','); if(isContained(key_arr,zuhe_arr)){ ishave = 1; break; } } if(ishave==1){ $(this).css('cursor','pointer'); $(this).find('a').css('cursor','pointer').css('color',''); }else{ $(this).css('cursor','not-allowed'); $(this).find('a').css('cursor','not-allowed').css('color','#cccccc'); } }) }) } function layer_product_detail_global_funcs(layerid){ window.preloadImages=function(image){ if (!(image instanceof jQuery)) return; // preLoad images var thumb_preload = []; image.each(function(i, img){ thumb_preload[i] = new Image(); thumb_preload[i].src = $(img).attr("data-src"); }); } window['set_thumb_'+layerid]=function(obj) { var callback=function(img){ var classname='wp-new-prodcuts-detail-picture-small-element'; var methodname='remove'; var imgbig = $('.wp-new-prodcuts-detail-picture-big'); // fixed bug#431 2014/10/10 methodname='hide'; classname='wp-magnifier_small,.pic'; var callback2=function(width, height){ var $prdimg=img; var maxw = imgbig.width() ; var maxh = imgbig.height() ; if ($prdimg.parent().hasClass('wp-new-prodcuts-detail-picture-small-element')) { maxw = $prdimg.parent().width();maxh = $prdimg.parent().height(); } var tmpw = 0,tmph = 0; if ((width >= maxw) || (height >= maxh)) { var direct = (width/maxw)>=(height/maxh); if (direct) { $prdimg.width(maxw); $prdimg.css('height','auto'); tmph = $prdimg.height(); $prdimg.css("margin", ((maxh - tmph) / 2)+'px 0'); } else { $prdimg.height(maxh).width("auto");tmpw = $prdimg.width(); $prdimg.css("margin", '0 '+((maxw - tmpw) / 2)+'px'); } }else{ $prdimg.height(height).width(width); $prdimg.css("margin", ((maxh - height) / 2)+'px '+((maxw - width) / 2)+'px'); } }; var theimage=new Image(); theimage.onload=function(){ callback2(this.width,this.height); } theimage.src=img.attr('src'); img.show(); img.closest('.'+classname).children('.imgloading')[methodname](); } $(obj).each(function() { var img=$(this); callback(img); }); } window.productDetailImgAdaptive=function(){ // Adaptive Image if (layerid.length === 0) return; var $prdimg = $('img.wp-product_detail-imgpreview', '#'+layerid), maxw = 300,maxh = 300,_loadImg = function(img, callback){ if (img.complete) callback(img.width, img.height); else { img.onload = function(){ callback(img.width, img.height); img.onload = null; }; } };$prdimg.removeAttr("style"); _loadImg($prdimg[0], function(width, height){ var tmpw = 0,tmph = 0; if(width==300 && height == 300){ if ((width >= maxw) || (height >= maxh)) { var direct = (width >= maxw) ? (width >= height) : (height < width); // Horizontal if (direct) { $prdimg.width(maxw).height("auto");tmph = $prdimg.height(); $prdimg.css("margin", ((maxh - tmph) / 2)+'px'); } // Vertical else { $prdimg.height(maxh).width("auto");tmpw = $prdimg.width(); $prdimg.css("margin", '0 '+((maxw - tmpw) / 2)+'px'); } } }else return; }); } window.magnifier_intval=function(numstr){ var number = parseFloat(numstr); if(isNaN(number)) return 0; return number; } }; var jeditMode = 0; function layer_prdcat_setvar(params){ jeditMode = params.isedit; if(jeditMode){ $(function(){ $("#"+params.layerid+" li a").removeAttr('onclick').click(function(){return false;}); }); } } function wp_getdefaultHoverCss(layer_id) { var getli=''; var geta=''; var cssstyle=''; if(jeditMode){ var navStyle = $.trim($("#datasty_"+layer_id).text()); }else{ var navStyle = $.trim($("#"+layer_id).data("datasty_")); } if(navStyle.length > 0) { var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop:\\s*hover\\s*{[^}]+}",'i'); var tmp = patt1.exec(navStyle); if(tmp) { var tmp1 = tmp[0].match(/{[^}]+}/)[0]; tmp1=tmp1.replace('{','').replace('}',''); getli=getli+tmp1; } patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{[^}]+}",'i'); tmp = patt1.exec(navStyle); if(tmp) { var tmp2 = tmp[0].match(/{[^}]+}/)[0]; tmp2=tmp2.replace('{','').replace('}',''); geta=geta+tmp2; } } if(jeditMode){ navStyle = $.trim($("#datastys_"+layer_id).text()); }else{ navStyle = $.trim($("#"+layer_id).data("datastys_")); } var getlia=''; if(navStyle.length > 0) { var layidlow=('#nav_'+layer_id+' li.wp_subtop>a:hover').toLowerCase(); if( ('a'+navStyle).toLowerCase().indexOf(layidlow)>0){ var parstr="#nav_"+ layer_id +" li.wp_subtop>a:hover"; getlia = navStyle.split(new RegExp(parstr,"i")); var combilestr=''; for(key in getlia){ var ervervalue=''; if(('a'+getlia[key]).indexOf('{')<3 && ('a'+getlia[key]).indexOf('{')>0 ){ var parvalue=getlia[key].split('{'); if(('a'+parvalue[1]).indexOf('}')>0){ ervervalue=parvalue[1].split('}')[0]; } } combilestr=combilestr+ervervalue; } geta=geta+combilestr; } layidlow=('#nav_'+layer_id+' li.wp_subtop:hover').toLowerCase(); if( ('a'+navStyle).toLowerCase().indexOf(layidlow)>0){ var parstr="#nav_"+ layer_id +" li.wp_subtop:hover"; getlia = navStyle.split(new RegExp(parstr,"i")); var combilestrs=''; for(key in getlia){ var ervervalue=''; if(('a'+getlia[key]).indexOf('{')<3 && ('a'+getlia[key]).indexOf('{')>0 ){ var parvalue=getlia[key].split('{'); if(('a'+parvalue[1]).indexOf('}')>0){ ervervalue=parvalue[1].split('}')[0]; } } combilestrs=combilestrs+ervervalue; } getli=getli+combilestrs; } } if(getli.length>0){ getli="#"+layer_id+" li.lihover{"+getli+"} "; } if(geta.length>0){ geta="#"+layer_id+" li>a.ahover{"+geta+"} "; } cssstyle=getli+geta; if(cssstyle.length>0){ cssstyle=""+cssstyle+""; cssstyle=cssstyle.replace(/[\r\n]/g, " ").replace(/\s+/g, " "); var doms=$('#'+layer_id); var oldcssstyle=doms.data('get_layer_hover_css'); if(oldcssstyle != cssstyle){ if(jeditMode){ $("#hover"+layer_id+"").text(""+cssstyle+""); } doms.data('get_layer_hover_css',cssstyle); get_plugin_css('H'+layer_id+'H',cssstyle); } } } function wp_createNavigationgetSubMenuHoverCssFunc(param){ var layer_id=param.layer_id; var editmode=param.editmode; function getSubMenuHoverCss(css_pro,type){ var typeval=type; if(typeval==1){ var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+"; }else{ var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+"; } if(editmode){ var navStyle = $.trim($("#datastys_"+layer_id).text()); }else{ var navStyle = $.trim($("#"+layer_id).data("datastys_")); } if(navStyle.length > 0){ var patt1 =new RegExp(regex,'i'); var tmp = patt1.exec($.trim(navStyle)); if(tmp) { return $.trim((tmp[0].match(/{[^:]+:[^;]+/)[0]).match(/:[^;]+/)[0].replace(':','')); } } if(editmode){ navStyle = $.trim($("#datasty_"+layer_id).text()); }else{ navStyle = $.trim($("#"+layer_id).data("datasty_")); } if(navStyle.length > 0) { if(typeval==1){ var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{[^}]+}",'i'); }else{ var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{[^}]+}",'i'); } var tmp = patt1.exec(navStyle); if(tmp) { var tmp1 = tmp[0].match(/{[^}]+}/)[0]; var patt2 = new RegExp(css_pro+"\\s*:\\s*[^;]+;",'i'); tmp = patt2.exec(tmp1); if(tmp) return $.trim(tmp[0].replace(/[^:]+:/,'').replace(';','')); } } return $.trim($("#nav_"+layer_id+" ul li a").css(css_pro)); } window[layer_id+'_getSubMenuHoverCss']=getSubMenuHoverCss; } function wp_createProductCategorygetSubMenuHoverCssFunc(param){ var layer_id=param.layer_id; var editmode=param.editmode; function getSubMenuHoverCss(css_pro,type) { var typeval=type; if(typeval==1){ var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+"; }else if(typeval == 2){ var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul\\s+li\\s*{\\s*"+css_pro+"\\s*:[^;]+"; }else if(typeval == 3){ var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+ul\\s+li\\s*:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+"; } else{ var regex = "#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{\\s*"+css_pro+"\\s*:[^;]+"; } if(editmode){ var navStyle = $.trim($("#datastys_"+layer_id).text()); }else{ var navStyle = $.trim($("#"+layer_id).data("datastys_")); } if(navStyle.length > 0) { var patt1 =new RegExp(regex,'i'); var tmp = patt1.exec($.trim(navStyle)); if(tmp) { return $.trim((tmp[0].match(/{[^:]+:[^;]+/)[0]).match(/:[^;]+/)[0].replace(':','')); } } if(editmode){ navStyle = $.trim($("#datasty_"+layer_id).text()); }else{ navStyle = $.trim($("#"+layer_id).data("datasty_")); } if(navStyle.length > 0) { if(typeval==1){ var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul+\\s+li+\\s+a:\\s*hover\\s*{[^}]+}",'i'); }else if(typeval == 2){ var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul\\s+li\\s*{[^}]+}",'i'); }else if(typeval == 3){ var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+ul\\s+li\\s*:\\s*hover\\s*{[^}]+}",'i'); }else{ var patt1 = new RegExp("#nav_layer[0-9|a-z|A-Z]+\\s+li\.wp_subtop>a:\\s*hover\\s*{[^}]+}",'i'); } var tmp = patt1.exec(navStyle); if(tmp) { var tmp1 = tmp[0].match(/{[^}]+}/)[0]; var patt2 = new RegExp(css_pro+"\\s*:\\s*[^;]+;",'i'); tmp = patt2.exec(tmp1); if(tmp) return $.trim(tmp[0].replace(/[^:]+:/,'').replace(';','')); } } return $.trim($("#nav_"+layer_id+" ul li a").css(css_pro)); } window[layer_id+'_getSubMenuHoverCss']=getSubMenuHoverCss; } function wp_showdefaultHoverCss(layer_id){ var layertype=$('#'+layer_id).attr('type'); if(layertype && window['wp_showdefaultHoverCss_'+layertype]){ return window['wp_showdefaultHoverCss_'+layertype](layer_id); } return false; } function wp_showdefaultHoverCss_product_category(layer_id) { var plugin_name=$("#"+layer_id).attr('type'); var hover=$("#"+layer_id).find('.nav1').attr('hover'); var hover_set = $("#"+layer_id).find('.nav1').attr('hover_set'); var pro_cateid = $("#"+layer_id).find('.nav1').attr('pro_cateid'); if(hover!=1){ return; } if(hover == 1 && hover_set == 2 && !pro_cateid){ return; } wp_getdefaultHoverCss(layer_id); var n=0; if(plugin_name=='new_navigation'){ var page_id=$("#page_id").val(); var rootpid=$("#page_id").attr("rpid")*1; }else{ var page_id=$('#'+layer_id+'').find(".default_pid").html(); if(page_id==0 || page_id.length==0){ page_id=$('#nav_'+layer_id+'').children('li:first').attr('pid'); } } $('#nav_'+layer_id+'').children('li').each(function(){ var type_pid=$(this).attr('pid'); if(type_pid==page_id){ $(this).addClass("lihover").children('a').addClass("ahover"); }else if(type_pid==rootpid){ $(this).addClass("lihover").children('a').addClass("ahover"); } if(window.location.href == $(this).find("a").attr("href") || window.location.href == $(this).find("a").attr("href")+"&brd=1"){ $(this).addClass("lihover").children('a').addClass("ahover"); } n++; }); if(!$('#nav_'+layer_id+'').children('li.lihover').length){ $('#nav_'+layer_id+' ul').children('li').each(function(){ var lochref=window.location.href.replace(/^https?:/,'').replace(/&brd=1$/,''); var subahref= $(this).find('a').attr("href").replace(/^https?:/,'').replace(/&brd=1$/,''); if(lochref == subahref || lochref ==subahref+"&brd=1"){ $(this).parents(".wp_subtop").addClass("lihover").children('a').addClass("ahover"); return; } }) } } function wp_addMoreButton(layer_id){ var layertype=$('#'+layer_id).attr('type'); if(layertype && window['wp_addMoreButton_'+layertype]){ return window['wp_addMoreButton_'+layertype](layer_id); } return false; } function wp_addMoreButton_product_category(layer_id) { var firstLiTop = 0; var hasMore = false; $('#nav_'+layer_id).children('li.wp_subtop').each(function(i){ if(i == 0) {firstLiTop = $(this).offset().top;return true;} if($(this).offset().top > firstLiTop) { $('#'+layer_id).data('hasMore','yes');//配置逻辑获取 var more = $.trim($('#'+layer_id).children('.wp-product_category_content').children('.nav1').attr('more')); var doms = $(this).prev().prev().nextAll().clone(); var objA = $(this).prev().children('a'); if(objA.children('span').length > 0) objA.children('span').html(more); else objA.html(more); if(objA.hasClass('sub')) { objA.next('ul').empty(); doms.appendTo(objA.next('ul')); } else { objA.after('
    '); doms.appendTo(objA.next('ul')); objA.addClass('sub'); } $(this).prev().nextAll().remove(); objA.next('ul').children('li').removeClass('wp_subtop'); hasMore = true; objA.attr('href','javascript:void(0);'); //点击"更多"弹出全站导航 if($("#"+layer_id).find('.nav1').attr('moreshow') == 1) { objA.click(function (e){ $('#'+layer_id).find('#basic-modal-content_'+layer_id).modal({ containerId:'wp-product_category-simplemodal-container_'+layer_id, zIndex:9999, close:false, onOpen:function(dialog){ dialog.overlay.fadeIn('slow', function(){ dialog.container.slideDown('slow',function(){ dialog.data.fadeIn('slow','swing',function(){ $('.wp_menus').not('.wp_thirdmenu0').each(function(){ var left = $(this).parent().parent().children('a').eq(0).outerWidth()+5; $(this).css({position:'relative',left:left+'px'}); }); }); }); }); }, onClose:function(dialog){ dialog.data.fadeOut('slow',function (){ dialog.container.slideUp('slow', function () { dialog.overlay.fadeOut('slow', function () { $.modal.close(); }); }); }); } }); return false; }); } return false; } }); if(!hasMore) $('#'+layer_id).data('hasMore','no'); wp_showdefaultHoverCss(layer_id); } //编辑模式水平拖动动态刷新修改More按钮 function wp_updateMoreButton(layer_id) { var $layer = $('#'+layer_id); var $nav1 = $layer.children('.wp-product_category_content').children('.nav1'); var tmp_css = $.trim($("#datastys_"+layer_id).text()); var tmp_cssa = $.trim($("#datasty_"+layer_id).text()); $.post(parseToURL("product_category","refreshNavigator",{menustyle:$.trim($nav1.attr('skin')),saveCss:'yes',page_id:$("#page_id").val(),blockid:layer_id,typeval:$.trim($layer.find(".wp-product_category_content").attr('type')),colorstyle:$.trim($nav1.attr('colorstyle')),direction:$.trim($nav1.attr('direction')),more:$.trim($nav1.attr('more')),hover:$.trim($nav1.attr('hover')),moreshow:$.trim($nav1.attr('moreshow')),morecolor:$.trim($nav1.attr('morecolor'))}),function(data){ $layer.find('.wp-product_category_content').html(data); $("#datastys_"+layer_id).text(tmp_css); var setcss=$("#page_set_css").html(); setcss=setcss.replace(/'); }); wp_showdefaultHoverCss(layer_id); } function wp_removeLoading(layer_id) { var $nav1 = $('#'+layer_id).find(".nav1"); var ishorizon=$nav1.attr("ishorizon"); if(ishorizon=='1'){ $("#"+layer_id).find('.wp-new_navigation_content').css({height:'auto',overflow:'hidden'}); }else{ $("#"+layer_id).find('.wp-new_navigation_content').css({width:'auto',overflow:'hidden'}); } // 修复IE浏览器部分版本导航无法显示问题 2013/12/26 var temptimer = setTimeout(function(){ $("#"+layer_id).find('.wp-new_navigation_content').css("overflow", 'visible'); clearTimeout(temptimer); }, 50); }; function layer_effectimage_ready_func(params){ var layerid = params.layerid; var imgw=params.imgw,imgh=params.imgh,proportion=params.proportion; var arrow_valigin = params.arrow_valigin||0; $LAB .script(params.lrscroll) .wait(function(){ $("#"+layerid+"_scroll").jCarouselLite({ btnNext: "#"+layerid+" .next", btnPrev: "#"+layerid+" .prev", auto: params['scroll_time']||null, speed: 1000, scroll:1 }); if (params.isedit) { $("#"+layerid+"_scroll a").click(function(event){ event.preventDefault(); return; }); } }); var $li_featureBox = $('#'+layerid+' .featureBox'); if(proportion==1){ var retryTimes=0; var success=false; var autoResize=function(li_featureBox){ if(li_featureBox.filter('.fakeimgli').length){ success=true; } li_featureBox.each(function () { var imgdiv=$(this).find('.imgdiv'); var divw=imgdiv.width();var divh=imgdiv.height(); var imgel=$(this).find('img'); getImageSize(imgel.prop('src')).done(function(imgw,imgh){ if(imgw<=divw && imgh<=divh){ var ml=(divw-imgw)/2; var mt=(divh-imgh)/2; imgel.width(imgw).height( imgh); }else{ if(divw/divh >= imgw/imgh){ var curimgh=divh; var curimgw=(divh/imgh)*imgw; imgel.width(curimgw).height(curimgh); }else{ var curimgh=(divw/imgw)*imgh; var curimgw=divw; imgel.width(curimgw).height(curimgh); } } if(!success){ autoResize($('#'+layerid+' .featureBox.fakeimgli')); } }) }) if(!success && retryTimes<10){ setTimeout(function(){ autoResize($('#'+layerid+' .featureBox.fakeimgli')); },100); retryTimes++; } } autoResize($li_featureBox); } $(function() { var $li_featureBox = $('.featureBox'); var li_fontsize = $li_featureBox.find('a:first').css('font-size'); var li_fontfamily = $li_featureBox.find('a:first').css('font-family')||''; if(li_fontfamily.indexOf('Microsoft YaHei')>=0){ if((li_fontsize == "12px") || (li_fontsize == "13px") || (li_fontsize == "14px")){ $li_featureBox.css('letter-spacing','-0.08mm'); } } $li_featureBox.find("a").each(function(){ if($(this).attr("href")=="javascript:;"){ $(this).css("cursor","default"); } }); if (params.isedit) { $("#"+layerid+"_scroll a").click(function(event){ event.preventDefault(); }); } var isModCenter= (arrow_valigin=="1"); var pad_top=($("#"+layerid+"_scroll .imgdiv").height()-16-$("#"+layerid+" .next").height())/2; if(isModCenter){ pad_top=($("#"+layerid).height()-16-$("#"+layerid+" .next").height())/2; } $("#"+layerid+" .next,#"+layerid+" .prev").css('margin-top',pad_top+'px').css('visibility','visible'); setTimeout(function(){ $("#"+layerid+" .botton-scroll").unbind('mod_resize.automargin').bind('mod_resize.automargin',function(){ if(isModCenter){ pad_top=($("#"+layerid).height()-16-$("#"+layerid+" .next").height())/2; $("#"+layerid+" .next,#"+layerid+" .prev").css('margin-top',pad_top+'px').css('visibility','visible'); } }); },1000); }); } function getImageSize(src){ var deferred=$.Deferred(); var img=new Image(); img.onload=function(){ deferred.resolve(this.width,this.height) } img.src=src; return deferred; } function sortSetting(source_type){ var sortType = sortBy = ''; if(source_type == 'article' || source_type == 'article_category'){ sortType = 'publish'; }else{ sortType = 'default'; } if(source_type == 'article' || source_type == 'product' || source_type == 'tb_product'){ sortBy = 'asc'; }else{ sortBy = 'desc'; } return { 'sortType' : sortType, 'sortBy' : sortBy }; }; function layer_article_list_checkid_func(params){ $(function(){ var layer_id = "#"+params.layer_id; $(layer_id+' .articleid:not(.memberoff)').unbind('click.list_check').bind('click.list_check',function(event){ event.preventDefault(); var gourl = $(this).attr('href'); if (!gourl) { gourl = $(this).data('href'); } var targettype = $(this).attr('target'); if (!targettype) { targettype = $(this).data('target'); if (targettype == '') { targettype = undefined; } } _this = $(this); $.ajax({ type: "POST", url: parseToURL('article_list','checkarticleid'), data: {id:$(this).attr('articleid')}, dataType: "json", async:false, success: function(r){ var islogin = params.islogin; if(r.code == -2 && !islogin){ //是会员 if(!islogin){ event.preventDefault(); $LAB .script(relativeToAbsoluteURL("js/custom_dialog.js")) .wait(function(){ show_custom_panel(parseToURL('userlogin','login_dialog'),{ title:'Login', overlay:true, id:'wp_user_info' }); }); } return false; }else if(r.code == -1){ //不是会员 ismember = false; } if(targettype == undefined && gourl != 'javascript:void(0);'){ location.href=gourl; }else if(targettype != undefined && gourl != 'javascript:void(0);'){ window.open(gourl,'','',true); } } }) }) }) } function layer_article_list_init_func(param){ if(!getSystemSession()){ var $window=$(window); var layerid=param.layer_id; } var layerid=param.layer_id; var articleStyle=param.articleStyle; window['set_thumb_'+layerid]=function(obj) { var callback=function(img){ img.fadeIn('slow',function(){ img.closest('li').find('.imgloading').remove(); }); } $(obj).each(function() { var img=$(this); callback(img); }); } if(articleStyle=='two_column'){ $("#"+layerid).layer_ready(function(){ var $p = $('ul:first li p', "#"+layerid); $p.width('auto'); var maxW = Math.max.apply(Math, $p.map(function(){ return $(this).outerWidth(true); }).toArray()); $p.width(maxW); }); }else{ if (articleStyle === "skin3" || articleStyle === "ulist3" || articleStyle === "skin5" || articleStyle === "skin7") { $(function(){ var maxliheight = 0,tmplayerid = "#"+layerid; if (tmplayerid.length == 1) return;var $tmpnode = $(tmplayerid+' li > .wp-new-article-style-c'); maxliheight = Math.max.apply(null,$tmpnode.map(function(){return $(this).outerHeight();}).toArray()); if (maxliheight) $tmpnode.height(maxliheight); // 右间距 2014/03/17 $(tmplayerid).bind("fixedmarginright", function(e, margin){ var $target = $(this),$li = $target.find('li'); if(margin != undefined) $li.css("margin-right", margin+'px'); var $first = $li.filter(':first'),liwidth = $first.outerWidth(), mgnright = $._parseFloat($first.css("marginRight")), maxwidth = $target.children('.wp-article_list_content').width(), maxcols = Math.floor(maxwidth / (liwidth + mgnright)); if(maxwidth >= maxcols * (liwidth + mgnright) + liwidth) maxcols += 1; for(var i = 1,licnt = $li.length; i <= licnt; i++){ if (i % maxcols != 0) continue; if ((maxcols == 1) && (2*liwidth <= maxwidth)) continue; $li.filter(':eq('+(i - 1)+')').css("margin-right", '0'); } $li = null; }).triggerHandler("fixedmarginright"); // < .wp-new-article-style-01-left'),LW =0; if($Ltdom){ LW = $Ltdom.outerWidth(true)||0; if(articleStyle == "ylist2") { if($Ltdom.css("display")=="none") LW =0; } } $Ltdom=$PL.find('li:first > .wp-new-article-style-01-left'),LW =0; if($Ltdom){ LW = $Ltdom.outerWidth(true)||0; if(articleStyle == "ylist2") { if($Ltdom.css("display")=="none") LW =0; } } $PL.find('li > .wp-new-article-style-01-right').css({"width": (MAXW - LW)+'px',"overflow": 'hidden',"word-wrap": 'break-word'}); //set li width var self=$(this);var leftwidth=self.find('.wp-new-article-style-01-left').outerWidth(); var rightwidth=self.find('.wp-new-article-style-01-right').outerWidth(); //设置时间日期容器的宽度,设置之后无法添加文章浏览量 if(articleStyle == "ylist2") $PL.find('li .time').parent('.tinubox').css({"width": (MAXW - LW)+'px'}); $PL = null; if(articleStyle != "ylist2") self.css('width',(leftwidth+rightwidth+350)+'px'); }) }).triggerHandler("fixedliwidth"); }); } } } function layer_article_list_animate_func(param){ var layerid=param.layer_id; var articleStyle=param.articleStyle; var support_animate=true; if(!support_animate) return; if($.inArray(articleStyle,['default','skin1','ylist2','skin4'])==-1){ return; } var layerobj=$('#'+layerid); var animatelis=layerobj.find('li'); var animateobj=[]; var index=0; animatelis.each(function(){ var li=$(this); animateobj.push({el:li,index:index,isStop:false}); index++; }) function startAnimate(obj){ if(obj.isStop) return; var el=obj.el;var index=obj.index; el.velocity({opacity: [1,0], translateY: [0,'100%'], translateZ: 0 }, {visibility:'visible',delay:index*100,duration: 1000}); obj.isStop=true; } function isLiInWindow(obj){ var el=obj.el; var eltop=el.offset().top; var elbottom=eltop+el.height(); var winH=$('#scroll_container').height(); return eltop>0 && eltop20 && elbottom-1){ e.preventDefault(); var pageid = page||$(this).attr("href").replace("###",''); if(param.editmode == "1") $.method.article_list.refreshArticleList({"page":pageid,"layerid":layerid}); else { var dom = $cstlayer.find('.article_list_save_itemList'), params = { }; var liststyle={"artliststyle":param.artliststyle} $.ajax({ type: "GET", url: parseToURL("article_list","get_page"), data: {article_category:param.article_category_param,layer_id: layerid,page: pageid,article_category_more:param.article_category_more}, success: function(data){ var $layer = $("#"+layerid); var oldHeight = $layer.find('.article_list-'+layerid).height(); $layer.children('.wp-article_list_content').hide().before(data).remove(); if(!ua.match(/chrome\/46/)){ var this_dom = $('#'+layerid); this_dom.find(".wp-pager_link").css({'position':'relative','bottom':'auto','width':'100%'}); if(!this_dom.data('not_need_heightadapt')) wp_heightAdapt($layer); var cheight = this_dom.find(".wp-article_content").height(); var oulheight = this_dom.find(".article_list-"+layerid).height(); var olkheight = this_dom.find(".wp-pager_link").outerHeight(); var fcontent = this_dom.find(".wp-article_list_content"); var botmag = parseInt(fcontent.css("border-bottom-width"))+parseInt(fcontent.css("padding-bottom")); if(cheight>oulheight+olkheight &&!$layer.data('not_need_heightadapt')){ this_dom.find(".wp-pager_link").css({'position':'absolute','bottom':botmag+'px','width':'100%'}) } /** * #修复“分页”后高度出现异常问题(bug#4316)2015/11/17 * #插件内容高度实际上没有问题,只因“分页”区域定位问题而导致的错觉 * bug(#4515)发现模块高度小于内容高度导致分页隐藏 */ var $C = $layer.children('.wp-article_list_content'),$W = $C.children('.article_list-'+layerid); var c_h = $C.height(),w_h = $W.height(); if(c_h-1){ $pglnker.find('a').triggerHandler('click',[Math.min(pgid,maxpg)]); }else{ urlhrf=urlhrf.replace(/\d+$/,Math.min(pgid,maxpg)) location.href=urlhrf; } } } } function _int(numString){ var number = parseInt(numString); if(isNaN(number)) return 0; return number; } return false; }; break; case "button": ent = 'click'; fnc = function(){ if (pgid.length && /^[1-9]{1}\d*$/.test(pgid)) { var maxpg = _int($pglnker.find('span.total').html()); if(!maxpg) maxpg = 1; var pagelink=$pglnker.find('a:first'); var urlhrf = pagelink.attr("href"); if(urlhrf.indexOf("##")>-1){ $pglnker.find('a').triggerHandler('click',[Math.min(pgid,maxpg)]); }else{ urlhrf=urlhrf.replace(/\d+$/,Math.min(pgid,maxpg)) location.href=urlhrf; } } function _int(numString){ var number = parseInt(numString); if(isNaN(number)) return 0; return number; } return false; }; break; } if(fnc && $.isFunction(fnc)) $input[ent](fnc); }); }); }; var getScrollbarWidth = function() { var odiv = document.createElement('div'), styles = { width: '100px',height: '100px',overflowY: 'scroll'}, i, scrollbarWidth; for (i in styles) odiv.style[i] = styles[i]; document.body.appendChild(odiv); scrollbarWidth = odiv.offsetWidth - odiv.clientWidth; odiv.remove(); return scrollbarWidth; } var btnFloat =function(data,layid){ $layid = $('#'+layid) var btf_right = data.float_right?data.float_right:1 var btf_bottom = data.float_bottom?data.float_bottom:1 if(data.float_enable=='show'){ var gscrollWidth = 18; gscrollWidth = getScrollbarWidth(); btf_right = parseInt(gscrollWidth) + parseInt(btf_right); $layid.hide() var effects=$layid.data('wopop_effects'); var noclass='cstlayer'; if(effects&&effects.effect){noclass=' ';} $layid.removeClass(noclass).appendTo('body').attr('style','') .css({"position":"fixed","right":btf_right+"px","z-index": "999","bottom":btf_bottom+"px"}).show() } } function layer_buttons_text_display_func(param){ var layerid=param.layerid; var bgFlag =param.bgFlag; var bhFlag =param.bhFlag; if(bgFlag){ $('#'+layerid).find('.wp-buttons_content a.btnarea ').find("span.button_btndefault-label").hide(); } $('#'+layerid).find('.wp-buttons_content a.btnarea').hover(function () { if(bhFlag){ $(this).find("span.button_btndefault-label").hide(); }else{ $(this).find("span.button_btndefault-label").show(); } },function () { if(bgFlag){ $(this).find("span.button_btndefault-label").hide(); }else{ $(this).find("span.button_btndefault-label").show(); } }); }