用鼠标控制滚动的菜单条!(JavaScript)

第一步,将下面的代码加<head>与</head>之间

<style>
body{background-color:#FFFFFF}
A{color:Navy; text-decoration:none}
A:hover{color:red}
A:visited:{color:#808080}
TD{font-family:arial,helvetica; font-size:10pt}
#divBg{position:absolute; z-index:10; width:200; left:0; height:100; clip:rect(0,10,10,0)}
#divMenu{position:absolute; left:15; top:6; font-weight:bold}
#divArrowLeft{position:absolute; width:20; height:20; left:0; top:9}
#divArrowRight{position:absolute; width:20; height:20; top:9}
</style><script>

//Simple browsercheck
var n = (document.layers) ? 1:0;
var ie = (document.all) ? 1:0;

//The height of the menu
menuHeight=22

//Width of the arrows
arrowWidth=16

//Scroll speed: (in milliseconds, change this one and the next variable to change the speed)
scrollSpeed=20

//Pixels to scroll per timeout.
scrollPx=10

/**************************************************************************
Scrolling functions
***************************************************************************/
var tim;
var noScroll=true
function mLeft(){
if(!noScroll && oMenu.x<arrowWidth){
oMenu.moveBy(scrollPx,0)
tim=setTimeout("mLeft()",scrollSpeed)
}
}
function mRight(){
if(!noScroll && oMenu.x>-(oMenu.scrollWidth-(pageWidth))-arrowWidth){
oMenu.moveBy(-scrollPx,0)
tim=setTimeout("mRight()",scrollSpeed)
}
}
function noMove(){clearTimeout(tim); noScroll=true}
/**************************************************************************
Object part
***************************************************************************/
function makeObj(obj,nest,num){
nest=(!nest) ? '':'document.'+nest+'.'

this.css=(n) ? eval(nest+'document.'+obj):eval('document.all.'+obj+'.style')
this.evnt=(n)? eval(nest+'document.'+obj):eval(obj);
this.scrollWidth=n?this.css.document.width:this.evnt.offsetWidth
this.x=(n)? this.css.left:this.evnt.offsetLeft; this.y=(n)?
this.css.top:this.evnt.offsetTop;
this.moveBy=b_moveBy; this.moveIt=b_moveIt; this.showIt=b_showIt;this.clipTo=b_clipTo;
return this
}
function b_moveBy(x,y){this.x=this.x+x; this.y=this.y+y; this.css.left=this.x; this.css.top=this.y}
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}
function b_clipTo(t,r,b,l){
if(n){this.css.clip.top=t; this.css.clip.right=r; this.css.clip.bottom=b; this.css.clip.left=l
}else this.css.clip="rect("+t+","+r+","+b+","+l+")";
}
function b_showIt(){this.css.visibility="visible"}
/**************************************************************************
Object part end
***************************************************************************/

/**************************************************************************
Init function. Set the placements of the objects here.
***************************************************************************/
function side_init(){
//Width of the menu, Currently set to the width of the document.
//If you want the menu to be 500px wide for instance, just
//set the the pageWidth=500 in stead.
pageWidth=(n)?innerWidth:document.body.offsetWidth-20;

oBg=new makeObj('divBg')
oMenu=new makeObj('divMenu','divBg')
oArrowRight=new makeObj('divArrowRight','divBg')
//Placement
oBg.moveIt(0,0) //Main div, holds all the other divs.
oMenu.moveIt(arrowWidth,6)
oArrowRight.moveIt(pageWidth-arrowWidth,9)
//setting the width and the visible area of the links.
if(ie){ oBg.css.width=pageWidth; oBg.css.overflow="hidden"}
oBg.clipTo(0,pageWidth,menuHeight,0)
}

//executing the init function on pageload.
onload=side_init;
</script>

第二步:将下面的原代码加入<body>与</body>之间

<div id="divBg">
<div id="divMenu">
<table><tr><td nowrap>
[<a href="#">link 1</a>] ? [<a href="#">link
2</a>] ? [<a href="#">link 3</a>] ? [<a href="#">link
4</a>] ? [<a href="#">link 5</a>] ?
[<a href="#">link 6</a>] ?
[<a href="#">link 7</a>] ?
[<a href="#">link 8</a>] ?
[<a href="#">link 9</a>] ?
[<a href="#">link 10</a>] ?
[<a href="#">link 11</a>] ?
[<a href="#">link 12</a>] ?
[<a href="#">link 13</a>] ?
[<a href="#">link 14</a>] ?
[<a href="#">link 15</a>] ?
[<a href="#">link 16</a>] ?
[<a href="#">link 17</a>] ?
[<a href="#">link 18</a>] ?
[<a href="#">link 19</a>] ?
[<a href="#">link 20</a>] ?
[<a href="#">link 21</a>] ?
[<a href="#">link 22</a>] ?
[<a href="#">link 23</a>] ?
[<a href="#">link 24</a>] ?
[<a href="#">link 25</a>] ?
[<a href="#">link 26</a>] ?
[<a href="#">link 27</a>] ?
[<a href="#">link 28</a>] ?
[<a href="#">link 29</a>] ?
[<a href="#">link 30</a>]
</td></tr></table>
</div>

  <div id="divArrowLeft"><a href="javascript://" ><img src="http://edu.cnzz.cn/NewsInfo/images/013-r.gif" width=16 height=16 border=0></A></div>

  <div id="divArrowRight"><a href="javascript://" ><img src="http://edu.cnzz.cn/NewsInfo/images/013-l.gif" width=16 height=16 border=0></a></div>
</div>

时间: 2025-01-30 03:44:21

用鼠标控制滚动的菜单条!(JavaScript)的相关文章

自己动手制作活动菜单条(组图)

菜单 用QQ聊过天的朋友都对它的自动隐藏窗口功能爱不释手,它可以使窗口显得清爽整洁而且富有动感,笔者的几个朋友都想在自己的网页中加入类似的东东,经过共同摸索发现用Dreamweaer就可以实现这种效果,下面我们通过一个活动菜单条的制作来看看吧. 第1步:制作菜单外貌 在Dreamweaer中新建一个文件,绘制一个层,在该层中插入一个表格(如图1),对该表格进行修饰,然后加入菜单项并建立各项的超链接,为了去掉超链接的下划线,可以编辑超链接的CSS样式,在CSS样式面板中通过CSS选择器将"Link

Dreamweaver中制作活动菜单条效果的方法

  第1步:制作菜单外貌 在Dreamweaer 中新建一个文件,绘制一个层,在该层中插入一个表格(如图1),对该表格进行修饰,然后加入菜单项并建立各项的超链接,为了去掉超链接的下划线,可以编辑超链接的CSS样式,在CSS样式面板中通过CSS选择器将"Link"和"Hover"的"Decoration(装饰)"均设置为 "None(无)",将"Hover"的"Color(颜色)"设置为红

Dreamweaver 如何制作活动菜单条效果

在自己的网页中加一些元素在Dreamweaer 中实现自动隐藏窗口功能效果,具体怎么做呢?大家就和我一起来制作吧 ! 第1步:制作菜单外貌 在Dreamweaer 中新建一个文件,绘制一个层,在该层中插入一个表格(如图1),对该表格进行修饰,然后加入菜单项并建立各项的超链接,为了去掉超链接的下划线,可以编辑 超链接的CSS样式,在CSS样式面板中通过CSS选择器将"Link"和"Hover"的"Decoration(装饰)"均设置为 "

Javascript仿新浪游戏频道鼠标悬停显示子菜单效果_javascript技巧

本文实例讲述了Javascript仿新浪游戏频道鼠标悬停显示子菜单效果,分享给大家供大家参考.具体如下: 这里演示使用JS实现的网页栏目分类菜单,从新浪游戏频道扣下来的,操作方式类似于滑动门的效果,鼠标无需点击,只需把鼠标放在一级主菜单上,就可显示出二级分类菜单,这弹出的这个二级菜单中,实际上又重新进行了分类,可以说整体上,这是一款支持三级分类的网站菜单,目前新浪游戏还在用的效果哦. 先来看运行效果截图: 在线演示地址如下: http://demo.jb51.net/js/2015/js-gam

VBasic鼠标悬浮菜单条是什么事件?

问题描述 VBasic鼠标悬浮菜单条是什么事件? VBasic 6.0 当选择菜单条的时候,怎么动态出框显示命令的提示字,谢谢 解决方案 试试看mousemove事件.

如何用js实现鼠标向上滚动时浮动导航_javascript技巧

为什么会有这个需求呢?有没有发现在国外的一些网站,当你向上滚动时,导航条浮动在顶部位置.用户如果是想看内容就可以直接点击到达,省去很多拖动的时间,当然返回顶部也是比较容易.但有时候返回顶部这个按钮往往被人忽略了.下面一起来看看代码和演示(引入jQuery 1.9). 判断鼠标向上滚动,或者向下滚动,可以通过对比用户的上一次滚动的坐标和下一次的坐标,当上一次小于下一次时,即用户在向下滚动,反之,则说明用户在向上滚动.滚动的坐标值可以取窗口的scrollTop. HTML代码示例 <div id=&qu

js实现的二级横向菜单条实例_javascript技巧

本文实例讲述了js实现的二级横向菜单条.分享给大家供大家参考.具体如下: 这是一款十分清新的多级网页菜单,类似滑动门的操作风格,鼠标放上后,相应的二级菜单会显示出来,我觉得挺漂亮的,适合许多网站使用,不相信么?点击"运行代码"看效果吧. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-2row-nav-menu-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XH

js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)_javascript技巧

本文实例讲述了js实现的鼠标滚轮滚动切换页面效果的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html> <html> <head> <title>wheel</title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <script type=

JS仿淘宝详情页菜单条智能定位效果

类似于淘宝详情页菜单条智能定位 对于每个人来说并不陌生!如下截图所示:红色框的那部分!     列表页定位"> 基本原理:        是用JS侦听滚动事件,当页面的滚动距离(页面滚动的高度)大于或者等于 "对象"(要滚动的对象)距离页面顶部的高度,也就是说滚动的对象与窗口的上边缘接触时,立即将对象定位属性position值改成fixed(固定)(除IE6以外,因为IE6不支持fixed).对于IE6用绝对定位position:absolute,top:就是"