js转html实体

方法一:

用的浏览器内部转换器实现转换,方法是动态创建一个容器标签元素,如DIV,将要转换的字符串设置为这个元素的innerText,然后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串。

function HTMLEncode ( input )
{
var converter = document.createElement(“DIV”);
converter.innerText = input;
var output = converter.innerHTML;
converter = null;
return output;
}

当然,还可以用相同的方法实现对字符串的HTMLDecode解码,但有个问题就是紧跟在字符” <“后面的非空字符将连同字符” <“同时显示不出来。当然,对字符串作相应处理是可以解决这个问题的,比如在字符” <“后面加个空格,解码后再去掉就行,这是后话。毕竟,要使用 HTMLDecode方法解码,自然是字符串已经经过HTMLEncode方法编码了,而经过HTMLEncode编码后的字符串,是不可能有字符 ” <“存在的。

function HTMLDecode ( input )
{
var converter = document.createElement(“DIV”);
converter.innerHTML = input;
var output = converter.innerText;
converter = null;
return output;
}
方法二:
<script language=javascript>

function HTMLEnCode(str)
{
var s = “”;
if (str.length == 0) return “”;
s = str.replace(/&/g, “&gt;”);
s = s.replace(/ </g, “&lt;”);
s = s.replace(/>/g, “&gt;”);
s = s.replace(/ /g, “&nbsp;”);
s = s.replace(/\’/g, “‘”);
s = s.replace(/\”/g, “&quot;”);
s = s.replace(/\n/g, ” <br>”);
return s;
}
function HTMLDeCode(str)
{
var s = “”;
if (str.length == 0) return “”;
s = str.replace(/&gt;/g, “&”);
s = s.replace(/&lt;/g, ” <“);
s = s.replace(/&gt;/g, “>”);
s = s.replace(/&nbsp;/g, ” “);
s = s.replace(/’/g, “\'”);
s = s.replace(/&quot;/g, “\””);
s = s.replace(/ <br>/g, “\n”);
return s;
}
</script>

js 浮动广告代码

[code lang=”js”]</p>
<p>function scrollx(p) {<br />
var d = document, dd = d.documentElement, db = d.body, w = window, o = d.getElementById(p.id), ie6 = /msie 6/i.test(navigator.userAgent), timer;<br />
if (o) {<br />
cssPub = &quot;;position:&quot; + (p.f &amp;&amp; !ie6 ? ‘fixed’ : ‘absolute’) + &quot;;&quot; + (p.t != undefined ? ‘top:’ + p.t + ‘px;’ : ‘bottom:0;’);<br />
if (p.r != undefined &amp;&amp; p.l == undefined) {<br />
o.style.cssText += cssPub + (‘right:’ + p.r + ‘px;’);<br />
} else if (p.r == undefined &amp;&amp; p.l != undefined) {<br />
o.style.cssText += cssPub + (‘left:’ + p.l + ‘px;’);<br />
}<br />
if (p.f &amp;&amp; ie6) {<br />
cssTop = ‘;top:expression(documentElement.scrollTop +’ + (p.t == undefined ? dd.clientHeight – o.offsetHeight: p.t) + ‘+ &quot;px&quot; );';<br />
cssRight = ‘;right:expression(documentElement.scrollright + ‘ + (p.r == undefined ? dd.clientWidth – o.offsetWidth : p.r) + ‘ + &quot;px&quot;)';<br />
if (p.r != undefined &amp;&amp; p.l == undefined) {<br />
o.style.cssText += cssRight + cssTop;<br />
} else {<br />
o.style.cssText += cssTop;<br />
}<br />
dd.style.cssText += ‘;background-image: url(about:blank);background-attachment:fixed;';<br />
} else {<br />
if (!p.f) {<br />
w.onresize = w.onscroll = function() {<br />
clearInterval(timer);// 清空时间移动<br />
timer = setInterval(function() {<br />
// 双选择为了修复CHROME 下XHTML解析时dd.scrollTop为 0<br />
var st = (dd.scrollTop || db.scrollTop), c;<br />
c = st – o.offsetTop + (p.t != undefined ? p.t : (w.innerHeight || dd.clientHeight) – o.offsetHeight);<br />
if (c != 0) {<br />
o.style.top = o.offsetTop + Math.ceil(Math.abs(c) / 10) * (c &lt; 0 ? -1 : 1) + ‘px';<br />
} else {<br />
clearInterval(timer);// 清空时间移动<br />
}<br />
}, 10);<br />
};<br />
}<br />
}<br />
}<br />
}<br />
/*<br />
scrollx参数说明<br />
调用时传的是个对象<br />
id:浮动对象的id<br />
r:右边距(窗口右边距,不写为靠左浮动)<br />
l:左边距(窗口左边距) &quot;r&quot;和&quot;l&quot;只能有其中一个参数<br />
t:上边距(默认贴着底边,0是贴着顶边)<br />
f:1表示固定(不写或者0表示滚动)<br />
*/<br />
scrollx({<br />
id : ‘loginForm’,<br />
l : div_x,<br />
t : div_y,<br />
f : 0<br />
});</p>
<p>//相对父级相定固定<br />
scrollx({<br />
id : ‘cover’,<br />
l : 0,<br />
t : 0,<br />
f : 1<br />
});</p>
<p>[/code]

可打印js对象和数组的函数

在调试js代码的时候有时候需要打印js的数组或者对象,我们可以使用下面的这个插件,先再页面上加载这个插件,然后直接调用jsdebug()这个函数就可以看到你的数组数据了,

下载地址:jsdebug

js中setInterval与setTimeout用法

setTimeout

 定义和用法: setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式。  
    语法:setTimeout(code,millisec)   
    参数:   
    code (必需):要调用的函数后要执行的 JavaScript 代码串。   
    millisec(必需):在执行代码前需等待的毫秒数。  
    提示:setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

setInterval定义和用法

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

语法

setInterval(code,millisec[,"lang"])
参数 描述
code 必需。要调用的函数或要执行的代码串。
millisec 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。

返回值

一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。

js特殊字符转义

点的转义:. ==> \\u002E
美元符号的转义:$ ==> \\u0024
乘方符号的转义:^ ==> \\u005E
左大括号的转义:{ ==> \\u007B
左方括号的转义:[ ==> \\u005B
左圆括号的转义:( ==> \\u0028
竖线的转义:| ==> \\u007C

右方括号转义:] ==> \\u005D
右圆括号的转义:) ==> \\u0029

星号的转义:* ==> \\u002A
加号的转义:+ ==> \\u002B
问号的转义:? ==> \\u003F
反斜杠的转义:\ ==> \\u005C