$(function(){ //滚动条 [后面有需要的添加滚动条的div,只要加一个class:scroll] var scroll=$(".scroll"); scroll.jscroll({w:"8px",btn:{btn:false},bar:{bg:{out:"#bebebe"}},bg:"#dcdcdc"}); /*-------------首页幻灯片效果-------------------*/ var timemarker=settimeout(move,5000); //还是不要一打开页面就滚动,还是等个几秒,否则第一张图片看不清楚就过了。 var timer,timer2,timer3,stop; function move(){ console.log(1); if(stop) return false; timemarker && cleartimeout(timemarker); timer2 && cleartimeout(timer2); u1=$("#slide .u1"); u1_ml=parseint(u1.css("marginleft")); cleartimeout(timemarker); if(u1_ml <= -5000){ cleartimeout(timer); u1.stop(); u1.css("marginleft",0); } u1.animate({"marginleft":"-=1000"},1000); timer=settimeout(move,8000); } //箭头控制上一张,下一张图片效果 var zjt=$("#banner.smwz .zjt"); var yjt=$("#banner.smwz .yjt"); zjt.css("cursor","pointer"); yjt.css("cursor","pointer"); zjt.hover( function(){ stop=true; $(this).stop(); cleartimeout(timer); timemarker && cleartimeout(timemarker); timer2 && cleartimeout(timer2); }, function(){ stop=false; move(); } ); yjt.hover( function(){ stop=true; $(this).stop(); cleartimeout(timer); timemarker && cleartimeout(timemarker); timer2 && cleartimeout(timer2); }, function(){ stop=false; move(); } ); zjt.click(function(){ u1.stop(); timer && cleartimeout(timer); timemarker && cleartimeout(timemarker); timer2 && cleartimeout(timer2); var u1_ml2=parseint(u1.css("marginleft")); //当前marginleft var current=math.ceil(u1_ml2 / -1000); //当前第几张图片 if(current>5){current=0;} var newml=(current+1) * -1000; //新的marginleft u1.css("marginleft",newml); }) yjt.click(function(){ u1.stop(); timer && cleartimeout(timer); timemarker && cleartimeout(timemarker); timer2 && cleartimeout(timer2); var u1_ml3=parseint(u1.css("marginleft")); //当前marginleft var current=math.ceil(u1_ml3 / -1000); //当前第几张图片 if(current<1){current=5;} var newml=(current-1) * -1000; //新的marginleft u1.css("marginleft",newml); }) /*后加,幻灯片的图片需要能点击跳到链接。所以最好给一个hover的时候,让图片停下来*/ $("#slide ul li img").hover( function(){ stop=true; $("#slide .u1").stop(false,true); cleartimeout(timer); }, function(){ stop=false; timer2=settimeout(move,3000); } ); /*-----------------------------------------------*/ /*经典案例详情,类似幻灯,但不需要自动滚动,手动点击切换。 前提: 1,案例展示应该要有一个栏目,在里面每篇文章中取标题图片。 【如果要考虑周全,应该标题图片做幻灯片的缩略图。然后另外用一个字段来做为大图显示。 但考虑用户操作的简便性。可以只用标题图片来分别显示大小图】 2,需要知道图片的总数量。到时候是后台直接标签输出li,js这边通过li数量来算总数 3, 某些样式也要通过js来设置,比如ul作为容器,我得根据图片数量算出它的宽度。 而现在图片数量是变量。只能js来设置 4, 不滚动的话,其实只要一组ul也行。【用2组比较容易做,至少不容易露底】 */ //首先,文档加载的时候就要将ul的宽度设定好 var u1=$("#almain .fr .u1"); var u2=$("#almain .fr .u2"); var container=$("#almain .fr .container"); var arrowl=$("#almain .main_content .fr .arrow_l"); //左箭头 var arrowr=$("#almain .main_content .fr .arrow_r"); //右箭头 var count=u1.find("li").length; //一组ul下的li个数 container.width(count*2*708); u1.css("width",count*708); u2.css("width",count*708); //点击箭头切换图片 arrowl.click(function(){ //先得到当前的marginleft,以判断当前是第几个 var mg=parseint($("#almain .fr .u1").css("marginleft")); var num=math.abs(math.ceil(mg/708)); //当前的个数 if(num<=0){ num=count; } $("#almain .fr .u1").css("marginleft",(num-1)*-708); //切换大图,小图更改透明度 $("#almain .fr .u3 li").eq(num-1).css("opacity",1).siblings().css("opacity",0.5); }); arrowr.click(function(){ //先得到当前的marginleft,以判断当前是第几个 var mg=parseint($("#almain .fr .u1").css("marginleft")); var num=math.abs(math.ceil(mg/708)); //当前的个数 if(num>=count-1){ num=-1; } $("#almain .fr .u1").css("marginleft",(num+1)*-708); $("#almain .fr .u3 li").eq(num+1).css("opacity",1).siblings().css("opacity",0.5); }); //点击小图,大图切换 var littepic=$("#almain .fr .u3 li"); littepic.click(function(){ $(this).css("opacity",1).siblings().css("opacity",0.5); var index=$(this).index(); //当前是第几个,从0开始 $("#almain .fr .u1").css("marginleft",index*-708); }); /*------------------------------------------------------------*/ /*=============================思迈环境图片切换========================*/ //箭头切换图片 var zjt=$("#almain .jt .bigpic .jt_l"); var rjt=$("#almain .jt .bigpic .jt_r"); zjt.click(function(){ var ml=parseint($("#almain .bigpic ul").css("marginleft")); var num=math.abs(math.ceil(ml/535)); if(num>10){ num=-1; } $("#almain .bigpic ul").css("marginleft",(num+1)*-535); }); rjt.click(function(){ var ml=parseint($("#almain .bigpic ul").css("marginleft")); var num=math.abs(math.ceil(ml/535)); if(num<1){ num=12; } $("#almain .bigpic ul").css("marginleft",(num-1)*-535); }); // 顺便做一下,小图点击,大图换成对应图片 var smallpic=$("#almain .jt .fr div"); smallpic.click(function(){ var snum=$(this).index(); //当前第几个,0开始 $("#almain .bigpic ul").css("marginleft",snum*-535); }); /*=============================================================*/ /*=======================经典案例栏目,列表hover,点击切换图片=====================================*/ //点击切换图片这个开始考虑过要不要在循环时给带上序号,放在私有属性上。 //现在感觉没有必要。js可以来获取这个序号 //hover var myli=$("#almain .main_content .fl ul li"); var current=myli.filter(".active").index(); //初始选定的li myli.mouseover( function(){ myli.each(function(){ $(this).removeclass("active"); }); $(this).addclass("active"); } ); /*==================================================================*/ /*===============经典案例详情页 列表hover=================================*/ var lia=$("#almain .main_content .fl .alxq li") //左上列表 var lib=$("#almain .main_content .fl .mc2 li") //左上列表 var ca=lia.filter(".active").index(); //初始选中的li var cb=lib.filter(".active").index(); lia.hover( function(){$(this).addclass("active").siblings().removeclass("active");}, function(){ if(ca>0){ settimeout(function(){lia.eq(ca-1).addclass("active").siblings().removeclass("active");},2000); } } ); lib.hover( function(){$(this).addclass("active").siblings().removeclass("active");}, function(){ if(cb>0){ lib.eq(cb-1).addclass("active").siblings().removeclass("active"); } } ); /*=======================================================================*/ /*========================导航条动态确定当前对应的导航位置,hover,以及下拉列表效果===========================================*/ /*js指定当前对应的导航位置,是可以用。但是每个页面的横幅图片都不一样,banner那里有不同的class. 都用js来控制太复杂。这个直接给不同的页面设定不同的头文件! */ var mli=$("#banner .bn_content .nav ul li"); //普通导航,不包括首页 var href=location.href.substr(6); var arr=href.split("\/"); var path=arr[2]; if(path.indexof("gysm")!=-1){ mli.eq(1).addclass("now").siblings().removeclass("now"); }else if(path.indexof("jdal")!=-1){ mli.eq(2).addclass("now").siblings().removeclass("now"); }else if(path.indexof("smwh")!=-1){ mli.eq(3).addclass("now").siblings().removeclass("now"); }else if(path.indexof("dmtzx")!=-1){ mli.eq(4).addclass("now").siblings().removeclass("now"); } var navli=$("#banner .nav ul li"); navli.hover( function(){ $(this).addclass("hover").siblings().removeclass("hover"); //-------------后加,案例详情页,就它一个页面导航下拉会被下面的图片遮盖。 //现在的想法是hover时,将下面内容的margin-top改大点,能让下拉显示出来 /*这里事实上后面很多页面换成自己的头之后都有这个问题,当然可以在css上想想办法。 不过我这里是直接在js中改变下面内容的margin-top,让下拉显示出来。 下面内容的class各不相同,但上面都是id为banner,用banner来找下一个兄弟就行了。 [这种写法被否决了,主要不好看,效果是能出来] */ // var h=$(this).find("div.seclistbox").height(); // oldmt=$("#banner").next().css("margintop"); // $("#banner").next().css("margintop",h); //-------------------------------- //显示下拉 $(this).find(".seclistbox").show(); }, function(){ $(this).removeclass("hover"); $(this).find(".seclistbox").hide(); // $("#banner").next().css("margintop",oldmt); } ); //下拉框hover var dropdd=$("#banner .nav ul li .seclistbox dd"); dropdd.hover( function(){$(this).addclass("on").siblings().removeclass("on");}, function(){$(this).removeclass("on");} ); /*===========================================================================*/ /*========================思迈团队,切换人物=======================================*/ var rpic=$("#almain .td_content .fr div"); var lpic=$("") rpic.click(function(){ var rindex=$(this).index(); var c="replace_"+rindex; //拼接class $("#almain .td_content .wz .d2."+c).addclass("default").siblings().removeclass("default"); }); /*=========================================================================*/ /*===后加:经典案例详情,左边区块滚动,和原来的滚动应该是不一样的。这个不管超不超出容器都能滚动===*/ //定义滚动事件 $.fn.extend({//添加滚轮事件// mousewheel:function(func){ return this.each(function(){ var _self = this; _self.d = 0;//滚动方向 if($.browser.mozilla){ _self.addeventlistener("dommousescroll",function(e){ _self.d = e.detail>0?-1:1; e.preventdefault(); func && func.call(_self); },false); }else{ _self.onmousewheel=function(){_self.d = event.wheeldelta;event.returnvalue = false;func && func.call(_self);}; } }); } }); var scontainer=$("#almain .main_content"); //容器 var scontent=$("#almain .main_content .fl.list") //内容 scontainer.mousewheel(function(){ var mt=parseint(scontent.css("margintop")); if(this.d < 0 ){ //向下滚动。内容应该上滚。但需要判断是否超出容器 if(mt < scontent.height()*-1+50){ return false; } scontent.css("margintop",mt-30); }else{ //向上滚动 if(mt >= 0) return false; //内容之前没有向上滚动,就不需要下滚。 scontent.css("margintop",mt+30); } }); /*==========================================================================================*/ /*==========后加功能:就是鼠标滚轮的那一块,假如之前页面点击了某一个展馆,跳到它的内容页面, 页面重新刷新了。左边这一块又重置了。可能离之前点击的那个场馆名称很远,又要找。 现在的需求就是跳转页面后,让左边对应的场馆滚动到最上方的位置。*/ var search=location.search; search=decodeuricomponent(search).substring(1); var name=$("#almain .main_content .fl li a:contains("+search+")"); if(name.offset() != undefined) var ntop=name.offset().top; var ntop=ntop-518; name.parent().addclass("active"); scontent.css("margintop",-ntop); /*=====================================================================================*/ /*======================后加功能:统计浏览量==============================================*/ $.get("/e/hoohow/count.php"); /*======================================================================================*/ })