javascript实现炫酷的拖动分页


Posted in Javascript onMay 11, 2015

javascript实现炫酷的拖动分页

js

<html>
<head>
<title>拖动分页</title>
<meta http-equiv=content-type content="text/html; charset=gb2312">
<style>
body{
border:0px;
margin:0px;
overflow:hidden;
background-color:transparent;
}
.page{
position:absolute;
width:700px;
border:1px solid #999;
background-color:#000;
left:425px;
margin-left:-350px;
cursor:default;
z-index:0;
}
ul{
height:320px;
list-style:none;
margin:40px 50px 0px;
padding:0px;
}
li{
width:100%;
height:30px;
line-height:30px;
font-size:14px;
text-align:left;
border-bottom:1px dashed #999;
}
a{
text-decoration:none;
color:#999;
}
a:hover{
font-weight:bold;
}
li span{
float:right;
color:#999;
}
.tip{
display:block;
width:100%;
font-size:12px;
color:#999;
text-align:center;
margin:10px 0px 20px;
}


</style>
</head>
<body onselectstart="return false;">
<script>
function id(obj){
return document.getElementById(obj);
}
var page;
var lm,mx;
var md=false;
var sh=0;
var en=false;
window.onload=function(){
page=document.getElementsByTagName("div");
if(page.length>0){
page[0].style.zIndex=2;
}

for(i=0;i<page.length;i++){
page[i].className="page";
page[i].innerHTML+="<span class="tip">第 "+(i+1)+"/"+page.length+" 页 提示:左右拖拽翻页</span>";
page[i].id="page"+i;
page[i].i=i;
page[i].onmousedown=function(e){
if(!en){
if(!e){e=e||window.event;}
lm=this.offsetLeft;
mx=(e.pageX)?e.pageX:e.x;
this.style.cursor="w-resize";
md=true;
if(document.all){
this.setCapture();
}else{
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
}
}
}
page[i].onmousemove=function(e){
if(md){
en=true;
if(!e){e=e||window.event;}
var ex=(e.pageX)?e.pageX:e.x;
this.style.left=ex-(mx-lm)+350;
if(this.offsetLeft<75){
var cu=(this.i==0)?page.length-1:this.i-1;
page[sh].style.zIndex=0;
page[cu].style.zIndex=1;
this.style.zIndex=2;
sh=cu;
}

if(this.offsetLeft>75){
var cu=(this.i==page.length-1)?0:this.i+1;
page[sh].style.zIndex=0;
page[cu].style.zIndex=1;
this.style.zIndex=2;
sh=cu;
}
}
}
page[i].onmouseup=function(){
this.style.cursor="default";
md=false;
if(document.all){
this.releaseCapture();
}else{
window.releaseEvents(Event.MOUSEMOVE|Event.MOUSEUP);
}
flyout(this);
}
}
}

function flyout(obj){
if(obj.offsetLeft<75){
if( (obj.offsetLeft + 350 - 20) > -275 ){
obj.style.left=obj.offsetLeft + 350 - 20;
window.setTimeout("flyout(id('"+obj.id+"'));",0);
}else{
obj.style.left=-275;
obj.style.zIndex=0;
flyin(id(obj.id));
}
}
if(obj.offsetLeft>75){
if( (obj.offsetLeft + 350 + 20) < 1125 ){
obj.style.left=obj.offsetLeft + 350 + 20;
window.setTimeout("flyout(id('"+obj.id+"'));",0);
}else{
obj.style.left=1125;
obj.style.zIndex=0;
flyin(id(obj.id));
}
}
}
function flyin(obj){
if(obj.offsetLeft<75){
if( (obj.offsetLeft + 350 + 20) < 425 ){
obj.style.left=obj.offsetLeft + 350 + 20;
window.setTimeout("flyin(id('"+obj.id+"'));",0);
}else{
obj.style.left=425;
en=false;
}
}
if(obj.offsetLeft>75){
if( (obj.offsetLeft + 350 - 20) > 425 ){
obj.style.left=obj.offsetLeft + 350 - 20;
window.setTimeout("flyin(id('"+obj.id+"'));",0);
}else{
obj.style.left=425;
en=false;
}
}
}
</script>

html:

<div>
<ul>
<li><span>2009-4-29 02:16</span><a href=#>东方之珠</a></li>
<li><span>2009-4-29 02:16</span><a href=#>啊!爱人</a></li>
<li><span>2009-4-29 02:16</span><a href=#>宁静温泉</a></li>
<li><span>2009-4-29 02:16</span><a href=#>你的样子</a></li>
<li><span>2009-4-29 02:16</span><a href=#>恋曲1980</a></li>
<li><span>2009-4-29 02:16</span><a href=#>恋曲1980</a></li>
<li><span>2009-4-29 02:16</span><a href=#>恋曲2000</a></li>
<li><span>2009-4-29 02:16</span><a href=#>亚细亚的孤儿</a></li>
<li><span>2009-4-29 02:16</span><a href=#>童年</a></li>
</ul>
</div>
<div>
<ul>
<li><span>2009-4-29 02:16</span><a href=#>弹唱词</a></li>
<li><span>2009-4-29 02:16</span><a href=#>飞车</a></li>
<li><span>2009-4-29 02:16</span><a href=#>东方之珠</a></li>
<li><span>2009-4-29 02:16</span><a href=#>滚滚红尘</a></li>
<li><span>2009-4-29 02:16</span><a href=#>光阴的故事</a></li>
<li><span>2009-4-29 02:16</span><a href=#>之乎者也</a></li>
<li><span>2009-4-29 02:16</span><a href=#>现象七十二变</a></li>
<li><span>2009-4-29 02:16</span><a href=#>乡愁四韵</a></li>
<li><span>2009-4-29 02:16</span><a href=#>穿过你的黑发我的手</a></li>
</ul>
</div>
<div>
<ul>
<li><span>2009-4-29 02:16</span><a href=#>大兵歌</a></li>
<li><span>2009-4-29 02:16</span><a href=#>黄色面孔</a></li>
<li><span>2009-4-29 02:16</span><a href=#>台北红玫瑰</a></li>
</ul>
</div>
</body>
</html>

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
JavaScript this调用规则说明
Mar 08 Javascript
自己整理的一个javascript日期处理函数
Oct 16 Javascript
60个很实用的jQuery代码开发技巧收集
Dec 15 Javascript
JavaScript判断IE版本型号
Jul 27 Javascript
基于javascript实现简单计算器功能
Jan 03 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
Feb 13 Javascript
详解Javascript获取缓存和清除缓存API
May 25 Javascript
详解Vue源码学习之callHook钩子函数
Jul 25 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
Aug 01 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
Sep 24 Javascript
layui.tree组件的使用以及搜索节点功能的实现
Sep 26 Javascript
js实现飞机大战游戏
Aug 26 Javascript
JS+CSS实现的拖动分页效果实例
May 11 #Javascript
浅谈jQuery构造函数分析
May 11 #Javascript
在JavaScript中正确引用bind方法的应用
May 11 #Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
May 11 #Javascript
javascript实现验证IP地址等相关信息代码
May 10 #Javascript
招聘网站基于jQuery实现自动刷新简历
May 10 #Javascript
javascript实现获取字符串hash值
May 10 #Javascript
You might like
php自定文件保存session的方法
2014/12/10 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
2016/09/19 PHP
PHP 中TP5 Request 请求对象的实例详解
2017/07/31 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
PHP dirname简单使用代码实例
2020/11/13 PHP
JSQL  一个 web DB 的封装
2010/05/05 Javascript
概述如何实现一个简单的浏览器端js模块加载器
2016/12/07 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
ligerUI的ligerDialog关闭刷新的方法
2019/09/27 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
python中threading超线程用法实例分析
2015/05/16 Python
使用Python求解最大公约数的实现方法
2015/08/20 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
在win和Linux系统中python命令行运行的不同
2016/07/03 Python
详解python中sort排序使用
2019/03/23 Python
python+tkinter实现学生管理系统
2019/08/20 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
欧洲最大的拼图游戏商店:JigsawPuzzle.co.uk
2018/07/04 全球购物
施工资料员的岗位职责
2013/12/22 职场文书
银行实习生的自我评价
2014/01/13 职场文书
试用期转正鉴定评语
2014/01/27 职场文书
学校开学标语
2014/10/06 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
如何在Python项目中引入日志
2021/05/31 Python
dubbo集成zipkin获取Traceid的实现
2021/07/26 Java/Android
2022年显卡天梯图(6月更新)
2022/06/17 数码科技