function initgridgiant(moduleid,options){ options = options || {}; replacevideo(moduleid); $(document).ready(function() { if(options.isfloat == 1){ modulegridfloat(moduleid); } //有视频背景的 要根据视频高度设置分栏高度 window['initfunc'+moduleid] = function(){ var bgvideo = $('#module_'+moduleid+' .gridbgvideo'); if(!bgvideo.hasclass('nobgvideo')){ replacevideo(moduleid); if(bgvideo.find('.bgvideo').length > 0 && bgvideo.find('.bgvideo').attr('src')){ //resize 的时候 视频已经加载完成了 所以 进不去canplaythrough事件 var videoh = bgvideo.height(); $('#module_'+moduleid).css({height: videoh}); //视频加载完成之后再获取高度 $('#module_'+moduleid+' .gridbgvideo video.bgvideo').on('canplaythrough',function(){ var videoh = bgvideo.height(); $('#module_'+moduleid).css({height: videoh}); $('#module_'+moduleid).find('.modulegridcontainer .modulecontainer.subcontainer').css({height: videoh}); }) }else{ $('#module_'+moduleid).css({height: 'auto'}); } }else{ $('#module_'+moduleid).css({height: 'auto'}); } } $(window).off('resize.grid'+moduleid).on('resize.grid'+moduleid,function(){ window['initfunc'+moduleid](); }); window['initfunc'+moduleid](); }); } //替换视频链接 function replacevideo(moduleid){ if(!$('#module_'+moduleid+' .gridbgvideo').hasclass('nobgvideo')){ var winwidth = $(window).width(), video = $('#module_'+moduleid+' .gridbgvideo .bgvideo'); if(winwidth <= 769){ //手机端 使用图片背景 替换视频 if(video.length > 0){ var videosrc = video.attr('vsrc'), imagesrc = video.attr('imgsrc'); $('#module_'+moduleid+' .modulesubcontainer').css({ 'background-image': 'url("'+imagesrc+'")', }); video.attr('src',''); $('#module_'+moduleid+' .gridbgvideo').hide(); } }else{ if(!video.attr('src')){ video.attr('src',video.attr('vsrc')); } $('#module_'+moduleid+' .modulesubcontainer').css({ 'background-image': 'none', }); $('#module_'+moduleid+' .gridbgvideo').show(); } } } //分栏悬浮的操作 function modulegridfloat(moduleid){ var grid = $('#module_'+moduleid); if(grid.length > 0){ // 如果是置底悬浮 if (grid.find('.gridcanfloatbottom').length > 0) { // 当前是产品详情页就不显示悬浮模块 if ($('#bodymain1zone').find('.moduleproductdetailgiant').length > 0) { grid.hide(); return; } grid.addclass('gridfloatbottom'); function initgridfloatbottom() { settimeout(function(){ if ($('body').find('#gridfloatbottombox').length < 1) $('body').append('
') $('#gridfloatbottombox').css('height', ($('.gridcanfloatbottom').height() > 400 ? 400 : $('.gridcanfloatbottom').height()) +'px'); }, 500); } // document任何节点发生变化时触发 $(document).on('domnodeinserted',function(){ initgridfloatbottom(); }); initgridfloatbottom(); // 窗口加载完后检测是否有底部导航,有的话,重设置底分栏的bottom $(window).load(function(){ if($("#mobilefootnav:visible").length > 0) grid.css("csstext","bottom:" + $("#mobilefootnav:visible").height() + "px!important"); }); } else { var mainoffsettop = grid.offset().top; var mainheight = grid.height(); var winheight = $(window).height(); //导航的特殊处理 var navfloat = $('#module_'+moduleid+'.gridcanfloat .modulenavgiant'); var navid = ''; if(navfloat.length > 0){ navid = navfloat.closest('.moduleitem'); navid = navid.attr('id'); } $(document).on('scroll',function(event) { //不在页头 或者不能悬浮时 if($('#headerzone #module_'+moduleid).length < 1 || $('#module_'+moduleid+' .gridcanfloat').length < 1) return false; //悬浮时 如果滚动页面 并且 二级菜单显示 要强制隐藏二级菜单 if(navid != '') $('#'+navid+'.modulenavfloatsubmenu').remove(); var winscrolltop = $(window).scrolltop(); if(!grid.hasclass('gridfloat') && (winscrolltop > (mainoffsettop + mainheight) || winscrolltop < (mainoffsettop - winheight))){ grid.addclass('gridfloat'); }else if(grid.hasclass('gridfloat') && winscrolltop <= mainoffsettop){ grid.removeclass('gridfloat'); if(grid.hasclass('staticmodule')){ grid.css('position','static'); } } }); } } }