js实现带按钮的上下滚动效果


Posted in Javascript onMay 12, 2015

本文实例讲述了js实现带按钮的上下滚动效果。分享给大家供大家参考。具体实现方法如下:

<!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=utf-8" />
<title>js带按钮上下滚动效果</title>
<style type="text/css">
ul{
 margin:0;
 padding:0;
 list-style:none;
 height:100000px;
}
li{
 margin:0;
 padding:0;
 width:100px;
 height:100px;
 display:block;
 float:top;
 margin-bottom:5px;
 background:#009900;
}
#img_bag{
 width:110px;
 height:600px;
 background:#F2F2F2;
 margin:0 auto;
 text-align:center;
}
#img_bag #img{
 width:100px;
 height:525px;
 background:#969696;
 overflow:hidden;
 margin:auto;
}
</style>
</head>
<body>
<div id="img_bag">
 <a href="javascript:void(0)" onmousedown="moveTop()">
 <img src="upp.jpg" border="0" /></a>
 <div id="img">
 <ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
  <li>6</li>
  <li>7</li>
  <li>8</li>
  <li>9</li>
  <li>10</li>
  <li>11</li>
  <li>12</li>
 </ul>
 </div>
 <a href="javascript:void(0)" onmousedown="moveBottom()">
 <img src="down.jpg" border="0" /></a>
</div>
<script type="text/javascript">
function $(obj){
 //获取指定对象
 return document.getElementById(obj);
}
var maxHeight=$("img").getElementsByTagName("ul")[0].getElementsByTagName("li").length*105;
//滚动图片的最大高度
var targety = 211;
//一次滚动距离
var dx;
var a=null;
function moveTop(){
 var le=parseInt($("img").scrollTop);
 if(le>211){
 targety=parseInt($("img").scrollTop)-211;
 }else{
 targety=parseInt($("img").scrollTop)-le-1;
 }
 scTop();
}
function scTop(){
 dx=parseInt($("img").scrollTop)-targety;
 $("img").scrollTop-=dx*.3;
 clearScroll=setTimeout(scTop,50);
 if(dx*.3<1){
 clearTimeout(clearScroll);
 }
}
function moveBottom(){
 var le=parseInt($("img").scrollTop)+211;
 var maxL=maxHeight-600;
 if(le<maxL){
 targety=parseInt($("img").scrollTop)+211;
 }else{
 targety=maxL
 }
 scBottom();
}
function scBottom(){
 dx=targety-parseInt($("img").scrollTop);
 $("img").scrollTop+=dx*.3;
 a=setTimeout(scBottom,50);
 if(dx*.3<1){
 clearTimeout(a)
 }
}
</script>
</body>
</html>

运行效果如下所示:

js实现带按钮的上下滚动效果

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

Javascript 相关文章推荐
firefox插件Firebug的使用教程
Jan 02 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
May 14 Javascript
在JS中解析HTML字符串示例代码
Apr 16 Javascript
javascript模拟订火车票和退票示例
Apr 24 Javascript
js实现浏览本地文件并显示扩展名的方法
Aug 17 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
Dec 25 Javascript
js利用appendChild对标签进行排序的实现方法
Oct 16 Javascript
微信小程序 教程之wxapp视图容器 swiper
Oct 19 Javascript
基于vue2.0实现的级联选择器
Jun 09 Javascript
使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
May 01 Javascript
35个最好用的Vue开源库(史上最全)
Jan 03 Javascript
HTML+JS实现在线朗读器
Feb 15 Javascript
js验证上传图片的方法
May 12 #Javascript
js中setTimeout()与clearTimeout()用法实例浅析
May 12 #Javascript
js实现一个链接打开两个链接地址的方法
May 12 #Javascript
js实现鼠标经过表格行变色的方法
May 12 #Javascript
js比较日期大小的方法
May 12 #Javascript
js实现简单div拖拽功能实例
May 12 #Javascript
js实现两点之间画线的方法
May 12 #Javascript
You might like
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
jQuery新闻滚动插件 jquery.roller.js
2011/06/27 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
2015/12/08 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
Angular模板表单校验方法详解
2017/08/11 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
Vue.js路由实现选项卡简单实例
2019/07/24 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
js代码实现轮播图
2020/05/04 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
Python常见的pandas用法demo示例
2019/03/16 Python
Python Tkinter实例——模拟掷骰子
2020/10/24 Python
利用HTML5+CSS3实现3D转换效果实例详解
2017/05/02 HTML / CSS
《特殊的葬礼》教学反思
2014/04/27 职场文书
入职担保书范文
2014/05/21 职场文书
护理专业自荐书
2014/06/04 职场文书
个人委托书
2014/07/31 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
《假如》教学反思
2016/02/17 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书
MySQL表的增删改查基础教程
2021/04/07 MySQL
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript