<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>最优良人 &#187; js</title>
	<atom:link href="http://www.zui88.com/view-tag/js/feed" rel="self" type="application/rss+xml" />
	<link>http://www.zui88.com/blog</link>
	<description>中山php&#124;最优网络</description>
	<lastBuildDate>Mon, 13 May 2013 04:56:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>JS获取file上传文件路径，后缀，大小，文件名</title>
		<link>http://www.zui88.com/blog/view-394.html</link>
		<comments>http://www.zui88.com/blog/view-394.html#comments</comments>
		<pubDate>Thu, 16 Aug 2012 03:58:23 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=394</guid>
		<description><![CDATA[/** *函数描述：获取input type=file的图像全路径 * @obj input type=file的对象 **/ function getFullPath(obj) { if(obj) { //ie if (window.navigator.userAgent.indexOf("MSIE")&#62;=1) { obj.select(); return document.selection.createRange().text; } //firefox else if(window.navigator.userAgent.indexOf("Firefox")&#62;=1) { if(obj.files) { return obj.files.item(0).getAsDataURL(); } return obj.value; } return obj.value; } } &#160; &#60;input type="file" onchange="document.getElementById('img').src=getFullPath(this);" &#62; &#160; ========================================================================= &#160; &#160; #判断IE还是Firefox function getFullPath(obj) { if(obj) { //ie if (window.navigator.userAgent.indexOf("MSIE")&#62;=1) [...]]]></description>
			<content:encoded><![CDATA[<p>/**<br />
*函数描述：获取input type=file的图像全路径<br />
* @obj  input type=file的对象<br />
**/<br />
function getFullPath(obj)<br />
{<br />
if(obj)<br />
{<br />
//ie<br />
if (window.navigator.userAgent.indexOf("MSIE")&gt;=1)<br />
{<br />
obj.select();<br />
return document.selection.createRange().text;<br />
}<br />
//firefox<br />
else if(window.navigator.userAgent.indexOf("Firefox")&gt;=1)<br />
{<br />
if(obj.files)<br />
{<br />
return obj.files.item(0).getAsDataURL();<br />
}<br />
return obj.value;<br />
}<br />
return obj.value;<br />
}<br />
}</p>
<p>&nbsp;</p>
<p>&lt;input type="file"  onchange="document.getElementById('img').src=getFullPath(this);"  &gt;</p>
<p>&nbsp;</p>
<p>=========================================================================</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>#判断IE还是Firefox</p>
<p>function getFullPath(obj)</p>
<p>{</p>
<p>if(obj)</p>
<p>{</p>
<p>//ie</p>
<p>if (window.navigator.userAgent.indexOf("MSIE")&gt;=1)</p>
<p>{</p>
<p>obj.select();</p>
<p>return document.selection.createRange().text;</p>
<p>}</p>
<p>//firefox</p>
<p>else if(window.navigator.userAgent.indexOf("Firefox")&gt;=1)</p>
<p>{</p>
<p>if(obj.files)</p>
<p>{</p>
<p>return obj.files.item(0).getAsDataURL();</p>
<p>}</p>
<p>return obj.value;</p>
<p>}</p>
<p>return obj.value;</p>
<p>}</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>#判断后缀名</p>
<p>function yulan(){</p>
<p>var filePath =getFullPath(document.getElementById('UpFile'));</p>
<p>var fileText =filePath.substring(filePath.lastIndexOf("."),filePath.length);</p>
<p>var fileName =fileText.toLowerCase();</p>
<p>if  ((fileName!='.jpg')&amp;&amp;(fileName!='.gif')&amp;&amp;(fileName!='.jpeg')&amp;&amp;(fileName!='.png')&amp;&amp;(fileName!='.bmp'))</p>
<p>{</p>
<p>alert("对不起，系统仅支持标准格式的照片，请您调整格式后重新上传，谢谢 ！");</p>
<p>document.form1.UpFile.focus();</p>
<p>}</p>
<p>else</p>
<p>{</p>
<p>document.getElementById("preview").innerHTML="&lt;img  src='"+getFullPath(document.getElementById('UpFile'))+"' width=120  style='border:6px double #ccc'&gt;";</p>
<p>}</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>#判断文件大小</p>
<p>var  Sys = {};</p>
<p>if(navigator.userAgent.indexOf("MSIE")&gt;0) {</p>
<p>Sys.ie=true;</p>
<p>}</p>
<p>if(isFirefox=navigator.userAgent.indexOf("Firefox")&gt;0){</p>
<p>Sys.firefox=true;</p>
<p>}</p>
<p>&nbsp;</p>
<p>var maxLength = 5*1024*1024;</p>
<p>&nbsp;</p>
<p>function checkFileChange(obj) {</p>
<p>var filesize = 0;</p>
<p>if(Sys.firefox){</p>
<p>filesize = obj.files[0].fileSize;</p>
<p>}else if(Sys.ie){</p>
<p>var filePath = obj.value;</p>
<p>var image=new Image();</p>
<p>image.src=filePath;</p>
<p>filesize=image.fileSize;</p>
<p>}</p>
<p>alert(filesize);</p>
<p>}</p>
<p>获取文件名</p>
<p>firefox的input表单的value值默认就可以获取到文件名，而ie 则显示文件路径。</p>
<p>所以要区别对待，在firefox下 lastIndexOf('/')得到的是-1，而在ie下，目录显示的又是反斜杠，\，当然在Linux<br />
下，其他浏览器获取到的又是正斜杠 / （ 暂时未证明有Linux下有浏览器file获取到的值会是全路径）；<img src="http://hiphotos.baidu.com/smallchicken/pic/item/8bd5db8b0060223cc9fc7a07.jpg" alt="" /><br />
得用两次判断：</p>
<p>function getFileName(path){<br />
var pos1 = path.lastIndexOf('/');<br />
var pos2 = path.lastIndexOf('\\');<br />
var pos  = Math.max(pos1, pos2)<br />
if( pos&lt;0 )<br />
return path;<br />
else<br />
return path.substring(pos+1);<br />
}</p>
<p>返回不带后缀的文件名</p>
<p>return name.substring(0,name.lastIndexOf('.'));</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-394.html/feed</wfw:commentRss>
		<slash:comments>184</slash:comments>
		</item>
		<item>
		<title>JS 把字符串转成整数的函数</title>
		<link>http://www.zui88.com/blog/view-390.html</link>
		<comments>http://www.zui88.com/blog/view-390.html#comments</comments>
		<pubDate>Sat, 21 Jul 2012 04:35:35 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=390</guid>
		<description><![CDATA[parseInt()把字符串转成整数 parseFloat()把字符串转成浮点数 js在处理变量的数学运算时一点要注意变量类型的转换 JS 字符串转整数 JS 字符串转整数方法主要有三种转换函数、强制类型 转换、利用js 变量弱类型转换。 1.转换函数： js 提供了parseInt()和parseFloat()两个转换函数。 前者把值转换成整 数，后者把值转换成浮点数。只有对String 类型调用这些方法，这两个函数才 能正确运行；对其他类型返回的都是NaN(Not aNumber)。 在判断字符串是否是数字值前，parseInt()和parseFloat()都会仔细分析 该字符串。 parseInt()方法首先查看位置0 处的字符，判断它是否是个有效数字；如 果不是，该方法将返回NaN，不再继续执行其他操作。但如果该字符是有效数 字，该方法将查看位置1 处的字符，进行同样的测试。这一过程将持续到发现 非有效数字的字符为止，此时 parseInt()将把该字符之前的字符串转换成数字。 例如，如果要把字符串"1234blue"转换成整数，那么parseInt()将返回 1234，因为当它检测到字符b 时，就会停止检测过程。 字符串中包含的数字字面量会被正确转换为数字，因此字符串"0xA"会被正 确转换为数字10。 不过，字符串"22.5"将被转换成22，因为对于整数来说，小数点是无效字 符。 一些示例如下： Js 代码parseInt("1234blue")；//returns 1234parseInt("0xA")； //returns 10parseInt("22.5")；//returns 22parseInt("blue")；//returns NaNparseInt()方法还有基模式，可以把二进制、八进制、十六进制或其他任何 进制的字符串转换成整数。 基是由parseInt()方法的第二个参数指定的，所以要解析十六进制的值， 需如下调用parseInt()方法： Js 代码parseInt("AF",16)；//returns 175 当然，对二进制、八进制， 甚至十进制(默认模式)，都可以这样调用parseInt()方法： Js 代码parseInt("10",2)；//returns 2parseInt("10",8)；//returns 8parseInt("10",10)；//returns 10 如果十进制数包含前导0，那么最好采用 [...]]]></description>
			<content:encoded><![CDATA[<p>parseInt()把字符串转成整数</p>
<p>parseFloat()把字符串转成浮点数</p>
<p>js在处理变量的数学运算时一点要注意变量类型的转换</p>
<p><strong style="color: black; background-color: #ffff66;">JS</strong> 字符串转<strong style="color: black; background-color: #a0ffff;">整数</strong> <strong style="color: black; background-color: #ffff66;">JS</strong> 字符串转<strong style="color: black; background-color: #a0ffff;">整数</strong>方法主要有三种转换函数、强制类型 转换、利用<strong style="color: black; background-color: #ffff66;">js</strong> 变量弱类型转换。</p>
<p>1.转换函数：  <strong style="color: black; background-color: #ffff66;">js</strong> 提供了parseInt()和parseFloat()两个转换函数。</p>
<p>前者把值转换成整 数，后者把值转换成浮点数。只有对String 类型调用这些方法，这两个函数才 能正确运行；对其他类型返回的都是NaN(Not aNumber)。  在判断字符串是否是数字值前，parseInt()和parseFloat()都会仔细分析 该字符串。  parseInt()方法首先查看位置0 处的字符，判断它是否是个有效数字；如 果不是，该方法将返回NaN，不再继续执行其他操作。但如果该字符是有效数 字，该方法将查看位置1 处的字符，进行同样的测试。这一过程将持续到发现 非有效数字的字符为止，此时 parseInt()将把该字符之前的字符串转换成数字。</p>
<p>例如，如果要把字符串"1234blue"转换成<strong style="color: black; background-color: #a0ffff;">整数</strong>，那么parseInt()将返回 1234，因为当它检测到字符b 时，就会停止检测过程。  字符串中包含的数字字面量会被正确转换为数字，因此字符串"0xA"会被正 确转换为数字10。  不过，字符串"22.5"将被转换成22，因为对于<strong style="color: black; background-color: #a0ffff;">整数</strong>来说，小数点是无效字 符。  一些示例如下：  <strong style="color: black; background-color: #ffff66;">Js</strong> 代码parseInt("1234blue")；//returns 1234parseInt("0xA")； //returns 10parseInt("22.5")；//returns 22parseInt("blue")；//returns  NaNparseInt()方法还有基模式，可以把二进制、八进制、十六进制或其他任何 进制的字符串转换成<strong style="color: black; background-color: #a0ffff;">整数</strong>。  基是由parseInt()方法的第二个参数指定的，所以要解析十六进制的值， 需如下调用parseInt()方法：  <strong style="color: black; background-color: #ffff66;">Js</strong> 代码parseInt("AF",16)；//returns 175 当然，对二进制、八进制， 甚至十进制(默认模式)，都可以这样调用parseInt()方法：  <strong style="color: black; background-color: #ffff66;">Js</strong> 代码parseInt("10",2)；//returns 2parseInt("10",8)；//returns  8parseInt("10",10)；//returns 10 如果十进制数包含前导0，那么最好采用 基数10，这样才不会意外地得到八进制的值。</p>
<p>例如：  <strong style="color: black; background-color: #ffff66;">Js</strong> 代码parseInt("010")；//returns 8parseInt("010",8)；//returns  8parseInt("010",10)；//returns 10 在这段代码中，两行代码都把字符串 "010"解析成了一个数字。第一行代码把这个字符串看作八进制的值，解析它的 方式与第二行代码(声明基数为8)相同。最后一行代码声明基数为10，所以 iNum3 最后等于10。  parseFloat()方法与parseInt()方法的处理方式相似，从位置0 开始查看 每个字符，直到找到第一个非有效的字符为止，然后把该字符之前的字符串转 换成数字。</p>
<p>不过，对于这个方法来说，第一个出现的小数点是有效字符。如果有两个 小数点，第二个小数点将被看作无效的，parseFloat()方法会把这个小数点之 前的字符串转换成数字。这意味着字符串"22.34.5"将被解析成22.34。  使用parseFloat()方法的另一不同之处在于，字符串必须以十进制形式表 示浮点数，而不能用八进制形式或十六进制形式。  该方法会忽略前导0，所以八进制数0908 将被解析为908。对于十六进制 数0xA，该方法将返回NaN，因为在浮点数中，x 不是有效字符。  此外，parseFloat()也没有基模式。  下面是使用parseFloat()方法的示例：  <strong style="color: black; background-color: #ffff66;">Js</strong> 代码parseFloat("1234blue")；//returns 1234.0 parseFloat("0xA")； //returns NaNparseFloat("22.5")；//returns 22.5parseFloat("22.34.5")； //returns 22.34parseFloat("0908")；//returns 908parseFloat("blue")； //returns NaN2.强制类型转换  还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型 转换可以访问特定的值，即使它是另一种类型的。</p>
<p>ECMAScript 中可用的3 种强制类型转换如下：  Boolean(value)--把给定的值转换成Boolean 型；Number(value)--把给定 的值转换成数字(可以是<strong style="color: black; background-color: #a0ffff;">整数</strong>或浮点数)；String(value)--把给定的值转换成字 符串。  用这三个函数之一转换值，将创建一个新值，存放由原始值直接转换成的 值。这会造成意想不到的后果。  当要转换的值是至少有一个字符的字符串、非0 数字或对象(下一节将讨论 这一点)时，Boolean()函数将返回true。如果该值是空字符串、数字0、 undefined 或null，它将返回false。  可以用下面的代码段测试Boolean 型的强制类型转换。  <strong style="color: black; background-color: #ffff66;">Js</strong> 代码Boolean("")；//false– empty stringBoolean("hi")；//true–  non-empty stringBoolean(100)；//true– non-zero numberBoolean(null)； //false-nullBoolean(0)；//false-zeroBoolean(new Object())；//true–  objectNumber()的强制类型转换与parseInt()和parseFloat()方法的处理方式 相似，只是它转换的是整个值，而不是部分值。  还记得吗，parseInt()和parseFloat()方法只转换第一个无效字符之前的 字符串，因此"4.5.6"将被转换为"4.5"。  用Number()进行强制类型转换，"4.5.6"将返回NaN，因为整个字符串值不 能转换成数字。  如果字符串值能被完整地转换，Number()将判断是调用parseInt()方法还 是调用parseFloat()方法。  下表说明了对不同的值调用Number()方法会发生的情况：  用法结果  <strong style="color: black; background-color: #ffff66;">Js</strong> 代码 Number(false)0Number(true)1Number(undefined)NaNNumber(null)0Number("5 .5")5.5Number("56")56Number("5.6.7")NaNNumber(new  Object())NaNNumber(100)100 最后一种强制类型转换方法 String()是最简单的， 因为它可把任何值转换成字符串。</p>
<p>要执行这种强制类型转换，只需要调用作为参数传递进来的值的 toString()方法，即把1 转换成"1"，把true 转换成"true"，把false 转换成 "false"，依此类推。  强制转换成字符串和调用toString()方法的唯一不同之处在于，对null 或undefined 值强制类型转换可以生成字符串而不引发错误：  <strong style="color: black; background-color: #ffff66;">Js</strong> 代码var s1=String(null)；//"null"var oNull=null；var  s2=oNull.toString()；//won't work,causes an error3.利用<strong style="color: black; background-color: #ffff66;">js</strong> 变量弱类型 转换  举个小例子，一看，就会明白了。  <strong style="color: black; background-color: #ffff66;">Js</strong> 代码script var str='012.345'；var x=str-0；x=x*1；/script 上例 利用了<strong style="color: black; background-color: #ffff66;">js</strong> 的弱类型的特点，只进行了算术运算，实现了字符串到数字的类型转 换，不过这个方法还是不推荐的。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-390.html/feed</wfw:commentRss>
		<slash:comments>459</slash:comments>
		</item>
		<item>
		<title>文字图片向上滚动的JS代码</title>
		<link>http://www.zui88.com/blog/view-362.html</link>
		<comments>http://www.zui88.com/blog/view-362.html#comments</comments>
		<pubDate>Tue, 29 May 2012 03:38:22 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=362</guid>
		<description><![CDATA[&#60;div id="demo"&#62; &#60;div id="demo1"&#62; &#60;ul&#62; &#60;li&#62; 文字图片内容 &#160; &#60;/li&#62; &#60;/ul&#62; &#60;/div&#62; &#60;div id="demo2"&#62;&#60;/div&#62; &#160; &#60;script type="text/javascript"&#62; var speed=10; var FGDemo=document.getElementById('demo'); var FGDemo1=document.getElementById('demo1'); var FGDemo2=document.getElementById('demo2'); FGDemo2.innerHTML=FGDemo1.innerHTML function Marquee1(){ if(FGDemo2.offsetHeight-FGDemo.scrollTop&#60;=0) FGDemo.scrollTop-=FGDemo1.offsetHeight else{ FGDemo.scrollTop++ } } var MyMar1=setInterval(Marquee1,speed) FGDemo.onmouseover=function() {clearInterval(MyMar1)} FGDemo.onmouseout=function() {MyMar1=setInterval(Marquee1,speed)} &#60;/script&#62; &#60;/div&#62;]]></description>
			<content:encoded><![CDATA[<p>&lt;div id="demo"&gt;<br />
&lt;div id="demo1"&gt;<br />
&lt;ul&gt;</p>
<p>&lt;li&gt;<br />
文字图片内容</p>
<p>&nbsp;</p>
<p>&lt;/li&gt;</p>
<p>&lt;/ul&gt;<br />
&lt;/div&gt;<br />
&lt;div id="demo2"&gt;&lt;/div&gt;</p>
<p>&nbsp;</p>
<p>&lt;script type="text/javascript"&gt;<br />
var speed=10;<br />
var FGDemo=document.getElementById('demo');<br />
var FGDemo1=document.getElementById('demo1');<br />
var FGDemo2=document.getElementById('demo2');<br />
FGDemo2.innerHTML=FGDemo1.innerHTML<br />
function Marquee1(){<br />
if(FGDemo2.offsetHeight-FGDemo.scrollTop&lt;=0)<br />
FGDemo.scrollTop-=FGDemo1.offsetHeight<br />
else{<br />
FGDemo.scrollTop++<br />
}<br />
}<br />
var MyMar1=setInterval(Marquee1,speed)<br />
FGDemo.onmouseover=function() {clearInterval(MyMar1)}<br />
FGDemo.onmouseout=function() {MyMar1=setInterval(Marquee1,speed)}<br />
&lt;/script&gt;</p>
<p>&lt;/div&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-362.html/feed</wfw:commentRss>
		<slash:comments>193</slash:comments>
		</item>
		<item>
		<title>prompt弹出对话框，获取输入的值</title>
		<link>http://www.zui88.com/blog/view-343.html</link>
		<comments>http://www.zui88.com/blog/view-343.html#comments</comments>
		<pubDate>Wed, 07 Mar 2012 03:34:08 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[prompt]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=343</guid>
		<description><![CDATA[定义和用法 prompt() 方法用于显示可提示用户进行输入的对话框。 语法 prompt(text,defaultText) text 可选。要在对话框中显示的纯文本（而不是 HTML 格式的文本）。 defaultText 可选。默认的输入文本。也可以不输入值，如果不输入值，则返回null。 说明 如果用户单击提示框的取消按钮，则返回 null。如果用户单击确认按钮，则返回输入字段当前显示的文本。 　　在用户点击确定按钮或取消按钮把对话框关闭之前，它将阻止用户对浏览器的所有输入。在调用 prompt() 时，将暂停对 JavaScript 代码的执行，在用户作出响应之前，不会执行下一条语句。 以下的代码弹出一个对话框，用户输入密码，然后提交表单 function fn_check( theForm ) { var m = prompt ( "请输入新密码" , "" ) ; if ( m ) { m = trimString(m); if ( m != "" ) { theForm.newftppassword1.value = m; theForm.doftppasswordupdate.value = [...]]]></description>
			<content:encoded><![CDATA[<h2 class="headline-1 first bk-sidecatalog-title"><span class="headline-content">定义和用法</span></h2>
<p>prompt() 方法用于显示可提示用户进行输入的对话框。</p>
<h3 class="headline-2 bk-sidecatalog-title"><a name="1_1"></a><span class="headline-content">语法</span></h3>
<p>prompt(text,defaultText)</p>
<table class="table-view log-set-param">
<tbody>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>text</td>
<td>可选。要在对话框中显示的纯文本（而不是 HTML 格式的文本）。</td>
</tr>
<tr>
<td>defaultText</td>
<td>可选。默认的输入文本。也可以不输入值，如果不输入值，则返回null。</td>
</tr>
</tbody>
</table>
<h3 class="headline-2 bk-sidecatalog-title"><a name="1_2"></a><span class="headline-content">说明</span></h3>
<p>如果用户单击提示框的取消按钮，则返回 null。如果用户单击确认按钮，则返回输入字段当前显示的文本。 　　在用户点击确定按钮或取消按钮把对话框关闭之前，它将阻止用户对浏览器的所有输入。在调用 prompt() 时，将暂停对 JavaScript 代码的执行，在用户作出响应之前，不会执行下一条语句。</p>
<pre id="line152">以下的代码弹出一个对话框，用户输入密码，然后提交表单
 function fn_check( theForm )
  {
	var m = prompt ( "请输入新密码" , "" ) ;
	if ( m )
	{
		m = trimString(m);
		if ( m != "" )
		{
			theForm.newftppassword1.value = m;
			theForm.doftppasswordupdate.value = '1';
			theForm.submit();
			return true;
		}
	}
	return ;
  }
<pre id="line312">&lt;form id="frm_sitedetail" name="frm_sitedetail" action="siteadmin.php" method="POST"&gt;
</pre>
<pre id="line326">		&lt;input type="hidden" name="newftppassword1" value=""&gt;
<pre id="line152">
<pre id="line326">&lt;input type="hidden" name="doftppasswordupdate" value=""&gt;
&lt;/form&gt;</pre>
</pre>
</pre>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-343.html/feed</wfw:commentRss>
		<slash:comments>267</slash:comments>
		</item>
		<item>
		<title>设为首页，加入收藏js代码（兼容ie火狐chrome主流浏览器）</title>
		<link>http://www.zui88.com/blog/view-308.html</link>
		<comments>http://www.zui88.com/blog/view-308.html#comments</comments>
		<pubDate>Fri, 18 Nov 2011 02:05:39 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=308</guid>
		<description><![CDATA[使用时直接调用函数，不需设定网站标题等 &#60;span onclick ='addFav()'&#62; 收藏本站 &#60;/span&#62; &#60;span onclick ='setHomepage()'&#62; 设为首页 &#60;/span&#62; &#60;script type='text/javascript'&#62; function addFav(){ // 加入收藏夹 if (document.all) { window.external.addFavorite(window.location.href, document.title); } else if (window.sidebar) { window.sidebar.addPanel(document.title, window.location.href, ""); } } function setHomepage(){ // 设置首页 if (document.all) { document.body.style.behavior = 'url(#default#homepage)'; document.body.setHomePage(window.location.href); } else if (window.sidebar) { if(window.netscape) { try { netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); } catch [...]]]></description>
			<content:encoded><![CDATA[<p>使用时直接调用函数，不需设定网站标题等</p>
<p>&lt;span onclick ='addFav()'&gt; 收藏本站 &lt;/span&gt;</p>
<p>&lt;span onclick ='setHomepage()'&gt; 设为首页 &lt;/span&gt;</p>
<p>&lt;script type='text/javascript'&gt;<br />
function addFav(){   // 加入收藏夹<br />
if (document.all) {<br />
window.external.addFavorite(window.location.href, document.title);<br />
} else if (window.sidebar) {<br />
window.sidebar.addPanel(document.title, window.location.href, "");<br />
}<br />
}</p>
<p>function setHomepage(){   // 设置首页<br />
if (document.all) {<br />
document.body.style.behavior = 'url(#default#homepage)';<br />
document.body.setHomePage(window.location.href);<br />
} else if (window.sidebar) {<br />
if(window.netscape) {<br />
try {<br />
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');<br />
}<br />
catch (e) {<br />
alert('此操作被浏览器拒绝！\n请在浏览器地址栏输入“about:config”并回车\n然后将 [signed.applets.codebase_principal_support]的值设置为’true’,双击即可。');<br />
}<br />
var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);<br />
prefs.setCharPref('browser.startup.homepage', window.location.href);<br />
}<br />
}<br />
}</p>
<p>&lt;/script&gt;</p>
<p>if (window.sidebar)是判断FF的一种方法，就像判断IE用if (document.all)一样</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-308.html/feed</wfw:commentRss>
		<slash:comments>224</slash:comments>
		</item>
		<item>
		<title>JS判断浏览器是ie6，ie7，ie8还是火狐</title>
		<link>http://www.zui88.com/blog/view-298.html</link>
		<comments>http://www.zui88.com/blog/view-298.html#comments</comments>
		<pubDate>Mon, 17 Oct 2011 06:26:11 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=298</guid>
		<description><![CDATA[function myBrowser(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAgent.indexOf("Opera") &#62; -1; //判断是否Opera浏览器 var isIE = userAgent.indexOf("compatible") &#62; -1 &#38;&#38; userAgent.indexOf("MSIE") &#62; -1 &#38;&#38; !isOpera ; //判断是否IE浏览器 var isFF = userAgent.indexOf("Firefox") &#62; -1 ; //判断是否Firefox浏览器 var isSafari = userAgent.indexOf("Safari") &#62; -1 ; //判断是否Safari浏览器 if(isIE){ var IE5 = IE55 = IE6 = IE7 = IE8 [...]]]></description>
			<content:encoded><![CDATA[<pre class="html" style="font-family: monospace;">function myBrowser(){
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") &gt; -1; //判断是否Opera浏览器
var isIE = userAgent.indexOf("compatible") &gt; -1 &amp;&amp; userAgent.indexOf("MSIE") &gt; -1 &amp;&amp; !isOpera ; //判断是否IE浏览器
var isFF = userAgent.indexOf("Firefox") &gt; -1 ; //判断是否Firefox浏览器
var isSafari = userAgent.indexOf("Safari") &gt; -1 ; //判断是否Safari浏览器

if(isIE){
   var IE5 = IE55 = IE6 = IE7 = IE8 = false;
   var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
   reIE.test(userAgent);
   var fIEVersion = parseFloat(RegExp["$1"]);

   IE55 = fIEVersion == 5.5 ;
   IE6 = fIEVersion == 6.0 ;
   IE7 = fIEVersion == 7.0 ;
   IE8 = fIEVersion == 8.0 ;

   if(IE55){ return "IE55"; }
   if(IE6){ return "IE6"; }
   if(IE7){ return "IE7"; }
   if(IE8){ return "IE8"; }
}//isIE end

if(isFF){ return "FF"; }
if(isOpera){ return "Opera"; }

}//myBrowser() end

//以下是调用上面的函数

if(myBrowser()=="FF"){alert("我是 Firefox");}
if(myBrowser()=="Opera"){alert("我是 Opera");}
if(myBrowser()=="Safari"){alert("我是 Safari");}

if(myBrowser()=="IE55"){alert("我是 IE5.5");}
if(myBrowser()=="IE6"){alert("我是 IE6");}
if(myBrowser()=="IE7"){alert("我是 IE7");}
if(myBrowser()=="IE8"){alert("我是 IE8");}
</pre>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-298.html/feed</wfw:commentRss>
		<slash:comments>212</slash:comments>
		</item>
		<item>
		<title>JS获取屏幕、浏览器、网页的宽度，高度</title>
		<link>http://www.zui88.com/blog/view-279.html</link>
		<comments>http://www.zui88.com/blog/view-279.html#comments</comments>
		<pubDate>Fri, 23 Sep 2011 09:46:35 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=279</guid>
		<description><![CDATA[网页可见区域宽：document.body.clientWidth 网页可见区域高：document.body.clientHeight 网页可见区域宽：document.body.offsetWidth (包括边线的宽) 网页可见区域高：document.body.offsetHeight (包括边线的宽) 网页正文全文宽：document.body.scrollWidth 网页正文全文高：document.body.scrollHeight 网页被卷走的高：document.body.scrollTop 网页被卷走的左：document.body.scrollLeft 网页正文部分上：window.screenTop 网页正文部分左：window.screenLeft 屏幕分辨率的高：window.screen.height 屏幕分辨率的宽：window.screen.width 屏幕可用劳动区高度：window.screen.availHeight 屏幕可用劳动区宽度：window.screen.availWidth HTML正确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight: 获取东西的转动高度。 scrollLeft:设置或获取位于东西左界限和窗口中目前可见内容的最左端之间的间隔 scrollTop:设置或获取位于东西最顶端和窗口中可见内容的最顶端之间的间隔 scrollWidth:获取东西的转动宽度 offsetHeight:获取东西尽对付版面或由父坐标 offsetParent 属指定 的父坐标的高度 offsetLeft:获取东西尽对付版面或由 offsetParent 属指定的父坐标的计算左侧地位 offsetTop:获取东西尽对付版面或由 offsetTop 属指定的父坐标的计算顶端地位 event.clientX 尽对文档的程度座标 event.clientY 尽对文档的笔挺座标 event.offsetX 尽对容器的程度坐标 event.offsetY 尽对容器的笔挺坐标 document.documentElement.scrollTop 笔挺偏向转动的值 event.clientX+document.documentElement.scrollTop 尽对文档的程度座标+笔挺偏向转动的量 IE，FireFox 差别如下： IE6.0、FF1.06+： clientWidth = width + padding clientHeight = height [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: 宋体;">网页可见区域宽：document.body.clientWidth<br />
网页可见区域高：document.body.clientHeight<br />
网页可见区域宽：document.body.offsetWidth  (包括边线的宽)<br />
网页可见区域高：document.body.offsetHeight  (包括边线的宽)<br />
网页正文全文宽：document.body.scrollWidth<br />
网页正文全文高：document.body.scrollHeight<br />
网页被卷走的高：document.body.scrollTop<br />
网页被卷走的左：document.body.scrollLeft<br />
网页正文部分上：window.screenTop<br />
网页正文部分左：window.screenLeft<br />
屏幕分辨率的高：window.screen.height<br />
屏幕分辨率的宽：window.screen.width<br />
屏幕可用劳动区高度：window.screen.availHeight<br />
屏幕可用劳动区宽度：window.screen.availWidth</span></p>
<p><span style="font-family: 宋体;">HTML正确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth</span></p>
<p><span style="font-family: 宋体;">scrollHeight: 获取东西的转动高度。</span></p>
<p><span style="font-family: 宋体;">scrollLeft:设置或获取位于东西左界限和窗口中目前可见内容的最左端之间的间隔</span></p>
<p><span style="font-family: 宋体;">scrollTop:设置或获取位于东西最顶端和窗口中可见内容的最顶端之间的间隔</span></p>
<p><span style="font-family: 宋体;">scrollWidth:获取东西的转动宽度</span></p>
<p><span style="font-family: 宋体;">offsetHeight:获取东西尽对付版面或由父坐标 offsetParent 属指定</span></p>
<p>的父坐标的高度</p>
<p><span style="font-family: 宋体;">offsetLeft:获取东西尽对付版面或由 offsetParent 属指定的父坐标的计算左侧地位</span></p>
<p><span style="font-family: 宋体;">offsetTop:获取东西尽对付版面或由 offsetTop 属指定的父坐标的计算顶端地位</span></p>
<p><span style="font-family: 宋体;">event.clientX 尽对文档的程度座标</span></p>
<p><span style="font-family: 宋体;">event.clientY 尽对文档的笔挺座标</span></p>
<p><span style="font-family: 宋体;">event.offsetX 尽对容器的程度坐标</span></p>
<p><span style="font-family: 宋体;">event.offsetY 尽对容器的笔挺坐标</span></p>
<p><span style="font-family: 宋体;">document.documentElement.scrollTop 笔挺偏向转动的值</span></p>
<p><span style="font-family: 宋体;">event.clientX+document.documentElement.scrollTop  尽对文档的程度座标+笔挺偏向转动的量</span></p>
<p><span style="font-family: 宋体;">IE，FireFox 差别如下：</span></p>
<p><span style="font-family: 宋体;">IE6.0、FF1.06+：</span></p>
<p><span style="font-family: 宋体;">clientWidth = width + padding</span></p>
<p><span style="font-family: 宋体;">clientHeight = height + padding</span></p>
<p><span style="font-family: 宋体;">offsetWidth = width + padding + border</span></p>
<p><span style="font-family: 宋体;">offsetHeight = height + padding + border</span></p>
<p><span style="font-family: 宋体;">IE5.0/5.5：<br />
clientWidth = width - border</span></p>
<p><span style="font-family: 宋体;">clientHeight = height - border</span></p>
<p><span style="font-family: 宋体;">offsetWidth = width</span></p>
<p><span style="font-family: 宋体;">offsetHeight = height</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-279.html/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>让框架iframe高度自适应，可自动撑开高度</title>
		<link>http://www.zui88.com/blog/view-236.html</link>
		<comments>http://www.zui88.com/blog/view-236.html#comments</comments>
		<pubDate>Sun, 28 Aug 2011 07:46:30 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=236</guid>
		<description><![CDATA[默认iframe框架是不能撑开高度的，如果需要让框架高度自适应需要用js实现 js代码： var adjustIframe = function (id) { var iframe = document.getElementById(id) var idoc = iframe.contentWindow &#038;&#038; iframe.contentWindow.document &#124;&#124; iframe.contentDocument; var callback = function () { var iheight = Math.max(idoc.body.scrollHeight, idoc.documentElement.scrollHeight); //取得其高 iframe.style.height = iheight + "px"; } if (iframe.attachEvent) { iframe.attachEvent("onload", callback); } else { iframe.onload = callback } } HTML代码如下所示： 使用代码： window.onload = [...]]]></description>
			<content:encoded><![CDATA[<p>默认iframe框架是不能撑开高度的，如果需要让框架高度自适应需要用js实现<br />
js代码：<br />
var adjustIframe = function (id) {<br />
    var iframe = document.getElementById(id)<br />
    var idoc = iframe.contentWindow &#038;&#038; iframe.contentWindow.document || iframe.contentDocument;<br />
    var callback = function () {<br />
        var iheight = Math.max(idoc.body.scrollHeight, idoc.documentElement.scrollHeight); //取得其高<br />
        iframe.style.height = iheight + "px";<br />
    }<br />
    if (iframe.attachEvent) {<br />
        iframe.attachEvent("onload", callback);<br />
    } else {<br />
        iframe.onload = callback<br />
    }<br />
}<br />
HTML代码如下所示：<br />
<iframe id="js_sub_web" width="80%" frameborder="0" scrolling="no" allowTransparency="true" src="http://www.zui88.com/"><br />
</iframe>使用代码：</p>
<p>window.onload = function(){<br />
     adjustIframe("js_sub_web");<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-236.html/feed</wfw:commentRss>
		<slash:comments>215</slash:comments>
		</item>
		<item>
		<title>js实现页面慢慢垂直移动</title>
		<link>http://www.zui88.com/blog/view-198.html</link>
		<comments>http://www.zui88.com/blog/view-198.html#comments</comments>
		<pubDate>Thu, 25 Aug 2011 07:12:59 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=198</guid>
		<description><![CDATA[javascript实现页面慢慢垂直移动，就是慢慢移上去或者掉下来的效果 for(var i=0;i&#60;351;i++){ window.scrollTo(0,i) }]]></description>
			<content:encoded><![CDATA[<p>javascript实现页面慢慢垂直移动，就是慢慢移上去或者掉下来的效果<br />
for(var i=0;i&lt;351;i++){<br />
    window.scrollTo(0,i)<br />
    }</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-198.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>js输出当前日期时间和星期几</title>
		<link>http://www.zui88.com/blog/view-192.html</link>
		<comments>http://www.zui88.com/blog/view-192.html#comments</comments>
		<pubDate>Thu, 25 Aug 2011 06:58:03 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=192</guid>
		<description><![CDATA[javascript输出当前日期时间和星期几的方法 1，按照本地时间格式 &#60;script type="text/javascript"&#62;document.write(new Date().toLocaleString())&#60;/script&#62; 2自己定义格式 &#60;script type="text/javascript"&#62;document.write(new Date().getFullYear()+'年'+(new Date().getMonth()+1)+'月'+new Date().getDate()+'日 星期'+'日一二三四五六'.charAt(new Date().getDay()))&#60;/script&#62; //注意：月份的算法要在原有数字上加1]]></description>
			<content:encoded><![CDATA[<p>javascript输出当前日期时间和星期几的方法</p>
<p>1，按照本地时间格式<br />
&lt;script type="text/javascript"&gt;document.write(new Date().toLocaleString())&lt;/script&gt;</p>
<p>2自己定义格式<br />
&lt;script type="text/javascript"&gt;document.write(new Date().getFullYear()+'年'+(new Date().getMonth()+1)+'月'+new Date().getDate()+'日 星期'+'日一二三四五六'.charAt(new Date().getDay()))&lt;/script&gt;</p>
<p>//注意：月份的算法要在原有数字上加1</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-192.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
