事件系统是一个框架非常重要的部分,用于响应用户的各种行为。 浏览器提供了3个层次的api,用于响应用户的各种行为。 1.最原始的是写在元素标签内。 2.再次是脚本内,以el.onXXX = function绑定的方式,统称为DOM0事件系统。 3.最后是多投事件系统,一个元素的同一类型事件可以绑定多个回调,统常称为DOM2事件系统。 由于浏览器大战,现存两套API。 IE与opera: 绑定事件:
写在本章内容前: 第十五章:事件处理 涉及到到较多的文字篇幅,介于个人精力问题,暂不更新。主要包含的内容有事件类型、注册事件处理程序、事件处理程序的调用、文档加载事件、鼠标事件、鼠标滚轮事件、拖放事件、文本事件、键盘事件等9块内容。感兴趣的朋友可以留言传内容PDF。如果不着急的话,后期可能更新。敬请关注。 超文本传输协议(HTTP)规定web浏览器如何从web服务器获取文档和向web服务器发送表
CSS(层叠样式表)是一种指定HTML文档视觉的表现的标准。CSS本来是让视觉设计师来使用的:它允许设计师精确的对文档元素的字体 ,颜色,外边距,缩进,边框甚至是定位。不过,客户端javascript程序员对CSS感兴趣的是因为样式可以通过脚本编程。校本化css启用了一系列有趣的视觉效果。例如:可以创建动画让文档从右侧“滑入”;也能创建一个轮廓伸缩的列表。在利民用户自己控制显示的信息量。首次推出校
十七、在画布上绘图 绘图就是欺骗。 M.C. Escher,由 Bruno Ernst 在《The Magic Mirror of M.C. Escher》中引用 浏览器为我们提供了多种绘图方式。最简单的方式是用样式来规定普通 DOM 对象的位置和颜色。就像在上一章中那个游戏展示的,我们可以使用这种方式实现很多功能。我们可以为节点添加半透明的背景图片,来获得我们希望的节点外观。我们也可以使用tra
所有现实都是游戏。 Iain Banks,《The Player of Games》 我最初对电脑的痴迷,就像许多小孩一样,与电脑游戏有关。我沉迷在那个计算机所模拟出的小小世界中,我可以操纵这个世界,我同时也沉迷在那些尚未展开的故事之中。但我沉迷其中并不是因为游戏实际描述的故事,而是因为我可以充分发挥我的想象力,去构思故事的发展。 我并不希望任何人把编写游戏作为自己的事业。就像音乐产业中,那些希望
十四、文档对象模型 Too bad! Same old story! Once you've finished building your house you notice you've accidentally learned something that you really should have known—before you started. Friedrich Nietzsche,《
击球手击出垒球,你会开始预测球的轨迹并立即开始奔跑。你追踪着它,不断调整你的移动步伐,最终在观众的一片雷鸣声中抓到它。无论是在听完朋友的话语还是早餐时预测咖啡的味道,你时刻在做的事就是在预测未来。在本章中,我们将讨论循环神经网络 -- 一类预测未来的网络(当然,是到目前为止)。它们可以分析时间序列数据,诸如股票价格,并告诉你什么时候买入和卖出。在自动驾驶系统中,他们可以预测行车轨迹,避免发生交通意
在本章中,我展示了上一个练习的解决方案。然后,你将编写代码来组合多个搜索结果,并按照它与检索词的相关性进行排序。 16.1 爬虫的答案 首先,我们来解决上一个练习。我提供了一个WikiCrawler的大纲;你的工作是填写crawl。作为一个提醒,这里是WikiCrawler类中的字段: public class WikiCrawler { // keeps track of where w
最近邻分类方法的动机是这样的,个体可能像最近的邻居。 从另一个角度来看,我们可以说一个类别的个体不像另一个类别中的个体。 机器学习为我们提供了一种有力的方法来发现这种相似性的缺乏,并将其用于分类。 它揭示了一种模式,通过一次检查一两个属性,我们不一定能发现它。 但是,我们可以从属性中学到很多东西。 为了了解它,我们将比较两个类中的属性分布。 让我们来看看 Brittany Wenger 的乳腺癌数
当我们在计算环境光照的时候,唯一的要考虑的因素是光照强度;之后当我们计算到漫反射光照的时候,我们将光照的方向因素考虑进去了。镜面反射光包含这些因素,并且增加一个新的因素——观察者位置。这样做的原因是当光线以某一角度照射到一个平面上时,他会以相同的角度反射出去(在法线的另一边)。如果观察者刚好位于这条反射光线的线路上,那么他接受到的光照强度将大于远离这条线路的观察者。 镜面反射光的效果就是当观察者以
环境光和漫反射光的主要不同是,漫反射光的计算需要依靠光线方向而环境光完全忽略了它!当只有环境光时整个场景被均等照亮,漫反射光会使物体面对光的部分比背对光的部分更加明亮。 此外漫反射光还增加了一些新的计算,光线的入射角决定了表面的亮度。通过下面的图片来演示这个概念: 让我们假设两条光线的强度是一样的,而唯一不一样的是它们入射的方向。在漫反射光照模型中,左边物体的表面比右边亮,因为左边的表面相比右边的
在前几章中我们学习了一些变换,通过它们我们能将3D世界中的物体灵活的变换到任意位置。之后我们还要学习两个变换(相机控制和透视投影),但是正如你可能已经猜到的,我们需要一个变换的组合。在很多情况下,你需要缩放物体以适应你的 3D 世界的尺寸,将其旋转到需要的方向,平移到某处等等。直到现在,我们每次都只能使用一个单一的变换。为了实现上述一系列的变换,我们需要用顶点坐标与第一个变换矩阵相乘,然后将前面的
到目前为止,本书介绍过的内容都是和解释器自带的数据结构打交道。我们的程序与外部的交互只是通过input、raw_input和print函数,与外部的交互很少。本章将更进一步,让程序能接触更多领域:文件和流。本章介绍的函数和对象可以让你在程序调用时存储数据,并且可以处理来自其他程序的数据。 11.1 打开文件 open函数用来打开文件,语法如下: open(name[, mode[, bufferi
之前看乙醇视频中提到,selenium 的ruby 实现有一个小后门,在代码中加上$DEBUG=1 ,再运行脚本的过程中,就可以看到客户端请求的信息与服务器端返回的数据;觉得这个功能很强大,可以帮助理解webdriver的运行原理。 后来查了半天,python并没有提供这样一个方便的后门,不过我们可以通过代理的方式获得这些交互信息; 一、需要安装java 虚拟机与selenium-server-s
学习unittest 很好的一个切入点就是从selenium IDE 录制导出脚本。相信不少新手学习selenium 也是从IED 开始的。 IDE学习参考: 菜鸟学自动化测试(一)--selenium IDE 借助IED 录制脚本 将脚本导出,保存为baidu.py ,通过python IDLE编辑器打开。如下: from selenium import webdriverfrom seleni