首页
网站首页
公司简介
资讯中心
推荐内容
返回顶部
全屏显示页面元素的方法_javascript技巧_脚本之家,js中的异常处理try
发布时间:2019-12-29 03:56
浏览次数:

复制代码 代码如下:

在JavaScript可以使用try...catch来进行异常处理。例如: 复制代码 代码如下: try { foo.bar { alert(e.name

一种最简单的方式,就是动态改变你想要全屏显示的部件的style,例如position变成absolute,height和width都设置成窗口大小,并且把背景颜色改成全白。这样网页上就只能看到你要突出的部件了,视觉上就等同于全屏。同时利用javascript监听键盘事件,一旦用户按了ESc退出键,就恢复原来的样子。部分代码如下:

下边我就简单说一下过程和原理。第一步:实现一个匿名函数并能自己执行。复制代码 代码如下: 这个函数在一样编的好的JS代码中经常会见到,起到闭包,自动执行的效果,在函数后加一对包起来,这样才能为宿主理解,里面的function(){}这就是个匿名函数。第二步:实现动画,以改变一个box的秀明度来说明。id为animation的div复制代码 代码如下:

JS中split的用法

  • ": " + e.message);} 目前我们可能得到的系统异常主要包含以下6种: EvalError: raised when an error occurs executing code in eval() RangeError: raised when a numeric variable or parameter is outside of its valid range ReferenceError: raised when de-referencing an invalid reference SyntaxError: raised when a syntax error occurs while parsing code in eval() TypeError: raised when a variable or parameter is not a valid type URIError: raised when encodeURI are passed invalid parameters 上面的六种异常对象都继承自Error对象。他们都支持以下两种构造方法: new Error; 手工抛出异常的方法如下: 复制代码 代码如下: try { throw new Error;} catch { alert(e.name + ": " + e.message);} 如要判断异常信息的类型,可在catch中进行判断: 复制代码 代码如下: try { foo.bar { if (e instanceof EvalError) { alert(e.name + ":" + e.message); } else if (e instanceof RangeError) { alert(e.name + ": " + e.message); } // etc } Error具有下面一些主要属性: description: 错误描述 . fileName: 出错的文件名 . lineNumber: 出错的行数 . message: 错误信息 name: 错误类型. number: 错误代码 . stack: 像Java中的Stack Trace一样的错误堆栈信息 . 因此为了更好的了解错误信息我们可以将catch部分改为如下形式: 复制代码 代码如下: try { foo.bar { if (browserType != BROWSER_IE) { alert("name: " + e.name + "message: " + e.message + "lineNumber: " + e.lineNumber + "fileName: " + e.fileName + "stack: " + e.stack); } else { alert("name: " + e.name +"errorNumber: "
    • "message: " + e.message"); } } JavaScript中的throw命令事实上可以抛出任何对象,并且我们可以在catch接受到此对象。例如: 复制代码 代码如下: try { throw new Date(); // 抛出当前时间对象 } catch { alert; // 使用本地格式显示当前时间 }

复制代码 代码如下:document.onkeydown = function { var e = event || window.event || arguments.callee.caller.arguments[0]; if { //ESC键 $.fadeIn; var maintable = document.getElementById; maintable.style.position = "relative"; maintable.style.height = "100%"; maintable.style.width = "100%"; maintable = document.getElementById; maintable.style.height = "100%"; maintable.style.width = "100%"; maintable.style.left = 0 + "px"; maintable.style.top = 0 + "px"; resizePlots(); } };

要实现animation的透明渐变,需要不断改变其透明度opacity,我们这样实现复制代码 代码如下:for{ setTimeout{ return function; } }) } 下面我们来解释一下这段代码,这段代码比较复杂和难于理解,所以刚开始不明白也没事,慢慢就懂了,首先解释一下setTimeout在此处的用法复制代码 代码如下:setTimeout,i*100) setTimeout第一个参数为要执行的函数,第二个参数为时间参数,意为多久后开始执行而js没有块的概念,作用域范围是以函数为准的,所以我们这里使用的闭包,实现原理如下:复制代码 代码如下:{ return function 这校才可以执行for循环,达到我们想要的结果,如果我们不使用闭包,代码会如下:复制代码 代码如下:for{ setTimeout{ someAnimation } 这样的for循环只会执行一次,即i=9时,感兴趣的同学可以自己试试到目前为止,整个代码是这个样子滴复制代码 代码如下:{ function someAnimation{ document.getElementById.style.opacity=args; } for{ setTimeout{ return function; } }) 这样实现了id为animation的box透明度从0到1的一次变化。第三步,实现不停地变化,我们用setInterval来实现setInterval也是两个参数,第一个是要执行的函数,第二个是执行间隔时间至此代码如下:复制代码 代码如下:{ function someAnimation{ document.getElementById.style.opacity=args; } setInterval{ for{ setTimeout{ return function; } }) } },2000); })() 下次我会实现这个代码的面向对象化设计和出一些具体的实现方案,方便学习使用。全部代码如下复制代码 代码如下:

复制代码 代码如下:

fullScreenClick: function () {

友情链接: 网站地图
Copyright © 2015-2019 http://www.nflfreepicks.net. 新葡萄京娱乐场网址有限公司 版权所有