$(function(){
//无需滚动页面时的调用。
flexsetting(".flexible");
flexibling(".flexible");
//需滚动页面时的调用。
$(window).scroll(function(){flexibling(".flexible");});
})
//动画初始化参数设置,也可以在CSS中设置。
var flexsetting=function(css){
var o=$(css);
if(o.length>0){
var n=o.find("ul li").length;
var m=Math.floor(n/2);
if (n%2==1){
o.find("ul li").eq(m).css("display","none");
o.find("ul li:lt("+m+")").css("margin-left","-300px");
o.find("ul li:gt("+m+")").css("margin-right","-300px");
}else{
o.find("ul li:lt("+m+")").css("margin-left","-300px");
o.find("ul li:eq("+m+")").css("margin-right","-300px");
o.find("ul li:gt("+m+")").css("margin-right","-300px");
}
}
}
//适用于css中ul li单行多列的动画,从两边进入,中间淡入。
var flexibling=function(css){
var wt = $(window).scrollTop();
var o=$(css);
var st = o.offset().top - $(window).height();
var n=o.find("ul li").length;
var m=Math.floor(n/2);
if(wt>st){
if (n%2==1){
o.find("ul li").eq(m).fadeIn("slow");
o.find("ul li:lt("+m+")").animate({"margin-left":"0"},"800");//此处"slow"已换成800,会有奇效,意想不到的好。
o.find("ul li:gt("+m+")").animate({"margin-right":"0"},"slow");
}else{
o.find("ul li:lt("+m+")").animate({"margin-left":"0"},"slow");
o.find("ul li:eq("+m+")").animate({"margin-right":"0"},"slow");
o.find("ul li:gt("+m+")").animate({"margin-right":"0"},"slow");
}
}
}
|