> 呵呵 O(∩_∩)O,小邪最近在玩鼠标事件来着,所以介绍一些不同的 CSS 和 jQuery 下拉菜单。
> 话说 jQuery 的效果真的很酷,很让人喜欢。期待 CSS 的动画模块早日被主流浏览器支持。

> 平滑移动是很舒服的效果,但移动需要时间,若需要频繁使用下拉菜单,也许不是最好的选择。
> P.s. 最近想做的事情好多喔,想学 PHP、AJAX,还想学 jQuery。杯具的是时间不够 ╮(╯▽╰)╭。
1. CSS Visibility 属性:
> 这个属性在下面的普通 CSS 下拉菜单里有用到,所以先了解一下。

2. 普通的 CSS 下拉菜单:
> 一般的 CSS 下拉菜单是灰常简单的,只是用了 Hover 伪类而已。
> 此伪类的作用是,当鼠标悬浮在元素上方时,向元素添加样式,移开就移除样式。
> 呵呵,代码我就不贴了,需要的都在这个页面里面,查看源代码就好。
> 话说,这个纯 CSS 下拉菜单就不要使用 IE6 浏览器了,不然会很杯具的。

> Demo 传送门 - Http://tool.evlos.org/demo/css_simple_menu
3. 普通的 JS 下拉菜单:
> 呵呵,其实这里只是比上面多了下面的一行 CSS 和 JavaScript 代码。让 IE6 不那么杯具而已。
#menu li.jshover ul { left:auto; }
<script type=text/javascript>
<!--
function menuFix() {
var sfEls = document.getElementById("menu").getElementsByTagName("li");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=(this.className.length>0? " ": "") + "jshover";
}
sfEls[i].onMouseDown=function() {
this.className+=(this.className.length>0? " ": "") + "jshover";
}
sfEls[i].onMouseUp=function() {
this.className+=(this.className.length>0? " ": "") + "jshover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp("( ?|^)jshover\\b"),
"");
}
}
}
window.onload=menuFix;
//-->
</script>

> Demo 传送门 - Http://tool.evlos.org/demo/js_simple_menu
4. jQuery 淡入淡出下拉菜单:
> 注意!!jQuery 的动画效果中效果名称的大小写灰常重要,错误则会导致效果无效。
> 注意!!如果出现非 IE8 浏览器出现不居中的位移,请加入这个属性 -Webkit-padding-start:0px。
> 好吧,这次在 IE6 里面虽然没有那么杯具,但是淡入淡出效果还是蛮杯具的。

<script type="text/javascript">
$(document).ready(function() {
$('#menu ul').addClass('children');
var f1 = function() {
$(this).children('ul').fadeIn();
};
var f2 = function() {
$(this).children('ul').fadeOut();
};
$('#menu li').hover(f1, f2);
});
</script>
> Demo 传送门 - Http://tool.evlos.org/demo/jquery_fade_menu
5. jQuery 无限级下拉菜单:
> 灰常方便的无限级下拉菜单,有淡入淡出的效果,虽然淡入淡出在 IE6 里是杯具的。
> 顺便在有子菜单的父菜单右边加了一条 3px 的边表示它还有下级。

