日期:2014-05-16  浏览次数:20421 次

js实现菜单展开和收缩,兼容多种浏览器【原创】

菜单从上到下排列,要在上下实现展开和收缩,思路如下:

用递归setInterval函数来改变可见度和高度,从而实现润滑出现的效果,最终目的,是动态的改变其高度!

setinterval函数里面递归的调用改变高度的另一个函数,每一次改变一点高度,然后根据时间间隔的设置,就可以模拟出展开和收缩快或慢的效果,连起来,就像是滑动一样。

以下是用到的几个函数的说明:

setTimeout(表达式,延时时间)
在执行时,是在载入后延迟指定时间后,去执行一次表达式,记住,次数是一次 。setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
提示:setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。


clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout。clearTimeout(id_of_settimeout)
setTimeout() 返回的 ID 值。该值标识要取消的延迟执行代码块

setInterval(表达式,交互时间) 则不一样,它从载入后,每隔指定的时间就执行一次表达式

clearInterval() 方法可取消由 setInterval() 设置的 timeout。
clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值。

关于css样式表里面的收获:*{ 样式内容}

在样式文件里面看到有这样的样式命名~
*{ }
这是表示所有元素都遵循花括号里的样式,很占资源的.
里面是不是margin:0;padding:0.
因为不同浏览器对各个元素的margin,padding默认值不一样
使下面的样式更好写一些
类似于兼容的效果

?