求高手帮助,如何实现那种新闻动态规律的滚动的效果。 比如CSDN首页的那个资讯模块 旁边就有动态滚动效果,还有论坛首页也有那种滚动效果,我需要的效果就是跟那个一摸一样,定时规律的动态滚动,有没有高手有具体的demo,发给 或者直接把源码贴出来,记得附上js文件。小弟不胜感激 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ajax+有热点新闻时,动态显示出即可。好汉,还是自己改写一番,有不会之处,发贴询问,没人会发你邮箱。 关键是没有一点思路,对AJAX不太熟悉 <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>JavaScript封装的平滑图片滚动</title><style type="text/css">body{ font-size:12px; color:#333;}#picBox{width:610px; height:205px; margin:50px auto; overflow:hidden; position:relative;}#picBox ul#show_pic{ margin:0; padding:0; list-style:none; height:205px; width:3050px; position:absolute;}#picBox ul#show_pic li{ float:left; margin:0; padding:0; height:205px;}#picBox ul#show_pic li img{ display:block;}#icon_num{ position:absolute; bottom:0px; right:10px;}#icon_num li{ float:left; background:url(http://pc.qq.com/pc/images/flashbutton.gif) no-repeat -15px 0;width:15px; height:15px; list-style:none; color:#39F; text-align:center; cursor:pointer; padding:0; margin:0;margin-right:5px;}#icon_num li:hover,#icon_num li.active{ background:url(http://pc.qq.com/pc/images/flashbutton.gif) no-repeat 0 0; color:#fff;}#picBox_top{width:610px; height:205px; margin:50px auto; position:relative; overflow:hidden;}#picBox_top ul#show_pic_top{ margin:0; padding:0; list-style:none; height:205px; width:610px; position:absolute;}#picBox_top ul#show_pic_top li{ float:left; margin:0; padding:0; height:205px;}#picBox_top ul#show_pic_top li img{ display:block;}#icon_num_top{ position:absolute; bottom:0px; right:10px;}#icon_num_top li{ float:left; background:url(http://pc.qq.com/pc/images/flashbutton.gif) no-repeat -15px 0;width:15px; height:15px; list-style:none; color:#39F; text-align:center; cursor:pointer; padding:0; margin:0;margin-right:5px;}#icon_num_top li:hover,#icon_num_top li.active{ background:url(http://pc.qq.com/pc/images/flashbutton.gif) no-repeat 0 0; color:#fff;}</style></head><body><div id="picBox"> <ul id="show_pic" style="left:0;"> <li><img src="http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/3.gif" width="610" height="205" alt="" title="" /></li> <li><img src="http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/4.gif" width="610" height="205" alt="" title="" /></li> <li><img src="http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/5.gif" width="610" height="205" alt="" title="" /></li> <li><img src="http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/6.gif" width="610" height="205" alt="" title="" /></li> <li><img src="http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/7.gif" width="610" height="205" alt="" title="" /></li> </ul> <ul id="icon_num"> <li class="active">1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul></div><script type="text/javascript">/** *glide.layerGlide((oEventCont,oSlider,sSingleSize,sec,fSpeed,point); *@param auto type:bolean 是否自动滑动 当值是true的时候 为自动滑动 *@param oEventCont type:object 包含事件点击对象的容器 *@param oSlider type:object 滑动对象 *@param sSingleSize type:number 滑动对象里单个元素的尺寸(width或者height) 尺寸是有point 决定 *@param second type:number 自动滑动的延迟时间 单位/秒 *@param fSpeed type:float 速率 取值在0.05--1之间 当取值是1时 没有滑动效果 *@param point type:string left or top */var glide =new function(){ function $id(id){return document.getElementById(id);}; this.layerGlide=function(auto,oEventCont,oSlider,sSingleSize,second,fSpeed,point){ var oSubLi = $id(oEventCont).getElementsByTagName('li'); var interval,timeout,oslideRange; var time=1; var speed = fSpeed var sum = oSubLi.length; var a=0; var delay=second * 1000; var setValLeft=function(s){ return function(){ oslideRange = Math.abs(parseInt($id(oSlider).style[point])); $id(oSlider).style[point] =-Math.floor(oslideRange+(parseInt(s*sSingleSize) - oslideRange)*speed) +'px'; if(oslideRange==[(sSingleSize * s)]){ clearInterval(interval); a=s; } } }; var setValRight=function(s){ return function(){ oslideRange = Math.abs(parseInt($id(oSlider).style[point])); $id(oSlider).style[point] =-Math.ceil(oslideRange+(parseInt(s*sSingleSize) - oslideRange)*speed) +'px'; if(oslideRange==[(sSingleSize * s)]){ clearInterval(interval); a=s; } } } function autoGlide(){ for(var c=0;c<sum;c++){oSubLi[c].className='';}; clearTimeout(interval); if(a==(parseInt(sum)-1)){ for(var c=0;c<sum;c++){oSubLi[c].className='';}; a=0; oSubLi[a].className="active"; interval = setInterval(setValLeft(a),time); timeout = setTimeout(autoGlide,delay); }else{ a++; oSubLi[a].className="active"; interval = setInterval(setValRight(a),time); timeout = setTimeout(autoGlide,delay); } } if(auto){timeout = setTimeout(autoGlide,delay);}; for(var i=0;i<sum;i++){ oSubLi[i].onmouseover = (function(i){ return function(){ for(var c=0;c<sum;c++){oSubLi[c].className='';}; clearTimeout(timeout); clearInterval(interval); oSubLi[i].className="active"; if(Math.abs(parseInt($id(oSlider).style[point]))>[(sSingleSize * i)]){ interval = setInterval(setValLeft(i),time); this.onmouseout=function(){if(auto){timeout = setTimeout(autoGlide,delay);};}; }else if(Math.abs(parseInt($id(oSlider).style[point]))<[(sSingleSize * i)]){ interval = setInterval(setValRight(i),time); this.onmouseout=function(){if(auto){timeout = setTimeout(autoGlide,delay);};}; } } })(i) } }}glide.layerGlide(true,'icon_num','show_pic',610,2,0.1,'left');</script></body></html> 主要class文件加密,防止反编译 struts2中exception拦截器的问题的请教 2个tomcat加载同一个类造成冲突 Spring hibernate 配置问题 本人刚学struts有个小问题请教各位大虾。 求救:根据数据库连接池写的一个连接BEAN调试不出来 关于applet的小问题,为什么在IE中访问页面,不能启动applet????? 在线等 100分求一本电子书 displaytag 一个小问题。 谁知道啊 请问如何用jsp实现如vb中的SSTab控件那样的效果? 请教下url路径问题 求助一个关于分页的问题。
好汉,还是自己改写一番,有不会之处,发贴询问,
没人会发你邮箱。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JavaScript封装的平滑图片滚动</title>
<style type="text/css">
body{ font-size:12px; color:#333;}
#picBox{width:610px; height:205px; margin:50px auto; overflow:hidden; position:relative;}
#picBox ul#show_pic{ margin:0; padding:0; list-style:none; height:205px; width:3050px; position:absolute;}
#picBox ul#show_pic li{ float:left; margin:0; padding:0; height:205px;}
#picBox ul#show_pic li img{ display:block;}
#icon_num{ position:absolute; bottom:0px; right:10px;}
#icon_num li{ float:left; background:url(http://pc.qq.com/pc/images/flashbutton.gif) no-repeat -15px 0;width:15px; height:15px; list-style:none; color:#39F; text-align:center; cursor:pointer; padding:0; margin:0;margin-right:5px;}
#icon_num li:hover,#icon_num li.active{ background:url(http://pc.qq.com/pc/images/flashbutton.gif) no-repeat 0 0; color:#fff;}
#picBox_top{width:610px; height:205px; margin:50px auto; position:relative; overflow:hidden;}
#picBox_top ul#show_pic_top{ margin:0; padding:0; list-style:none; height:205px; width:610px; position:absolute;}
#picBox_top ul#show_pic_top li{ float:left; margin:0; padding:0; height:205px;}
#picBox_top ul#show_pic_top li img{ display:block;}
#icon_num_top{ position:absolute; bottom:0px; right:10px;}
#icon_num_top li{ float:left; background:url(http://pc.qq.com/pc/images/flashbutton.gif) no-repeat -15px 0;width:15px; height:15px; list-style:none; color:#39F; text-align:center; cursor:pointer; padding:0; margin:0;margin-right:5px;}
#icon_num_top li:hover,#icon_num_top li.active{ background:url(http://pc.qq.com/pc/images/flashbutton.gif) no-repeat 0 0; color:#fff;}
</style>
</head>
<body>
<div id="picBox">
<ul id="show_pic" style="left:0;">
<li><img src="http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/3.gif" width="610" height="205" alt="" title="" /></li>
<li><img src="http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/4.gif" width="610" height="205" alt="" title="" /></li>
<li><img src="http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/5.gif" width="610" height="205" alt="" title="" /></li>
<li><img src="http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/6.gif" width="610" height="205" alt="" title="" /></li>
<li><img src="http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/7.gif" width="610" height="205" alt="" title="" /></li>
</ul>
<ul id="icon_num">
<li class="active">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
<script type="text/javascript">
/**
*glide.layerGlide((oEventCont,oSlider,sSingleSize,sec,fSpeed,point);
*@param auto type:bolean 是否自动滑动 当值是true的时候 为自动滑动
*@param oEventCont type:object 包含事件点击对象的容器
*@param oSlider type:object 滑动对象
*@param sSingleSize type:number 滑动对象里单个元素的尺寸(width或者height) 尺寸是有point 决定
*@param second type:number 自动滑动的延迟时间 单位/秒
*@param fSpeed type:float 速率 取值在0.05--1之间 当取值是1时 没有滑动效果
*@param point type:string left or top
*/
var glide =new function(){
function $id(id){return document.getElementById(id);};
this.layerGlide=function(auto,oEventCont,oSlider,sSingleSize,second,fSpeed,point){
var oSubLi = $id(oEventCont).getElementsByTagName('li');
var interval,timeout,oslideRange;
var time=1;
var speed = fSpeed
var sum = oSubLi.length;
var a=0;
var delay=second * 1000;
var setValLeft=function(s){
return function(){
oslideRange = Math.abs(parseInt($id(oSlider).style[point]));
$id(oSlider).style[point] =-Math.floor(oslideRange+(parseInt(s*sSingleSize) - oslideRange)*speed) +'px';
if(oslideRange==[(sSingleSize * s)]){
clearInterval(interval);
a=s;
}
}
};
var setValRight=function(s){
return function(){
oslideRange = Math.abs(parseInt($id(oSlider).style[point]));
$id(oSlider).style[point] =-Math.ceil(oslideRange+(parseInt(s*sSingleSize) - oslideRange)*speed) +'px';
if(oslideRange==[(sSingleSize * s)]){
clearInterval(interval);
a=s;
}
}
}
function autoGlide(){
for(var c=0;c<sum;c++){oSubLi[c].className='';};
clearTimeout(interval);
if(a==(parseInt(sum)-1)){
for(var c=0;c<sum;c++){oSubLi[c].className='';};
a=0;
oSubLi[a].className="active";
interval = setInterval(setValLeft(a),time);
timeout = setTimeout(autoGlide,delay);
}else{
a++;
oSubLi[a].className="active";
interval = setInterval(setValRight(a),time);
timeout = setTimeout(autoGlide,delay);
}
}
if(auto){timeout = setTimeout(autoGlide,delay);};
for(var i=0;i<sum;i++){
oSubLi[i].onmouseover = (function(i){
return function(){
for(var c=0;c<sum;c++){oSubLi[c].className='';};
clearTimeout(timeout);
clearInterval(interval);
oSubLi[i].className="active";
if(Math.abs(parseInt($id(oSlider).style[point]))>[(sSingleSize * i)]){
interval = setInterval(setValLeft(i),time);
this.onmouseout=function(){if(auto){timeout = setTimeout(autoGlide,delay);};};
}else if(Math.abs(parseInt($id(oSlider).style[point]))<[(sSingleSize * i)]){
interval = setInterval(setValRight(i),time);
this.onmouseout=function(){if(auto){timeout = setTimeout(autoGlide,delay);};};
}
}
})(i)
}
}
}
glide.layerGlide(true,'icon_num','show_pic',610,2,0.1,'left');
</script>
</body>
</html>