我们都在学习,并且一直都在成为更好的网页设计师和开发者。 至少我希望我们是这样,这就是这个网站的意义所在! 不时地回顾一下,确保我们已经尽力做到最好、最聪明,这始终是个好主意。 如果时间很长,很有可能有一些事情可以做得更好。 以下是我最近更新的一些示例。
Digg 头部
在 Christian Gorbach 的帮助下,我能够改进 Digg 头部示例 中下拉菜单的 jQuery。 以前,下拉菜单是通过切换构成该菜单的无序列表的 display 值来激活的。 此外,它依赖于这些菜单中的每一个都有一个唯一的 ID。 jQuery 能够比这要智能得多,以下是我们现在的方法
<script type="text/javascript">
$(document).ready(function(){
$("#zone-bar li em").click(function() {
var hidden = $(this).parents("li").children("ul").is(":hidden");
$("#zone-bar>ul>li>ul").hide()
$("#zone-bar>ul>li>a").removeClass();
if (hidden) {
$(this)
.parents("li").children("ul").toggle()
.parents("li").children("a").addClass("zoneCur");
}
});
});
</script>
除了代码更短、更灵活之外,它还具有更多功能。 现在,当另一个菜单打开时,菜单将关闭。 用 Christian 的话说,它在切换发生之前“保留了菜单的状态”。 此外,当前菜单突出显示现在通过应用类来完成,以便即使在鼠标移开时它也可以保持突出显示。 太酷了。
照片揭示器
沿着同样的思路,我对 照片揭示滑块 做了一些改进。 在这个新版本中,不再将任何变量硬编码到 javascript 中,它们都是从标记中图像的大小动态获取的。 您要添加的每张照片现在看起来都像这样
<td><div class="photo_slider">
<img src="images/baloon.jpg"/>
<div class="info_area">
<h3>Climbing Mt. Hood</h3>
<p><em>By: <a href="http://flickr.com/photos/kevinomara/">Brother O'Mara</a></em></p>
</div>
</div></td>
这可以(并且将)变得更加智能。 现在,您可以看到主 DIV 再次被一个表格单元格包裹,这是因为带有一行的表格是防止任何换行的简单方法,因此图片行只会水平扩展。 这个表格和单元格可以直接从 jQuery 应用,而无需在标记中直接编码,只是还没有做到这一点。 衷心感谢 Benjamin Sterling 对此项目的耐心和帮助。 Firefox 在第一次页面加载时仍然对获取图像尺寸很糟糕……
精彩画廊综述
自从我第一次创建 精彩网站设计画廊综述 以来,出现了一些新的网站画廊。 添加了许多新网站。 有几个人发来请求,要求添加网站。 我很乐意这样做,以确保它仍然是这些类型网站的有用参考。
菜单淡入淡出
Romain Sauvaire 帮助我找到了一种处理 “菜单淡入淡出”示例 的好方法。 在这个新的更智能的版本中,脚本不再硬编码单击按钮时淡入淡出的按钮和内容区域,而是首先检查按钮是否已经淡出。 如果是,它会淡入并根据其 ID 揭示相应的内容区域(其中有一些额外的智能)。 如果不是,它什么也不做,因此不会浪费任何循环。
嘿,菜单淡入淡出的更新真的很酷。 它加载速度非常快,并且节省了编写之前所有代码的工作。 我唯一注意到的是,它似乎让内容淡入了一些。 这是故意的,还是 jQuery 中发生了变化?
了解如何设置它,以便内容不淡入淡出,会很棒
Benn
再次回来。 刚刚注意到,内容在第一次显示时是透明的,而不是淡出。 但一旦你点击其中一个菜单链接,内容就会保持淡出状态?
Benn
嘿 Benn,
要修复此问题,请将 jQuery 底部的这一行
$clicked.siblings().animate({
更改为
$clicked.siblings(“.button”).animate({
太棒了,有效!
太棒了,那个人
Benn
哇,我发现另一个小错误。 我正在使用 iframe 用于联系表单,就像你最初的示例那样,Chris。 当加载此菜单链接时,iframe 似乎闪烁,然后当你转到另一个链接时再次闪烁。
这是因为 jQuery 没有直接引用同一页面上的内容吗? 在最初的 jQuery 代码中,这种情况以前没有发生过
菜单淡入淡出的有趣 CSS 变体:http://www.3point7designs.com/web-design2.html
http://www.3point7designs.com/blog/2007/12/22/advanced-css-menu-trick/
演示(水平菜单):http://www.3point7designs.com/web-design2.html
注意:正如评论中所述,这里缺少一个左括号
#home.active { background: url../images/navigation/home.gif) -103px 0;
嗨 Chris,
抱歉,下拉菜单修复不起作用。 下拉菜单仍然保持打开状态!
此致,
Tobi
照片揭示滑块很酷! 但是你需要滑动很多才能看到其他图像..
我更喜欢 LightBox.. 或者类似的东西..
哇! 我是第二个投票的人!:D
jQuery!! 和 Mootools 太棒了!:D
Digg 示例对我来说效果不佳。 如果我点击菜单下拉箭头,然后点击菜单以外的内容,比如内容,菜单框不会消失,而是会保留在那里。 有时,如果我点击内容 3-4 次,下拉菜单可能会消失,但即使那样也不总是消失。
Digg 的网站在我点击菜单以外的内容时会消失。
@Michael:是的,你说得对。 我不知道如何修复它。 我自己也正在学习 jQuery。 如果你知道如何解决它,请告诉我,我会更新示例。
我真的很喜欢照片揭示滑块 - 绝对是 Mootools 的粉丝。