『壹』 如何用javascript代码实现图片由右向左滑动效果!!!跪求答案!!!很急!!!!
<divid="ibanner">
<divid="ibanner_pic">
<a><imgsrc="images/1.jpg"alt=""/></a>
<a><imgsrc="images/2.jpg"alt=""/></a>
<a><imgsrc="images/3.jpg"alt=""/></a>
</div>
</div>
js">function$(id){
returndocument.getElementById(id);
}
functionaddLoadEvent(func){
varoldonload=window.onload;
if(typeofwindow.onload!='function'){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
}
functionaddBtn(){
if(!$('ibanner')||!$('ibanner_pic'))
return;
varpicList=$('ibanner_pic').getElementsByTagName('a');
if(picList.length==0)
return;
varbtnBox=document.createElement('div');
btnBox.setAttribute('id','ibanner_btn');
varSpanBox='';
for(vari=1;i<=picList.length;i++){
varspanList='<spanclass="normal">'+i+'</span>';
SpanBox+=spanList;
}
btnBox.innerHTML=SpanBox;
$('ibanner').appendChild(btnBox);
$('ibanner_btn').getElementsByTagName('span')[0].className='current';
for(varm=0;m<picList.length;m++){
varattributeValue='picLi_'+m
picList[m].setAttribute('id',attributeValue);
}
}
functionmoveElement(elementID,final_x,final_y,interval){
if(!document.getElementById)
returnfalse;
if(!document.getElementById(elementID))
returnfalse;
varelem=document.getElementById(elementID);
if(elem.movement){
clearTimeout(elem.movement);
}
if(!elem.style.left){
elem.style.left="0px";
}
if(!elem.style.top){
elem.style.top="0px";
}
varxpos=parseInt(elem.style.left);
varypos=parseInt(elem.style.top);
if(xpos==final_x&&ypos==final_y){
moveing=false;
returntrue;
}
if(xpos<final_x){
vardist=Math.ceil((final_x-xpos)/10);
xpos=xpos+dist;
}
if(xpos>final_x){
vardist=Math.ceil((xpos-final_x)/10);
xpos=xpos-dist;
}
if(ypos<final_y){
vardist=Math.ceil((final_y-ypos)/10);
ypos=ypos+dist;
}
if(ypos>final_y){
vardist=Math.ceil((ypos-final_y)/10);
ypos=ypos-dist;
}
elem.style.left=xpos+"px";
elem.style.top=ypos+"px";
varrepeat="moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
elem.movement=setTimeout(repeat,interval);
}
functionclassNormal(){
varbtnList=$('ibanner_btn').getElementsByTagName('span');
for(vari=0;i<btnList.length;i++){
btnList[i].className='normal';
}
}
functionpicZ(){
varpicList=$('ibanner_pic').getElementsByTagName('a');
for(vari=0;i<picList.length;i++){
picList[i].style.zIndex='1';
}
}
varautoKey=false;
functioniBanner(){
if(!$('ibanner')||!$('ibanner_pic')||!$('ibanner_btn'))
return;
$('ibanner').onmouseover=function(){
autoKey=true
};
$('ibanner').onmouseout=function(){
autoKey=false
};
varbtnList=$('ibanner_btn').getElementsByTagName('span');
varpicList=$('ibanner_pic').getElementsByTagName('a');
if(picList.length==1)
return;
picList[0].style.zIndex='2';
for(varm=0;m<btnList.length;m++){
btnList[m].onmouseover=function(){
for(varn=0;n<btnList.length;n++){
if(btnList[n].className=='current'){
varcurrentNum=n;
}
}
classNormal();
picZ();
this.className='current';
picList[currentNum].style.zIndex='2';
varz=this.childNodes[0].nodeValue-1;
picList[z].style.zIndex='3';
if(currentNum!=z){
picList[z].style.left='809px';
moveElement('picLi_'+z,0,0,10);
}
}
}
}
setInterval('autoBanner()',2500);
functionautoBanner(){
if(!$('ibanner')||!$('ibanner_pic')||!$('ibanner_btn')||autoKey)
return;
varbtnList=$('ibanner_btn').getElementsByTagName('span');
varpicList=$('ibanner_pic').getElementsByTagName('a');
if(picList.length==1)
return;
for(vari=0;i<btnList.length;i++){
if(btnList[i].className=='current'){
varcurrentNum=i;
}
}
if(currentNum==(picList.length-1)){
classNormal();
picZ();
btnList[0].className='current';
picList[currentNum].style.zIndex='2';
picList[0].style.zIndex='3';
picList[0].style.left='809px';
moveElement('picLi_0',0,0,10);
}else{
classNormal();
picZ();
varnextNum=currentNum+1;
btnList[nextNum].className='current';
picList[currentNum].style.zIndex='2';
picList[nextNum].style.zIndex='3';
picList[nextNum].style.left='809px';
moveElement('picLi_'+nextNum,0,0,10);
}
}
addLoadEvent(addBtn);
addLoadEvent(iBanner);
『贰』 js实现图片左右滚动
根据楼上做了点修改,这是用jquery,所以一定要链接jquery库。
<html>
<head>
<title></title>
<styletype="text/css">
body,ul,li{list-style:noneoutsidenone;padding:0;margin:0;}
#picScroll{width:350px;overflow:hidden;}
ul{width:1000%;}
ulli{float:left;}
liimg{width:100px;height:100px;}
</style>
<scripttype="text/javascript"src="jquery-1.4.2.min.js"></script>
</head>
<body>
<divid="picScroll">
<ul>
<li>
<a><imgsrc="../pic/1.jpg"/></a>
<a><imgsrc="../pic/2.jpg"/></a>
<a><imgsrc="../pic/3.jpg"/></a>
<a><imgsrc="../pic/4.jpg"/></a>
<a><imgsrc="../pic/5.jpg"/></a>
</li>
<li></li>
</ul>
</div>
<scripttype="text/javascript">
vartarget=$('#picScroll');//其实标准的写法是var$target=$('#picScroll');
varleft=0;
varspeed=30;
varli=$('#picScrollulli');
li.eq(1).html(li.eq(0).html());//复制第一个li节点内容,赋值给第二个li目的是为了实现无限循环滚动
functionMarqeen(){
if(li[0].offsetWidth<=left){
left-=li[0].offsetWidth;
}
else{
left++;
}
target.scrollLeft(left);
}
$(function(){
varmarQueen=window.setInterval(Marqeen,speed);
target.mouseover(function(){
clearInterval(marQueen);
});
target.mouseout(function(){
marQueen=window.setInterval(Marqeen,speed);
});
});
</script>
</body>
</html>
下面是用 js 写的,不用连接jquery库了,可以对比一下上面的jquery代码
<scripttype="text/javascript">
vartarget=document.getElementById('picScroll');
varleft=0;
varspeed=30;
varLI=target.getElementsByTagName('li');
LI[1].innerHTML=LI[0].innerHTML;
functionMarqeen(){
if(LI[0].offsetWidth<=left){
left-=LI[0].offsetWidth;
}
else{
left++;
}
target.scrollLeft=left;
}
varmarQueen=window.setInterval(Marqeen,speed);
target.mouseover=function(){
clearInterval(marQueen);
};
target.mouseout=function(){
marQueen=window.setInterval(Marqeen,speed);};
</script>
『叁』 js中怎么实现图片不间断的向左滚动效果,要那种代码清晰的~
<script type="text/javascript">
var speed = 20;//滚动速度
var maq;
var m1;//第一份滚动的内容
var m2;//第二份滚动的内容
var timer;//定时器
function run(){
if(m1.offsetWidth<=maq.scrollLeft){
maq.scrollLeft-=m1.offsetWidth;
}else{
maq.scrollLeft+=6;
}
}
window.onload=function(){
maq=document.getElementById("maq");
m1=document.getElementById("m1");
m2=document.getElementById("m2");
m2.innerHTML=m1.innerHTML;
if(timer==null){
timer=window.setInterval(run,speed);
}
maq.onmouseover=function(){
window.clearInterval(timer);
}
maq.onmouseout=function(){
timer=window.setInterval(run,speed);
}
}
</script>
</head>
<body>
<div id="maq" style="height:200px; width:180px; overflow:hidden">
<table>
<tr>
<td id="m1">
<table>
<tr>
<td><img src="file:///E|/Images/player1.png" width="174" height="268" /></td>
<td><img src="file:///E|/Images/player2.png" width="174" height="268" /></td>
<td><img src="file:///E|/Images/player3.png" width="174" height="268" /></td>
</tr>
</table>
</td>
<td id="m2"></td>
</tr>
</table>
</div>
</body>
楼主详细代码在这里这已经是相当的简介版了你只要把图片路径改一下就能用了,~要采纳呦~你懂得~~