一个javascript实现的滚动条
来源:互联网 发布:绘画软件知乎 编辑:程序博客网 时间:2024/05/06 07:40
最近空闲时间比较多,就决定抽点时间好好的研究一下javascript脚本控制 简单的实现了滚动条,只实现拖动,其他功能还没有实现
<!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">.scrollbar {position: absolute;left: 10%;width: 80%;height: 16px;z-index: 1000;}.scrollbar .track {position: absolute;left: 1%;width: 98%;height: 16px;filter: alpha(opacity=30);opacity: 0.3;}.scrollbar .arrow-left {position: absolute;}.scrollbar .arrow-right{position: absolute;right: 0px;}.scrollbar .bar{position: absolute;height: 16px;left: 25px;}</style><script type="text/javascript">var info=function(){ function getElementsByClass (object, tag, className) {//根据css类得到对象var o = object.getElementsByTagName(tag);for ( var i = 0, n = o.length, ret = []; i < n; i++)if (o[i].className == className) ret.push(o[i]);if (ret.length == 1) ret = ret[0];return ret;}function addEvent (o, e, f) {// 为对象添加对象if (window.addEventListener) o.addEventListener(e, f, false);else if (window.attachEvent) r = o.attachEvent('on' + e, f);}function scrollbar(divob){ this.obj1= document.getElementById(divob); this.arleft=getElementsByClass(this.obj1,'img','arrow-left'); this.arright=getElementsByClass(this.obj1,'img','arrow-right'); this.bar=getElementsByClass(this.obj1,'img','bar'); this.bar.parent=this; this.oc = document.getElementById(divob); this.ws = this.bar.offsetWidth; this.bw = this.bar.width; this.alw = this.arleft.width - 5;this.alleft=this.arleft.offsetLeft; this.arw = this.arright.width - 5;this.arleft=this.arright.offsetLeft; /* ==== add mouse wheel events ==== */if (window.addEventListener)this.oc.addEventListener('DOMMouseScroll', function(e) {this.parent.scroll(-e.detail);alert("test");}, false);else this.oc.onmousewheel = function () {this.parent.scroll(event.wheelDelta);}/* ==== 拖动滚动条 ==== */this.bar.onmousedown = function (e) {if (!e) e = window.event;var scl = e.screenX - this.offsetLeft;var self = this.parent;/* ---- 移动滚动条 ---- */this.onmousemove = function (e) {if (!e) e = window.event;if(e.screenX - scl<self.alleft+self.alw) this.style.left=self.alleft+self.alw; else if(e.screenX - scl>self.arleft-self.ws+5) this.style.left =self.arleft-self.ws+5; else this.style.left =e.screenX - scl; return false;}/* ---- 释放滚动条 ---- */this.onmouseup = function (e) {this.onmousemove = null;return false;}return false;}} scrollbar.prototype={}return{ create:function(){ var load=function(){ var obj=new scrollbar('show')}; /* ---- 窗体的onload事件 ---- */addEvent(window, 'load', function () { load(); }); }}}();info.create();</script></head><body bgcolor="#030000"><div id="show" class="scrollbar"><img class="track" src="sb.gif" alt=""><img class="arrow-left" src="sl.gif" alt=""><img class="arrow-right" src="sr.gif" alt=""><img class="bar" src="sc.gif" alt=""></div></body></html>效果图:如果有感兴趣的可到我的相册中下载图片
- 一个javascript实现的滚动条
- JavaScript实现简单的广告滚动条
- 实现一个简单的滚动条
- js实现一个自定义的滚动条
- javaScript实现滚动条事件
- zenity 实现一个滚动条
- zenity 实现一个滚动条
- 滚动条的实现;
- 用BasicScrollBarUI实现一个简单的个性化滚动条皮肤
- 关于滚动条控制一个或多个DataGridView的滚动条滚动的实现(VB.net)
- JavaScript实现单条信息向上滚动
- javascript滚动条响应鼠标滑轮的实现上下滚动事件
- 实现Ajax的滚动条
- 页面滚动条的实现
- Javascript实现GridView,表头固定,表体有滚动条可滚动
- javascript + div 做的滚动条
- Javascript 中保持滚动条的位置
- javascript控制滚动条位置的方法
- blue 图
- 数据结构课程设计(图书管理系统)
- 需求变更
- 对AJAX中XMLHttpRequest的封装
- ListView 中的一个低级 BUG
- 一个javascript实现的滚动条
- GridView双击某行弹出一新窗口
- 利用Jquery实现表头固
- 关于OnSuspend的问题
- 加速web网站的方法
- 关于图标文件中隐含的大小格式的用途
- 从黑客角度来阐述如何防御应用层攻击(图)
- Win32多线程下—临界区
- HTC技术学习之旅