首页 > 语言 > JavaScript > 正文

JS+CSS实现的拖动分页效果实例

2024-05-06 16:19:51
字体:
来源:转载
供稿:网友

这篇文章主要介绍了JS+CSS实现的拖动分页效果,可实现鼠标拖动页面翻转到上一页或下一页的功能,涉及javascript操作页面元素与css样式的相关技巧,需要的朋友可以参考下

本文实例讲述了JS+CSS实现拖动分页效果的方法。分享给大家供大家参考。具体实现方法如下:

 

 
  1. <html> 
  2. <head> 
  3. <title>拖动分页</title> 
  4. <meta http-equiv=Content-Type content="text/html; charset=utf-8"
  5. <style> 
  6. body{ 
  7. border:0px; 
  8. margin:0px; 
  9. overflow:hidden; 
  10. background-color:transparent; 
  11. .page{ 
  12. position:absolute; 
  13. width:700px; 
  14. border:1px solid #999; 
  15. background-color:#000; 
  16. left:425px; 
  17. margin-left:-350px; 
  18. cursor:default
  19. z-index:0; 
  20. ul{ 
  21. height:320px; 
  22. list-style:none; 
  23. margin:40px 50px 0px; 
  24. padding:0px; 
  25. li{ 
  26. width:100%; 
  27. height:30px; 
  28. line-height:30px; 
  29. font-size:14px; 
  30. text-align:left; 
  31. border-bottom:1px dashed #999; 
  32. a{ 
  33. text-decoration:none; 
  34. color:#999; 
  35. a:hover{ 
  36. font-weight:bold; 
  37. li span{ 
  38. float:right; 
  39. color:#999; 
  40. .tip{ 
  41. display:block; 
  42. width:100%; 
  43. font-size:12px; 
  44. color:#999; 
  45. text-align:center; 
  46. margin:10px 0px 20px; 
  47. </style> 
  48. </head> 
  49. <body onselectstart="return false;"
  50. <script> 
  51. function id(obj){ 
  52. return document.getElementById(obj); 
  53. var page; 
  54. var lm,mx; 
  55. var md=false
  56. var sh=0; 
  57. var en=false
  58. window.onload=function(){ 
  59. page=document.getElementsByTagName("div"); 
  60. if(page.length>0){ 
  61. page[0].style.zIndex=2; 
  62. for(i=0;i<page.length;i++){ 
  63. page[i].className="page"
  64. page[i].innerHTML+="<span class=/"tip/">第 "+(i+1)+"/"+page.length+" 页 提示:左右拖拽翻页</span>"
  65. page[i].id="page"+i; 
  66. page[i].i=i; 
  67. page[i].onmousedown=function(e){ 
  68. if(!en){ 
  69. if(!e){e=e||window.event;} 
  70. lm=this.offsetLeft; 
  71. mx=(e.pageX)?e.pageX:e.x; 
  72. this.style.cursor="w-resize"
  73. md=true
  74. if(document.all){ 
  75. this.setCapture(); 
  76. }else
  77. window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP); 
  78. page[i].onmousemove=function(e){ 
  79. if(md){ 
  80. en=true
  81. if(!e){e=e||window.event;} 
  82. var ex=(e.pageX)?e.pageX:e.x; 
  83. this.style.left=ex-(mx-lm)+350; 
  84. if(this.offsetLeft<75){ 
  85. var cu=(this.i==0)?page.length-1:this.i-1; 
  86. page[sh].style.zIndex=0; 
  87. page[cu].style.zIndex=1; 
  88. this.style.zIndex=2; 
  89. sh=cu; 
  90. if(this.offsetLeft>75){ 
  91. var cu=(this.i==page.length-1)?0:this.i+1; 
  92. page[sh].style.zIndex=0; 
  93. page[cu].style.zIndex=1; 
  94. this.style.zIndex=2; 
  95. sh=cu; 
  96. page[i].onmouseup=function(){ 
  97. this.style.cursor="default"
  98. md=false
  99. if(document.all){ 
  100. this.releaseCapture(); 
  101. }else
  102. window.releaseEvents(Event.MOUSEMOVE|Event.MOUSEUP); 
  103. flyout(this); 
  104. function flyout(obj){ 
  105. if(obj.offsetLeft<75){ 
  106. if( (obj.offsetLeft + 350 - 20) > -275 ){ 
  107. obj.style.left=obj.offsetLeft + 350 - 20; 
  108. window.setTimeout("flyout(id('"+obj.id+"'));",0); 
  109. }else
  110. obj.style.left=-275; 
  111. obj.style.zIndex=0; 
  112. flyin(id(obj.id)); 
  113. if(obj.offsetLeft>75){ 
  114. if( (obj.offsetLeft + 350 + 20) < 1125 ){ 
  115. obj.style.left=obj.offsetLeft + 350 + 20; 
  116. window.setTimeout("flyout(id('"+obj.id+"'));",0); 
  117. }else
  118. obj.style.left=1125; 
  119. obj.style.zIndex=0; 
  120. flyin(id(obj.id)); 
  121. function flyin(obj){ 
  122. if(obj.offsetLeft<75){ 
  123. if( (obj.offsetLeft + 350 + 20) < 425 ){ 
  124. obj.style.left=obj.offsetLeft + 350 + 20; 
  125. window.setTimeout("flyin(id('"+obj.id+"'));",0); 
  126. }else
  127. obj.style.left=425; 
  128. en=false
  129. if(obj.offsetLeft>75){ 
  130. if( (obj.offsetLeft + 350 - 20) > 425 ){ 
  131. obj.style.left=obj.offsetLeft + 350 - 20; 
  132. window.setTimeout("flyin(id('"+obj.id+"'));",0); 
  133. }else
  134. obj.style.left=425; 
  135. en=false
  136. </script> 
  137. <div> 
  138. <ul> 
  139. <li><span>2009-4-29 02:16</span><a href=#>东方之珠</a></li> 
  140. <li><span>2009-4-29 02:16</span><a href=#>啊!爱人</a></li> 
  141. <li><span>2009-4-29 02:16</span><a href=#>宁静温泉</a></li> 
  142. <li><span>2009-4-29 02:16</span><a href=#>你的样子</a></li> 
  143. <li><span>2009-4-29 02:16</span><a href=#>恋曲1980</a></li> 
  144. <li><span>2009-4-29 02:16</span><a href=#>恋曲1980</a></li> 
  145. <li><span>2009-4-29 02:16</span><a href=#>恋曲2000</a></li> 
  146. <li><span>2009-4-29 02:16</span><a href=#>亚细亚的孤儿</a></li> 
  147. <li><span>2009-4-29 02:16</span><a href=#>童年</a></li> 
  148. </ul> 
  149. </div> 
  150. <div> 
  151. <ul> 
  152. <li><span>2009-4-29 02:16</span><a href=#>弹唱词</a></li> 
  153. <li><span>2009-4-29 02:16</span><a href=#>飞车</a></li> 
  154. <li><span>2009-4-29 02:16</span><a href=#>东方之珠</a></li> 
  155. <li><span>2009-4-29 02:16</span><a href=#>滚滚红尘</a></li> 
  156. <li><span>2009-4-29 02:16</span><a href=#>光阴的故事</a></li> 
  157. <li><span>2009-4-29 02:16</span><a href=#>之乎者也</a></li> 
  158. <li><span>2009-4-29 02:16</span><a href=#>现象七十二变</a></li> 
  159. <li><span>2009-4-29 02:16</span><a href=#>乡愁四韵</a></li> 
  160. <li><span>2009-4-29 02:16</span><a href=#>穿过你的黑发我的手</a></li> 
  161. </ul> 
  162. </div> 
  163. <div> 
  164. <ul> 
  165. <li><span>2009-4-29 02:16</span><a href=#>大兵歌</a></li> 
  166. <li><span>2009-4-29 02:16</span><a href=#>黄色面孔</a></li> 
  167. <li><span>2009-4-29 02:16</span><a href=#>台北红玫瑰</a></li> 
  168. </ul> 
  169. </div> 
  170. </body> 
  171. </html> 

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选