html鼠标拖动翻页,JS实现的3D拖拽翻页效果代码

本文实例讲述了JS实现的3D拖拽翻页效果。分享给大家供大家参考,具体如下:

以前看到一个很火的帖子,拖拽实现的翻页效果,非常的有创意,自己也很喜欢,于是乎就萌发了用自己的方法模仿的想法。感谢原创作者的创意,结果一样,但过程不一样哦。奉上代码,供大家参考。

运行效果截图如下:

6718608e3ad6489d75a7a1a27df3657a.png

在线演示地址如下:

具体代码如下:

/p>

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

拖拽翻页

*{margin:0;padding:0;}

body{font-size:12px; overflow:hidden;}

img{border:0;}

li{list-style:none;}

#drag{

width:682px;

color:#fff;

position:relative;

margin:50px auto 0 auto;

font-family:"Microsoft YaHei", "宋体";

}

#drag ul{

}

#drag ul li{

text-align:right;

height:30px;

line-height:30px;

overflow:hidden;

vertical-align:middle;

font-size:14px;

border-bottom:1px dashed #fff;

}

#drag ul li span{

float:right;

}

#drag ul li a{

float:left;

color:#fff;

text-decoration:none;

}

#drag div{

width:600px;

height:350px;

padding:40px;

background:#77521d;

cursor:e-resize;

border:1px solid #999;

position:absolute;

left:0;

top:0;

}

#drag div p{

width:100%;

padding-bottom:20px;

text-align:center;

position:absolute;

bottom:0;

left:0;

}

window.οnlοad=function()

{

var oDrag=document.getElementById('drag');

var aDiv=oDrag.getElementsByTagName('div');

var aLink=oDrag.getElementsByTagName('a');

var i=0;

for(i=0;i

{

aDiv[i].style.zIndex=(i+1);

aDiv[i].innerHTML+='

第 '+(i+1)+'/'+aDiv.length+' 页 提示:左右拖拽翻页

';

aDiv[i].οnmοusedοwn=drag;

}

for(i=0;i

{

aLink[i].οnmοusedοwn=function(ev)

{

var oEvent=ev||event;

oEvent.stopPropagation?oEvent.stopPropagation():oEvent.cancelBubble=true;

};

}

};

function drag(ev)

{

var obj=this;

var mouseStart=[];

var objStart=[];

var oEvent=ev||event;

mouseStart.x=oEvent.clientX;

objStart.x=this.offsetLeft;

document.οnmοusemοve=function(ev)

{

var oEvent=ev||event;

var l=oEvent.clientX-mouseStart.x+objStart.x;

var t=oEvent.clientY-mouseStart.y+objStart.y;

obj.style.left=l+'px';

return false;

};

document.οnmοuseup=function()

{

document.οnmοusemοve=document.οnmοuseup=null;

startMove(obj);

};

return false;

}

function startMove(obj)

{

var oDrag=document.getElementById('drag');

var aDiv=oDrag.getElementsByTagName('div');

var iSpeed=0;

obj.timer=setInterval(function(){

obj.οnmοusedοwn=null;

obj.offsetLeft>=0?iSpeed+=10:iSpeed-=10;

var l=obj.offsetLeft+iSpeed;

if(l>obj.offsetWidth)

{

l=obj.offsetWidth;

moveDirection(iSpeed);

}

else if(l

{

l=-obj.offsetWidth;

moveDirection(iSpeed);

}

obj.style.left=l+'px';

},30);

function moveDirection(iSpeed)

{

for(i=0;i

{

aDiv[i].style.zIndex=parseInt(aDiv[i].style.zIndex)+1;

if(aDiv[i]==obj)

{

obj.style.zIndex=parseInt(obj.style.zIndex)-aDiv.length;

}

}

clearInterval(obj.timer);

t=setInterval(function(){

obj.οnmοusedοwn=null;

var l=obj.offsetLeft-iSpeed;

if((iSpeed<0 && l>0) || (iSpeed>0 && l<0))

{

l=0;

clearInterval(t);

obj.οnmοusedοwn=drag;

}

obj.style.left=l+'px';

},30);

}

}

希望本文所述对大家JavaScript程序设计有所帮助。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值