易截截图软件、单文件、免安装、纯绿色、仅160KB

好几天没想通的一个JavaScript菜单,SOS

http://snook.ca/technical/jquery-bg/


大家看这个例子:
Example A: Top down

菜单的蓝色由上向下滑动,鼠标离开时再滑动还原。原来这个菜单是用的是Jquery+插件做的!
这个菜单的原理很简单:就是控制了菜单的背景图片上下移动,所以看到这种效果!



我想用JavaScript写个但是遇到麻烦事了,高分求个思路!

以下是一些代码 实现背景的移动!
JScript code:


var position =obj.style.backgroundPosition.replace(/px/g," ");//菜单对象
xy = position.split(" ");
x = xy[0];
y = xy[2];
y = parseInt(y);
y=y+5;//让菜单的背景的TOP值+5
obj.style.backgroundPosition= x+"px "+y+"px";//重新给背景图片的Position属性赋值



我使用 window.setInterval 函数实现其不停的移动(向上向下)
JScript code:

window.setInterval(function(){.........})



问题出来了:IE是单线程,比如说:鼠标落在菜单1上,菜单1的背景图片
就要向下移动,这时鼠标离开 菜单1 ,鼠标悬浮到 菜单2 的时候 ,会同时执行 菜单1的向上移动 和菜单2的向下移动(就像多线程那个样子)。
假如鼠标移动的很快可能是 菜单1 菜单2 菜单3 同时移动。


相关问答:

javascript中的两个问题请教,谢谢

1.看到《精通javascript》上说:javascript是完全异步的,那么是不是每条语句都不会执行完,下条语句就开始执行呢,实际上不是这样,也不可能是这样,不然怎么写程序?
2.代码如下,为什么不可行呢:
JScript ......

javascript 脚本出错

在更新面板里注册了一个JavaScript脚本(脚本的作用:滚动显示文字),在程序连续跑30分钟以后,弹出一个错误提示框,错误:未指明的错误 状态吗:0,期待高手和我一起解决。
先帮顶。。。代码呢?

自己也顶下。 ......

JavaScript的一个问题

<script>
with(document)
{
for(var i=0;i <streams.length;i++)
writeln(" <p> <a href=# onclick=change(streams[i].url)>"+streams[i].name+" </a> < ......

javascript中如何写多态

比如方法aa(para1,para2)
我想para2参数用户可以传也可以不传,不传的话就不做处理
如何用javascript实现呢
那个不叫多态,叫做函数重载。

那应该如何实现呢?

js的函数和参数没有关系的。你在函数体中自 ......

一个关于javascript加载的问题

如果我在页面上面引用了一个js包,并且这个js包比较大,需要很长时间加载,在加载包下面有一个调用js包内部功能的脚本,假设,在页面加载到这个调用js包内部功能的脚本除,但此时js包还没加载完毕,那这个脚本调用是 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号