必威体育下载基督教Heilmann

您当前正在浏览必威体育下载基督教Heilmann三月份的博必威体育简介客档案,2007.

3月份存档,2007

准备去新加坡

周一,3月26日,2007

我现在正在刻录30张cd(8/30现在验证)我的车间DOM在新加坡编写脚本在两天内。

这趟航班20小时后,将持续13小时。然后我有一天的时间来恢复,直到8个powerpoint的代码示例和练习将展示给大约25名课程订阅者。真正可怕的是我不知道我在哪家酒店,但是研讨会的组织者答应从机场接我(这是第一次,我从来没有被接过!

我星期天早上回伦敦,星期三再去在苏格兰高地舞将在爱丁堡停留到周日,很可能和安迪·巴德合住一套公寓。

鉴于我通常只睡5-6个小时,大部分时间都写在笔记本电脑上,我真想知道为什么我要为这么好的公寓付钱:)

确定嵌套HTML列表的深度

周一,3月26日,2007

前几天我遇到了这个问题,我需要知道一个菜单有多少个嵌套级别。经过几次失败的尝试DOM通过大量的比较,我意识到这实际上比我想象的要容易得多:

函数treedepth(o){
var嵌套=o.getElementsByTagname(“ul”);
var allcount=0;
对于(var i=0,j=nested.length;i<;i++){
VaR计数=1;
var kid=嵌套[i].getElementsByTagname('ul')[0];
(孩子){=未定义的){
计数+;
孩子= kid.getElementsByTagName (ul) [0];
}

如果(数> allcount) {allcount =计数;}
}

返回allcount;
}

你可以检查这里是treedepth的测试用例.

有更好的方法吗?

可缩放地图解决方案-在纸上!

周二,3月20日,2007

我对地图一窍不通。我读的时候晕车,当我看着它们,试图预测我会在哪里找到我的东西和解释时,我毫无头绪,通常听起来像是“带着水果去商店左转,然后走到你看到一个蓝色的跳跃,在那儿直走,直到你经过一家投注店……”意思是我不记得街道的名字了。

我更糟糕的是折叠和展开地图。你可以打赌,我迟早不能再折叠一张巨大的地图了,当我打开一张地图时,你会听到撕裂的声音。这一边,在伦敦读地图是一件很痛苦的事,因为一开始你几乎没有足够的个人空间来展开地图。

我的一个朋友给我看了她不久前发明的一个东西,这是一个可折叠可缩放的地图。你只需要选择你感兴趣的部分,然后用两个手指展开,就可以看到一个详细的地图,或者只需要把概述放在手里。再加上伦敦地铁和不同景点的信息,这对于像我这样的探访我和克鲁兹的人来说是一个非常酷的礼物。可惜你还买不到。

请在youtube上观看地图运行的视频

商业用途!=无线电静默

星期天,3月18日,2007

好啊,这是一种咆哮:

人们问我剧本的商业用途是什么,得到答案,甚至不再费心回答?

我有已经出版了约9年的剧本供使用和研究每隔一段时间,我会收到一条评论或电子邮件,遵循特定的模式:

“嘿,克里斯,我真的很喜欢你的脚本xyz,这正是我需要的,也是我正在寻找的。非常感谢您提供这些信息。你摇滚!您在站点和脚本中提到希望收到有关商业用途的通知。我想用你的剧本,有什么条款?”

现在,我的立场如下:

疯狂地使用和学习我的东西,必威体育下载但是当你赚钱的时候,我想看一份至少这是对免费提供这些东西的一种尊重。如果你创建一个网站或内部网,我通常会要求一次性付款,包括在伦敦的一家咖啡馆里买一杯咖啡、一个三明治和一块巧克力蛋糕。如果你销售的产品像CMS我通常要求更高的份额或版税的每一个副本出售(后者从未发生)。如果你的产品是免费的,我什么都不要部落例如,使用我的一些代码)。我记得大约5年前,人们下载了免费的脚本,并花了5美元为它捐款,但这种情况已经停止了。

通常我花5分钟给询问者写一封私人邮件来解释这个问题,你瞧,10封邮件中有9封都没有得到回复。有时甚至查询者的电子邮件也是无效的!这是浪费我宝贵的时间,我真的受够了。

那么人们期待什么呢?我是否应该停止免费发布任何东西,创建一个很酷的网站,用假冒的产品包,并要求250美元的20行JavaScript?这似乎对很多人都适用,我真的感觉到人们想要被利用。

所以无论如何,要求商业使用我的东西,但如果我写信给你,也要回答我。即使是“xx美元!”取悦你,我在XYZ买的比较便宜!”至少告诉我发生了什么事!

不显眼的连接选择框——另一种解决方案

星期六,3月17日,2007

更新第2号:第三个演示允许使用嵌套的ul和radiobuttons预选状态和无限级别。享受。

更新:第二个演示现在允许预选择状态并显示第一个下拉菜单享受。

连接的选择框的界面元素(一个选择框更改另一个选择框中的选项)是Web应用程序设计中最常用也是最烦人的元素之一。虽然它对于任何启用了JavaScript并使用鼠标的人来说都很好用,但对于键盘来说,它可能是一个噩梦(除非您知道可以首先使用alt+光标向下展开整个列表)。

另一个问题是,你让自己依赖于JavaScript,我甚至不想知道屏幕阅读器的实现是什么。

也就是说,它不会消失,人们喜欢它。可怕的是,有几十种JavaScript解决方案可以解决这个问题,几乎所有的解决方案都使您依赖于JavaScript。我过去曾尝试过用例如嵌套的HTML在这篇Alistapart文章中列出.最令我害怕的是一个糟糕的解决方案的演示代码似乎已经在几个“脚本库”网站结束,我收到电子邮件来感谢我的伟大解决方案!

我个人最喜欢的是保持功能独立于鼠标和JavaScript和使用Ajax填充第二个下拉列表如我书中所述,但对于许多Web界面的所有者来说,这太复杂了。

所以今天,对连接选择框的要求再次抬起了它丑陋的头和我尊敬的同事布拉德利莱特自己动手解决这个问题(和这个家伙一起工作真是太棒了——相信我)。他的方法是创建一个包含所有信息的大型下拉列表,然后使用JavaScript将其分块。最初,他尝试在不同的选项上使用类名来连接它们,直到他让我看一看,我喜欢这个想法,但是他提倡使用optgroups(不太为人所知的select子元素)。

所以,非javascript版本的标记如下:



现在,我们需要将其转换为连接的选择框,如下所示:

  • 创建一个新的select元素
  • 遍历所有optgroups并为每个optgroups创建一个新的选择框并隐藏它们
  • 循环每个optgroup的选项集合
  • 选择第一个选项并将其添加到新的主选择元素中
  • 将其他选项移动到与此optgroup连接的选择框中
  • 应用一个onchange处理程序,该处理程序读取主select元素的selectedIndex值并显示具有相同编号的select框,隐藏前一个
  • 对当前显示的选择框应用正确的辅助名称
  • 删除原始选择框
  • 将原始的名称和ID应用于新的主选择框

另一个选项当然是将数据存储在对象中,并在每次第一个选项更改时重新填充辅助选择框。然而,我想避免这种情况以加快速度。

看看这个技巧的例子告诉我你的想法。