JS實(shí)現(xiàn)的3D拖拽翻頁效果代碼
本文實(shí)例講述了JS實(shí)現(xiàn)的3D拖拽翻頁效果。分享給大家供大家參考,具體如下:
以前看到一個(gè)很火的帖子,拖拽實(shí)現(xiàn)的翻頁效果,非常的有創(chuàng)意,自己也很喜歡,于是乎就萌發(fā)了用自己的方法模仿的想法。感謝原創(chuàng)作者的創(chuàng)意,結(jié)果一樣,但過程不一樣哦。奉上代碼,供大家參考。
運(yùn)行效果截圖如下:

在線演示地址如下:
http://demo.jb51.net/js/2015/js-3d-drag-page-style-codes/
具體代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>拖拽翻頁</title>
<style type="text/css">
*{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;
}
</style>
<script type="text/javascript">
window.onload=function()
{
var oDrag=document.getElementById('drag');
var aDiv=oDrag.getElementsByTagName('div');
var aLink=oDrag.getElementsByTagName('a');
var i=0;
for(i=0;i<aDiv.length;i++)
{
aDiv[i].style.zIndex=(i+1);
aDiv[i].innerHTML+='<p>第 '+(i+1)+'/'+aDiv.length+' 頁 提示:左右拖拽翻頁</p>';
aDiv[i].onmousedown=drag;
}
for(i=0;i<aLink.length;i++)
{
aLink[i].onmousedown=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.onmousemove=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.onmouseup=function()
{
document.onmousemove=document.onmouseup=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.onmousedown=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<-obj.offsetWidth)
{
l=-obj.offsetWidth;
moveDirection(iSpeed);
}
obj.style.left=l+'px';
},30);
function moveDirection(iSpeed)
{
for(i=0;i<aDiv.length;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.onmousedown=null;
var l=obj.offsetLeft-iSpeed;
if((iSpeed<0 && l>0) || (iSpeed>0 && l<0))
{
l=0;
clearInterval(t);
obj.onmousedown=drag;
}
obj.style.left=l+'px';
},30);
}
}
</script>
</head>
<body>
<div id="drag">
<div>
<ul>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">東方之珠</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">??!愛人</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">寧靜溫泉</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">你的樣子</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">戀曲1980</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">戀曲1990</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">戀曲2000</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">亞細(xì)亞的孤兒</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">伴侶</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">童年</a></li>
</ul>
</div>
<div>
<ul>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">愛的箴言</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">愛人同志</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">思念</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">母親</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">是否</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">牧童</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">青春舞曲</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">蒲公英</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">未來的主人翁</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">如今才是唯一</a></li>
</ul>
</div>
<div>
<ul>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">暗戀</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">彈唱詞</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">飛車</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">東方之珠</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">滾滾紅塵</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">光陰的故事</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">之乎者也</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">現(xiàn)象七十二變</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">鄉(xiāng)愁四韻</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">穿過你的黑發(fā)我的手</a></li>
</ul>
</div>
<div>
<ul>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">大兵歌</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">歌</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">黃色面孔</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">臺(tái)北紅玫瑰</a></li>
<li><span>2009-4-9 12:35</span><a target="_blank" href="#">我所不能了解的事</a></li>
</ul>
</div>
</div>
</body>
</html>
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- js實(shí)現(xiàn)3D圖片展示效果
- 純JS實(shí)現(xiàn)旋轉(zhuǎn)圖片3D展示效果
- JS實(shí)現(xiàn)3D圖片旋轉(zhuǎn)展示效果代碼
- js模擬3D場(chǎng)景效果代碼打包
- js+vml創(chuàng)建3D頁面效果代碼
- js實(shí)現(xiàn)3D圖片逐張輪播幻燈片特效代碼分享
- 原生javascript+css3編寫的3D魔方動(dòng)畫旋扭特效
- 基于css3新屬性transform及原生js實(shí)現(xiàn)鼠標(biāo)拖動(dòng)3d立方體旋轉(zhuǎn)
- 基于javascript html5實(shí)現(xiàn)3D翻書特效
- js實(shí)現(xiàn)3D圖片環(huán)展示效果
相關(guān)文章
JavaScript遍歷table表格中的某行某列并打印其值
這篇文章主要介紹了JavaScript遍歷table表格中的某行某列并打印其值,需要的朋友可以參考下2014-07-07
javascript實(shí)現(xiàn)動(dòng)態(tài)表頭及表列的展現(xiàn)方法
這篇文章主要介紹了javascript實(shí)現(xiàn)動(dòng)態(tài)表頭及表列的展現(xiàn)方法,涉及javascript動(dòng)態(tài)操作table元素的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
JS小功能(offsetLeft實(shí)現(xiàn)圖片滾動(dòng)效果)實(shí)例代碼
這篇文章主要介紹了offsetLeft實(shí)現(xiàn)圖片滾動(dòng)效果實(shí)例代碼,有需要的朋友可以參考一下2013-11-11
異步動(dòng)態(tài)加載js與css文件的js代碼
這篇文章介紹了異步動(dòng)態(tài)加載js與css文件的幾種方法,有需要的朋友可以參考一下2013-09-09
layer.open 按鈕的點(diǎn)擊事件關(guān)閉方法
今天小編就為大家分享一篇layer.open 按鈕的點(diǎn)擊事件關(guān)閉方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08

