Provide Best Programming Tutorials

HTML 事件属性

全局事件属性 HTML 4 的新特性之一是可以使 HTML 事件触发浏览器中的行为,比方说当用户点击某个 HTML 元素时启动一段 JavaScript。 下面的表格提供了标准的事件属性,可以把它们插入 HTML/XHTML 元素中,以定义事件行为。 New : HTML5新增属性事件。 窗口事件属性(Window Event Attributes) 由窗口触发该事件 (适用于 <body> 标签): 属性值描述onafterprintNewscript在打印文档之后运行脚本onbeforeprintNewscript在文档打印之前运行脚本onbeforeonloadNewscript在文档加载之前运行脚本onblurscript当窗口失去焦点时运行脚本onerrorNewscript当错误发生时运行脚本onfocusscript当窗口获得焦点时运行脚本onhashchangeNewscript当文档改变时运行脚本onloadscript当文档加载时运行脚本onmessageNewscript当触发消息时运行脚本onofflineNewscript当文档离线时运行脚本ononlineNewscript当文档上线时运行脚本onpagehideNewscript当窗口隐藏时运行脚本onpageshowNewscript当窗口可见时运行脚本onpopstateNewscript当窗口历史记录改变时运行脚本onredoNewscript当文档执行再执行操作(redo)时运行脚本onresizeNewscript当调整窗口大小时运行脚本onstorageNewscript当 Web Storage 区域更新时(存储空间中的数据发生变化时)运行脚本onundoNewscript当文档执行撤销时运行脚本onunloadNewscript当用户离开文档时运行脚本 表单事件(Form Events) 表单事件在HTML表单中触发 (适用于所有 HTML…

Continue Reading

HTML 多媒体

Web 上的多媒体指的是音效、音乐、视频和动画。 现代网络浏览器已支持很多多媒体格式。 什么是多媒体? 多媒体来自多种不同的格式。它可以是您听到或看到的任何内容,文字、图片、音乐、音效、录音、电影、动画等等。 在因特网上,您会经常发现嵌入网页中的多媒体元素,现代浏览器已支持多种多媒体格式。 在本教程中,您将了解到不同的多媒体格式,以及如何在您的网页中使用它们。 浏览器支持 第一款因特网浏览器只支持文本,而且即使是对文本的支持也仅限于单一字体和单一颜色。随后诞生了支持颜色、字体和文本样式的浏览器,图片支持也被加入。 不同的浏览器以不同的方式处理对音效、动画和视频的支持。某些元素能够以内联的方式处理,而某些则需要额外的插件。 您将在下面的章节学习更多有关插件的知识。 多媒体格式 多媒体元素(比如视频和音频)存储于媒体文件中。 确定媒体类型的最常用的方法是查看文件扩展名。当浏览器得到文件扩展名 .htm 或 .html 时,它会假定该文件是 HTML 页面。.xml 扩展名指示 XML 文件,而 .css 扩展名指示样式表。图片格式则通过 .gif 或 .jpg 来识别。 多媒体元素元素也拥有带有不同扩展名的文件格式,比如…

Continue Reading

HTML 5 Canvas vs. SVG

Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的。 SVG SVG 是一种使用 XML 描述 2D 图形的语言。 SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。 在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。 Canvas Canvas 通过 JavaScript 来绘制 2D…

Continue Reading

HTML5 新元素

下面列出的 HTML5 的新元素,以及对它们的描述。 新的语义/结构元素 HTML5 提供的新元素可以构建更好的文档结构: 标签描述<article>定义文档内的文章。<aside>定义页面内容之外的内容。<bdi>定义与其他文本不同的文本方向。<details>定义用户可查看或隐藏的额外细节。<dialog>定义对话框或窗口。<figcaption>定义 <figure> 元素的标题。<figure>定义自包含内容,比如图示、图表、照片、代码清单等等。<footer>定义文档或节的页脚。<header>定义文档或节的页眉。<main>定义文档的主内容。<mark>定义重要或强调的内容。<menuitem>定义用户能够从弹出菜单调用的命令/菜单项目。<meter>定义已知范围(尺度)内的标量测量。<nav>定义文档内的导航链接。<progress>定义任务进度。<rp>定义在不支持 ruby 注释的浏览器中显示什么。<rt>定义关于字符的解释/发音(用于东亚字体)。<ruby>定义 ruby 注释(用于东亚字体)。<section>定义文档中的节。<summary>定义 <details> 元素的可见标题。<time>定义日期/时间。<wbr>定义可能的折行(line-break)。 新的表单元素 标签描述<datalist>定义输入控件的预定义选项。<keygen>定义键对生成器字段(用于表单)。<output>定义计算结果。 新的输入类型 新的输入类型新的输入属性colordatedatetimedatetime-localemailmonthnumberrangesearchteltimeurlweekautocompleteautofocusformformactionformenctypeformmethodformnovalidateformtargetheight 和 widthlistmin 和 maxmultiplepattern (regexp)placeholderrequiredstep HTML5 - 新的属性语法 HTML5 允许四种不同的属性语法。 该例演示…

Continue Reading

拆解复杂问题:实现计算器

我们最终要实现的计算器功能如下: 1、输入一个字符串,可以包含+ - * /、数字、括号以及空格,你的算法返回运算结构。 2、要符合运算法则,括号的优先级最高,先乘除后加减。 3、除号是整数除法,无论正负都向 0 取整(5/2=2,-5/2=-2)。 4、可以假定输入的算式一定合法,且计算过程不会出现整型溢出,不会出现除数为 0 的意外情况。 比如输入如下字符串,算法会返回 9: 3 * (2-6 /(3 -7)) 可以看到,这就已经非常接近我们实际生活中使用的计算器了,虽然我们以前肯定都用过计算器,但是如果简单思考一下其算法实现,就会大惊失色: 1、按照常理处理括号,要先计算最内层的括号,然后向外慢慢化简。这个过程我们手算都容易出错,何况写成算法呢! 2、要做到先乘除,后加减,这一点教会小朋友还不算难,但教给计算机恐怕有点困难。 3、要处理空格。我们为了美观,习惯性在数字和运算符之间打个空格,但是计算之中得想办法忽略这些空格。 我记得很多大学数据结构的教材上,在讲栈这种数据结构的时候,应该都会用计算器举例,但是有一说一,讲的真的垃圾,不知道多少未来的计算机科学家就被这种简单的数据结构劝退了。 那么本文就来聊聊怎么实现上述一个功能完备的计算器功能,关键在于层层拆解问题,化整为零,逐个击破,相信这种思维方式能帮大家解决各种复杂问题。 下面就来拆解,从最简单的一个问题开始。 一、字符串转整数 是的,就是这么一个简单的问题,首先告诉我,怎么把一个字符串形式的正整数,转化成 int 型?…

Continue Reading
Close Menu