今天宠物迷的小编给各位宠物饲养爱好者分享js滑动图片效果的宠物知识,其中也会对怎样用JavaScript实现图片的滚动效果?(web实现图片滚动效果)进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
直接给你一段简单的代码,不懂再问
图片滚动
#div1
{position:relative;width:650px;height:210px;overflow:hidden;
}
#div2{position:absolute;}
li{float:left;list-style-type:none;padding:5px;}
img{border:none;}
#div2 li a:hover{top:-10px;}
a{position:relative;}
window.onload=function()
{
var odiv2=document.getElementById('div2');
var ali=odiv2.getElementsByTagName('li');
var aspeed=-5;
var timer=null;
odiv2.innerHTML+=odiv2.innerHTML;
odiv2.style.width=ali[0].offsetWidth*ali.length+'px';
odiv2.onmouseover=function(){clearInterval(timer);};
function a()
{
timer=setInterval(function()
{
odiv2.style.left=odiv2.offsetLeft+aspeed+'px';
if (odiv2.offsetLeft<-odiv2.offsetWidth/2)
{
odiv2.style.left='0px';
}
},30);};
odiv2.onmouseout=a;
a();
}
自动滚动,主要思路是用js自带的setInterval方法。 定义和用法 setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。 setInterval() 方**不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。 语法 setInterval(code,millisec[,"lang"]) 参数 code 必需。要调用的函数或要执行的代码串。 millisec 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。 返回值 一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。 简单的例子,仅供参考: *{ margin:0; padding:0; list-style:none;} #box{ width:840px; border:1px solid #000; height:210px; margin:30px auto; position:relative; overflow:hidden;} #box ul{ position:absolute; left:0; top:0;} #box ul li{ width:200px; height:200px; float:left; padding:5px;} window.onload=function(){ var oBox=document.getElementById('box'); var oUl=oBox.children[0]; var aLi=oUl.children; //复制一份内容 oUl.innerHTML+=oUl.innerHTML; oUl.style.width=aLi.length*aLi[0].offsetWidth+'px'; setInterval(function(){ var l=oUl.offsetLeft+10; if(l>=0){ l=-oUl.offsetWidth/2; } oUl.style.left=l+'px'; },30); };
自动更换图片,这个是用定时器做的。下面是简单的代码,仅供参考:
*{ margin:0; padding:0; list-style:none;}
#box{ width:840px; border:1px solid #000; height:210px; margin:30px auto; position:relative; overflow:hidden;}
#box ul{ position:absolute; left:0; top:0;}
#box ul li{ width:200px; height:200px; float:left; padding:5px;}
window.onload=function(){
var oBox=document.getElementById('box');
var oUl=oBox.children[0];
var aLi=oUl.children;
//复制一份内容
oUl.innerHTML+=oUl.innerHTML;
oUl.style.width=aLi.length*aLi[0].offsetWidth+'px';
setInterval(function(){
var l=oUl.offsetLeft+10;
if(l>=0){
l=-oUl.offsetWidth/2;
}
oUl.style.left=l+'px';
},30);
};
简单的说一下定时器:
setInterval定义和用法
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方**不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
语法
setInterval(code,millisec[,"lang"])
参数
code 必需。要调用的函数或要执行的代码串。
millisec 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。
直接给你一段简单的代码,不懂再问
图片滚动
#div1
{position:relative;width:650px;height:210px;overflow:hidden;
}
#div2{position:absolute;}
li{float:left;list-style-type:none;padding:5px;}
img{border:none;}
#div2 li a:hover{top:-10px;}
a{position:relative;}
window.onload=function()
{
var odiv2=document.getElementById('div2');
var ali=odiv2.getElementsByTagName('li');
var aspeed=-5;
var timer=null;
odiv2.innerHTML+=odiv2.innerHTML;
odiv2.style.width=ali[0].offsetWidth*ali.length+'px';
odiv2.onmouseover=function(){clearInterval(timer);};
function a()
{
timer=setInterval(function()
{
odiv2.style.left=odiv2.offsetLeft+aspeed+'px';
if (odiv2.offsetLeft<-odiv2.offsetWidth/2)
{
odiv2.style.left='0px';
}
},30);};
odiv2.onmouseout=a;
a();
}
直接给你一段简单的代码,不懂再问
图片滚动
#div1
{position:relative;width:650px;height:210px;overflow:hidden;
}
#div2{position:absolute;}
li{float:left;list-style-type:none;padding:5px;}
img{border:none;}
#div2 li a:hover{top:-10px;}
a{position:relative;}
window.onload=function()
{
var odiv2=document.getElementById('div2');
var ali=odiv2.getElementsByTagName('li');
var aspeed=-5;
var timer=null;
odiv2.innerHTML+=odiv2.innerHTML;
odiv2.style.width=ali[0].offsetWidth*ali.length+'px';
odiv2.onmouseover=function(){clearInterval(timer);};
function a()
{
timer=setInterval(function()
{
odiv2.style.left=odiv2.offsetLeft+aspeed+'px';
if (odiv2.offsetLeft<-odiv2.offsetWidth/2)
{
odiv2.style.left='0px';
}
},30);};
odiv2.onmouseout=a;
a();
}
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);
}
}
楼主详细代码在这里这已经是相当的简介版了你只要把图片路径改一下就能用了,~要采纳呦~你懂得~~
直接给你一段简单的代码,不懂再问
图片滚动
#div1
{position:relative;width:650px;height:210px;overflow:hidden;
}
#div2{position:absolute;}
li{float:left;list-style-type:none;padding:5px;}
img{border:none;}
#div2 li a:hover{top:-10px;}
a{position:relative;}
window.onload=function()
{
var odiv2=document.getElementById('div2');
var ali=odiv2.getElementsByTagName('li');
var aspeed=-5;
var timer=null;
odiv2.innerHTML+=odiv2.innerHTML;
odiv2.style.width=ali[0].offsetWidth*ali.length+'px';
odiv2.onmouseover=function(){clearInterval(timer);};
function a()
{
timer=setInterval(function()
{
odiv2.style.left=odiv2.offsetLeft+aspeed+'px';
if (odiv2.offsetLeft<-odiv2.offsetWidth/2)
{
odiv2.style.left='0px';
}
},30);};
odiv2.onmouseout=a;
a();
}
主要思路是:鼠标当前点到下一点直接间隔计算出速度。这样就实现了惯性滑动效果。 下面是简单的js代码实现:仅供参考: #div1{ width:100px; height:100px; background:red; position:absolute; left:0px; top:0;} window.onload=function(){ var oDiv=document.getElementById('div1'); var iSpeedX=0; var iSpeedY=0; var lastX=0; var lastY=0; var timer=null; oDiv.onmousedown=function(ev){ //div的鼠标按下事件,主要计算鼠标当前位置,和移动位置。这样可以计算出鼠标移动速度。 var oEvent=ev || event; var disX=oEvent.clientX-oDiv.offsetLeft; var disY=oEvent.clientY-oDiv.offsetTop; clearInterval(timer); document.onmousemove=function(ev){ //鼠标拖动事件。 var oEvent=ev || event; oDiv.style.left=oEvent.clientX-disX+'px'; oDiv.style****=oEvent.clientY-disY+'px'; iSpeedX=oEvent.clientX-lastX; iSpeedY=oEvent.clientY-lastY; lastX=oEvent.clientX; lastY=oEvent.clientY; } document.onmouseup=function(){ //当鼠标抬起后,清掉移动事件。 document.onmousemove=null; document.onmouseup=null; oDiv.releaseCapture && oDiv.releaseCapture(); startMove(); } oDiv.setCapture && oDiv.setCapture(); return false; } function startMove(){ //移动函数,主要操作是计算鼠标移动速度和移动方向。 clearInterval(timer); timer=setInterval(function(){ iSpeedY+=3; var t=oDiv.offsetTop+iSpeedY; var l=oDiv.offsetLeft+iSpeedX; if(t>document.documentElement.clientHeight-oDiv.offsetHeight){ t=document.documentElement.clientHeight-oDiv.offsetHeight; iSpeedY*=-0.8; iSpeedX*=0.8; } if(t<0){ t=0; iSpeedY*=-0.8; iSpeedX*=0.8; } if(l>document.documentElement.clientWidth-oDiv.offsetWidth){ l=document.documentElement.clientWidth-oDiv.offsetWidth; iSpeedX*=-0.8; iSpeedY*=0.8; } if(l<0){ l=0; iSpeedX*=-0.8; iSpeedY*=0.8; } oDiv.style.left=l+'px'; oDiv.style****=t+'px'; if(Math.abs(iSpeedX)<1)iSpeedX=0; if(Math.abs(iSpeedY)<1)iSpeedY=0; if(iSpeedX==0 && iSpeedY==0 && t==document.documentElement.clientHeight-oDiv.offsetHeight){ clearInterval(timer); } document.title=i++; },30); } };
淘宝天猫的是用kiss.js是他们自己写的js包
这个js包是开源的你可以到他的网站下载js包和调用代码
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“怎样用JavaScript实现图片的滚动效果?”
上一篇
狗狗大全:狗狗身上起皮怎么办
下一篇
孩子的皮肤过敏怎么办?_皮肤过敏