<script type="text/javascript">
$(document).ready(function() {
$('#menu ul').addClass('children');
$('#menu .children').prev('a').addClass('notice');
var f1 = function() {
$(this).children('ul').fadeIn();
};
var f2 = function() {
$(this).children('ul').fadeOut();
};
$('#menu li').hover(f1, f2);
});
</script>
> 不过可以去除淡入淡出,改为出现和消失,就没有问题啦 O(∩_∩)O,嘿嘿。
<script type="text/javascript">
$(document).ready(function() {
$('#menu ul').addClass('children');
$('#menu .children').prev('a').addClass('notice');
var f1 = function() {
$(this).children('ul').show();
};
var f2 = function() {
$(this).children('ul').hide();
};
$('#menu li').hover(f1, f2);
});
</script>
> Demo 传送门 - Http://tool.evlos.org/demo/unlimited_menu
6. 四种下拉菜单打包下载(Update)(jQuery 库的为 Google 托管地址):
> http://code.google.com/p/evlosbox/downloads/detail?name=menu_demo.rar
7. 蛋疼着给几个理论整合了一下:
> 传说派:哥只是个传说,表迷恋哥。
> 寂寞派:哥吃的不是饭,是寂寞。
> 杯具派:杯具啊!
> 整合版:(- _ -)哥不只是个传说,哥还是个带杯具的寂寞 ~!
8. 欢迎来 Follow 我的 Twitter @AngelSolo 。
我的沙发吧 哈哈哈 .
@漠岚 , 嘿嘿,又大又软的沙发,很舒服的 ~ :rolleyes:
有个下载地址就好了
@卢松松 , 呵呵 下载地址光速送上 ~
http://www.evlos.org/global/tool/files/MenuDemo.rar
jQuery 库的地址已换成 Google 托管地址 ~
当然也可以用CSS Play做连级菜单
@ShuaiGe.Me , 杯具了 ~ 我去问下谷歌啥是 CSS play ~
灰常不错。。
@QiQiBoY , 呵呵,多谢 ~
╮(╯▽╰)╭ 你的新主题不错 ~ :biggrin:
我这用的IE8啊,没见有你说的淡入淡出啊,还是没有放门?
@九站 , 汗 失败 忘记说明了 IE8 IE6 什么的都会杯具的 ~
只有 Firefox Safari Chrome Opera 才可以喔 ~
Http://www.evlos.org/global/demo/jQueryFadeMenu
@邪 罗刹,
敢不敢上点家常菜!总整这么深的,把我都整的不知东西南北了。
@九站 , ......... ╮(╯▽╰)╭ 那个 我已经糊涂了 啥算家常菜?
@邪 罗刹,
看你这家伙,定是学傻了。算了,那你还是整你的菜吧,不家常也好,要不我也不会乐意泡在你这了。 :biggrin:
@九站 , 呵呵,乐意就好 O(∩_∩)O ~ :biggrin:
你真的是好能折腾啊
@SATURN , 折腾这玩呗 呵呵 ~
下拉菜单不适合我,我还是喜欢即点即开的!
@619,
呵呵,说的也是,即点即开蛮的确招人喜欢的呢 ~ :biggrin:
所以我也没用上,只是研究下 ~ 所不定什么时候不得不用呢 ~
JQ始终是我的弱项,还是先把CSS学学好去
@万戈 , 呵呵,加油,我支持你喔。 :biggrin:
我的菜单也是下拉的,你去看看是哪一种?
@阿吴 , 呵呵 是 jQuery 滑动效果 ~
我看到你有这个文件了 ~ jqueryslidemenu.js ~ :biggrin:
@邪 罗刹,
哦,你怎么看到这个文件的!
@阿吴 , 呵呵,进入你的博客,然后查看源代码呗 ~
@邪 罗刹,
我晕,你以为你通过什么不正当手段进入的!哈哈
@阿吴 , 汗 ~ 我纠结了 (- -||)~
@阿吴 ,
又打错一个字,明白就可以了
@阿吴 , 呵呵 ~ 了解 ~
周末到处看一看,这里挺好呵呵
@开心凡人 , 呵呵,欢迎来坐坐 ~ :redface:
以前只用flash制作过,不过上面的代码跟flash as2.0非常相似!
@追忆永恒 , ( ⊙o⊙ )哇喔 ~ Flash强人 ~
订阅你来看看 那小狗挺不错的哈哈 ~ :biggrin:
jQuery真的很好,我十分喜欢它的那个层滑动效果,就是那个"slideToggle"的效果,看起来真舒服,在用户体验上,比display好多了,很多知名网站都用它,例如GoDaddy.
@记忆盒子 , 呵呵 ~ 的确很强大 ~
SlideToggle 在需要聚焦阅读之类的地方 很不错 ~
如果那些缩着的区域打开时才开始载入数据,就完美了 ~ :biggrin:
我发现jQuery 淡入淡出下拉菜单
鼠标在上面快速移动几下然后移开,它还是在那里淡入淡出淡入淡出播放完了 O(∩_∩)O哈哈~
@疾风 , 嘿嘿 jQuery 菜单傻傻的 ~ :biggrin:
我都不知道我的导航栏下拉菜单算是什么性质的。网上找的代码
@胡一刀 , 唔 貌似是普通的 JS 下拉菜单 ~
话说你的下拉菜单在 IE6 里是杯具的 ~
@邪 罗刹,
好吧…… ╮(╯-╰)╭ 到时候研究下你的~
@胡一刀 , 呵呵,随意咯,IE6 我们也太纵容它了 ~ ╮(╯▽╰)╭ ~
强悍的设计,收藏了。
@美容护肤 , 呵呵 谢谢支持 ~ :biggrin:
我的分类少,所以没有考虑
@先看看 , 呵呵,话说我的分类也是没啥意义的 ~
提示下: 我在chrome下 发现你的顶部导航有问题哦 部分连接失效。。。
@Roam,
偶偶 知道问题所在了 圣诞老人的层 挡住了一些链接。。。。 。。。。
@Roam , 呵呵,是的,小小的杯具了一下 ~ :redface:
就换圣诞风格了。。呵呵~
@老七 , 恩 突发奇想了一下 ~
订阅你一下 ~
呵呵 刚才去的时候看到蛮经典的图了 ~
@邪 罗刹,
哈哈 互订互订~
@老七 , 嘿嘿,蛮好的 ~ :biggrin:
高手中的高高手! :rolleyes:
@北街 , 汗 呵呵 还好啦 ~ Linux大湿太谦虚了 ~ 我还在努力中喔 ~ :redface:
要是我有小邪的这份执着,感觉就不会像现在这样无语的活着了。。。
@Sawyer , ╮(╯▽╰)╭ 执着 - - ,生活也无奈的啊 ~
你看我这么喜欢这些,我的专业却选了金融 ~