<?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; 网站前端</title>
	<atom:link href="http://www.zui88.com/view-category/%e7%bd%91%e7%ab%99%e5%89%8d%e7%ab%af/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接口取客户端IP及省份城市</title>
		<link>http://www.zui88.com/blog/view-434.html</link>
		<comments>http://www.zui88.com/blog/view-434.html#comments</comments>
		<pubDate>Mon, 13 May 2013 04:56:43 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=434</guid>
		<description><![CDATA[新浪的IP地址查询接口：http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js 新浪多地域测试方法：http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&#38;ip=218.192.3.42 搜狐IP地址查询接口（默认GBK）：http://pv.sohu.com/cityjson 搜狐IP地址查询接口（可设置编码）：http://pv.sohu.com/cityjson?ie=utf-8 搜狐另外的IP地址查询接口：http://txt.go.sohu.com/ip/soip 腾讯的接口：http://fw.qq.com/ipaddress (腾讯的接口原本是最好用的，可现在打不开啦) 上面的接口中新浪的是js接口说明： &#60;script type="text/javascript" src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js" charset="gb2312"&#62;&#60;/script&#62; &#60;script type="text/javascript"&#62; function ipmsg() { var ss = remote_ip_info['country']  + remote_ip_info['province']+ remote_ip_info['city']; document.getElementByIdx_x_x("&#60;%=HiddenField1.ClientID %&#62;").value = ss; } &#60;/script&#62; &#160;]]></description>
			<content:encoded><![CDATA[<p>新浪的IP地址查询接口：<a href="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"><span style="color: #000000;">http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js</span></a></p>
<p>新浪多地域测试方法：<a href="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&amp;ip=218.192.3.42"><span style="color: #000000;">http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&amp;ip=218.192.3.42</span></a></p>
<p>搜狐IP地址查询接口（默认GBK）：<a href="http://pv.sohu.com/cityjson"><span style="color: #000000;">http://pv.sohu.com/cityjson</span></a></p>
<p>搜狐IP地址查询接口（可设置编码）：<a href="http://pv.sohu.com/cityjson?ie=utf-8"><span style="color: #000000;">http://pv.sohu.com/cityjson?ie=utf-8</span></a></p>
<p>搜狐另外的IP地址查询接口：<a href="http://txt.go.sohu.com/ip/soip"><span style="color: #000000;">http://txt.go.sohu.com/ip/soip</span></a></p>
<p>腾讯的接口：<a href="http://fw.qq.com/ipaddress" target="_blank"><span style="color: #000000;">http://fw.qq.com/ipaddress</span></a> (腾讯的接口原本是最好用的，可现在打不开啦)</p>
<p>上面的接口中新浪的是js接口说明：</p>
<p>&lt;script type="text/javascript" src="<a href="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js">http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js</a>" charset="gb2312"&gt;&lt;/script&gt;<br />
&lt;script type="text/javascript"&gt;<br />
function ipmsg() {<br />
var ss = remote_ip_info['country']  + remote_ip_info['province']+ remote_ip_info['city'];<br />
document.getElementByIdx_x_x("&lt;%=HiddenField1.ClientID %&gt;").value = ss;</p>
<p>}<br />
&lt;/script&gt;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-434.html/feed</wfw:commentRss>
		<slash:comments>689</slash:comments>
		</item>
		<item>
		<title>select下拉菜单实现友情链接跳转</title>
		<link>http://www.zui88.com/blog/view-413.html</link>
		<comments>http://www.zui88.com/blog/view-413.html#comments</comments>
		<pubDate>Sun, 07 Oct 2012 08:47:40 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[select]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=413</guid>
		<description><![CDATA[&#60;select name="select" class="home_left_select" onchange="window.location=this.options[this.selectedIndex].value"&#62; &#60;option value="#"&#62;友情链接&#60;/option&#62; &#60;option value="http://www.baidu.com"&#62;2&#60;/option&#62; &#60;option value="http://www.baidu.com"&#62;2&#60;/option&#62; &#60;option value="http://www.baidu.com"&#62;2&#60;/option&#62; &#60;option value="http://www.baidu.com"&#62;2&#60;/option&#62; &#60;option value="http://www.baidu.com"&#62;2&#60;/option&#62; &#60;/select&#62; 以上代码实现选中项跳转到指定链接]]></description>
			<content:encoded><![CDATA[<p>&lt;select name="select" class="home_left_select" onchange="window.location=this.options[this.selectedIndex].value"&gt;<br />
&lt;option value="#"&gt;友情链接&lt;/option&gt;<br />
&lt;option value="http://www.baidu.com"&gt;2&lt;/option&gt;<br />
&lt;option value="http://www.baidu.com"&gt;2&lt;/option&gt;<br />
&lt;option value="http://www.baidu.com"&gt;2&lt;/option&gt;<br />
&lt;option value="http://www.baidu.com"&gt;2&lt;/option&gt;<br />
&lt;option value="http://www.baidu.com"&gt;2&lt;/option&gt;<br />
&lt;/select&gt;</p>
<p>以上代码实现选中项跳转到指定链接</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-413.html/feed</wfw:commentRss>
		<slash:comments>399</slash:comments>
		</item>
		<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>ie6实现div页面固定不动，纯CSS中使用expression兼容fix</title>
		<link>http://www.zui88.com/blog/view-392.html</link>
		<comments>http://www.zui88.com/blog/view-392.html#comments</comments>
		<pubDate>Wed, 01 Aug 2012 09:36:33 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[expression]]></category>
		<category><![CDATA[fix]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=392</guid>
		<description><![CDATA[* html,* html body /* IE6 Fixed Position Jitter Fix */{background-image:url(about:blank);background-attachment:fixed;} * html .fixed-top /* IE6 position fixed Top */{position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop));} * html .fixed-right /* IE6 position fixed right */{position:absolute;right:auto;left:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)&#124;&#124;0)-(parseInt(this.currentStyle.marginRight,10)&#124;&#124;0));} * html .fixed-bottom /* IE6 position fixed Bottom */{position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)&#124;&#124;0)-(parseInt(this.currentStyle.marginBottom,10)&#124;&#124;0)));} * html .fixed-left /* IE6 position fixed Left */{position:absolute;right:auto;left:expression(eval(document.documentElement.scrollLeft));} CSS中使用expression有ie才能识别。IE5及其以后版本支持在CSS中使用expression，用来把CSS属性和 Javascript表达式关联起来，这里的CSS属性可以是元素固有的属性，也可以是自定义属性。就是说CSS属性后面可以是一段Javascript 表达式，CSS属性的值等于Javascript表达式计算的结果。 在表达式中可以直接引用元素自身的属性和方法，也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。 例子： 1.给元素固有属性赋值 下面是定义container容器的宽度，如果&#60;725就为自己的宽度，否则就等于725，相当于max-width:725px;。 　　&#60;style [...]]]></description>
			<content:encoded><![CDATA[<pre>* html,* html body /* IE6 Fixed Position Jitter Fix */{background-image:url(about:blank);background-attachment:fixed;}
* html .fixed-top /* IE6 position fixed Top */{position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop));}
* html .fixed-right /* IE6 position fixed right */{position:absolute;right:auto;left:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0));}
* html .fixed-bottom /* IE6 position fixed Bottom */{position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));}
* html .fixed-left /* IE6 position fixed Left */{position:absolute;right:auto;left:expression(eval(document.documentElement.scrollLeft));}

<strong>CSS中使用expression有ie才能识别。</strong>IE5及其以后版本支持在CSS中使用expression，用来把CSS属性和
Javascript表达式关联起来，这里的CSS属性可以是元素固有的属性，也可以是自定义属性。就是说CSS属性后面可以是一段Javascript
表达式，CSS属性的值等于Javascript表达式计算的结果。 在表达式中可以直接引用元素自身的属性和方法，也可以使用其他<a href="http://baike.baidu.com/view/7718.htm" target="_blank">浏览器</a>对象。这个表达式就好像是在这个元素的一个成员函数中一样。
</pre>
<p><strong>例子：</strong> <strong>1.给元素固有属性赋值</strong> 下面是定义container容器的宽度，如果&lt;725就为自己的宽度，否则就等于725，相当于max-width:725px;。 　　&lt;style type="text/css" media="screen"&gt; 　　#container { width: expression((documentElement.clientWidth &gt; 725) ? "725px" : "auto" ); } 　　&lt;/style&gt; 　　<strong>2.给元素自定义属性赋值</strong> 例如，消除页面上的链接虚线框。 通常的做法是： 　　&lt;a href="link1.htm" onfocus="this.blur()"&gt;link1&lt;/a&gt; 　　&lt;a href="link2.htm" onfocus="this.blur()"&gt;link2&lt;/a&gt; 　　&lt;a href="link3.htm" onfocus="this.blur()"&gt;link3&lt;/a&gt; 　　粗看或许还体现不出采用expression的优势，但如果你的页面上有几十甚至上百个链接，这时的你难道还会机械式地Ctrl+C，Ctrl+V么，何况两者一比较，哪个产生的冗余代码更多呢？ 　　采用expression的做法如下： 　　&lt;style type="text/css"&gt; 　　a {star : expression(this.onFocus=this.blur());} 　　&lt;/style&gt; 　　&lt;a href="link1.htm"&gt;link1&lt;/a&gt; 　　&lt;a href="link2.htm"&gt;link2&lt;/a&gt; 　　&lt;a href="link3.htm"&gt;link3&lt;/a&gt; 　　<strong>说明：</strong>里面的star就是自己任意定义的属性，你可以随自己喜好另外定义，接着包含在expression()里的语句就是JS脚本， 在自定义属性与expression之间可别忘了还有一个引号，因为实质还是CSS，所以放在style标签内，而非script内。OK，这样就很容易 地用一句话实现了页面中的链接虚线框的消除。不过你先别得意，如果触发的特效是CSS的属性变化，那么出来的结果会跟你的本意有差别。例如你想随鼠标的移 进移出而改变页面中的文本框颜色更改，你可能想当然的会认为应该写为 　　&lt;style type="text/css"&gt; 　　input {star : expression(onmouseover=this.style.backgroundColor="#F5F5F5"; 　　onmouseout=this.style.backgroundColor="#FFFFFF")} 　　&lt;/style&gt; 　　&lt;input type="text"&gt; 　　&lt;input type="text"&gt; 　　&lt;input type="text"&gt; 　　可结果却是出现脚本出错，正确的写法应该把CSS样式的定义写进函数内，如下所示： 　　&lt;style type="text/css"&gt; 　　input {star : expression(onmouseover=function() 　　{this.style.backgroundColor="#FF0000"}, 　　onmouseout=function(){this.style.backgroundColor="#FFFFFF"}) } 　　&lt;/style&gt; 　　&lt;input type="text"&gt; 　　&lt;input type="text"&gt; 　　&lt;input type="text"&gt; 　　<strong>注意:</strong>不是非常需要，一般不建议使用expression，因为expression对浏览器资源要求比较高。</p>
<pre>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-392.html/feed</wfw:commentRss>
		<slash:comments>437</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>在线客服代码，qq，msn，skype，淘宝旺旺，阿里巴巴贸易通，雅虎通</title>
		<link>http://www.zui88.com/blog/view-380.html</link>
		<comments>http://www.zui88.com/blog/view-380.html#comments</comments>
		<pubDate>Tue, 05 Jun 2012 09:43:26 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[客服代码]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=380</guid>
		<description><![CDATA[1.QQ在线咨询代码 (qq在线交谈代码/qq在线客服代码/qq在线状态代码/qq在线客服代码) (将66757924换成你的号码,site后面换成你的网站就可以了) &#60;a target="blank" href="http://wpa.qq.com/msgrd?V=1&#38;Uin=66757924&#38;Site=服务易&#38; Menu=yes"&#62;&#60;img border="0" SRC=http://wpa.qq.com/pa?p=1:66757924:6 alt="点击这里给我发消息" align="absmiddle"&#62;&#60;/a&#62; 2.MSN在线咨询代码 用的时候把[邮件地址]写成你的MSN账号，不要方括号，用链接即可，如 &#60;a target="blank" href="msnim:chat?contact=sliang@zui88.com"&#62;MSN在线客服&#60;/a&#62; 3.skype在线状态代码生成 将yisung换成你的skype ID就可以了,需要在skype个人账户里设置对任何人显示状态 &#60;a target="blank" href="skype:mengsajewel?call"&#62;&#60;img src=http://mystatus.skype.com/smallclassic/yisung style="border: none;" alt="Call me!" /&#62;&#60;/a&#62; 更多的skype在线状态代码生成样式,请查看skype的官方网站 http://www.skype.com/share/buttons/ 4.淘宝旺旺 &#60;a target="_blank" href="http://amos1.taobao.com/msg.ww?v=你的旺旺名=1" &#62;&#60;img border="0" src="http://amos1.taobao.com/online.ww?v=你的旺旺名=1" alt="点击这里发taobao旺旺消息" /&#62;&#60;/a&#62; 5.阿里贸易通 chqllm改成你的ID就行了,还有ALT改成你的内容 &#60;a target=_blank href="http://scs1.sh1.china.alibaba.com/msg.atc?v=1&#38;uid=mengsajewel"&#62;&#60;img border=0 src="http://scs1.sh1.china.alibaba.com/online.atc?v=1&#38;uid=chqllm&#38;s=2" alt="最优工作室" align="absmiddle"&#62;&#60;/a&#62; 6.雅虎通 &#60;a target=_blank href=http://edit.yahoo.com/config/send_webmesg?.target=你的雅虎通号码&#38; amp;.src=pg&#62;&#60;img border=0 align=absmiddle [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="text-decoration: underline;"><span style="color: #ff0000;">1.QQ在线咨询代码</span></span></strong><br />
(qq在线交谈代码/qq在线客服代码/qq在线状态代码/qq在线客服代码)<br />
(将66757924换成你的号码,site后面换成你的网站就可以了)</p>
<p>&lt;a  target="blank"  href="http://wpa.qq.com/msgrd?V=1&amp;Uin=66757924&amp;Site=服务易&amp; Menu=yes"&gt;&lt;img border="0" SRC=http://wpa.qq.com/pa?p=1:66757924:6  alt="点击这里给我发消息" align="absmiddle"&gt;&lt;/a&gt;</p>
<p><strong><span style="text-decoration: underline;"><span style="color: #ff0000;">2.MSN在线咨询代码</span></span></strong></p>
<p>用的时候把[邮件地址]写成你的MSN账号，不要方括号，用链接即可，如</p>
<p>&lt;a target="blank"  href="msnim:chat?contact=sliang@zui88.com"&gt;MSN在线客服&lt;/a&gt;</p>
<p><span style="color: #ff0000;"><strong><span style="text-decoration: underline;">3.skype在线状态代码生成</span></strong><br />
</span>将yisung换成你的skype ID就可以了,需要在skype个人账户里设置对任何人显示状态<br />
&lt;a target="blank"   href="skype:mengsajewel?call"&gt;&lt;img  src=http://mystatus.skype.com/smallclassic/yisung style="border: none;"  alt="Call me!" /&gt;&lt;/a&gt;</p>
<p>更多的skype在线状态代码生成样式,请查看skype的官方网站</p>
<p>http://www.skype.com/share/buttons/</p>
<p><span style="color: #ff0000;"><strong><span style="text-decoration: underline;">4.淘宝旺旺</span></strong></span></p>
<p>&lt;a target="_blank" href="http://amos1.taobao.com/msg.ww?v=你的旺旺名=1"  &gt;&lt;img border="0" src="http://amos1.taobao.com/online.ww?v=你的旺旺名=1"  alt="点击这里发taobao旺旺消息" /&gt;&lt;/a&gt;</p>
<p><span style="color: #ff0000;"><strong><span style="text-decoration: underline;">5.阿里贸易通</span></strong></span></p>
<p>chqllm改成你的ID就行了,还有ALT改成你的内容<br />
&lt;a target=_blank  href="http://scs1.sh1.china.alibaba.com/msg.atc?v=1&amp;uid=mengsajewel"&gt;&lt;img  border=0  src="http://scs1.sh1.china.alibaba.com/online.atc?v=1&amp;uid=chqllm&amp;s=2"  alt="最优工作室" align="absmiddle"&gt;&lt;/a&gt;</p>
<p><span style="color: #ff0000;"><strong><span style="text-decoration: underline;">6.雅虎通</span></strong></span></p>
<p>&lt;a target=_blank  href=http://edit.yahoo.com/config/send_webmesg?.target=你的雅虎通号码&amp; amp;.src=pg&gt;&lt;img border=0 align=absmiddle  src=http://opi.yahoo.com/online?u=你的雅虎通号码&amp;m=g&amp;t=2 alt=雅虎通在线状态  title=给我发送雅虎通消息&gt;&lt;/a&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-380.html/feed</wfw:commentRss>
		<slash:comments>427</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>ie6下，浮动的li里面文字不换行</title>
		<link>http://www.zui88.com/blog/view-360.html</link>
		<comments>http://www.zui88.com/blog/view-360.html#comments</comments>
		<pubDate>Sat, 19 May 2012 09:46:54 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=360</guid>
		<description><![CDATA[在ie6下，浮动的li里面文字在结尾出宽度不够，但是不自动换行，而是往下挤，使后面的li乱掉。 解决的方法是在li里面定义样式 white-space: nowrap;]]></description>
			<content:encoded><![CDATA[<p>在ie6下，浮动的li里面文字在结尾出宽度不够，但是不自动换行，而是往下挤，使后面的li乱掉。</p>
<p>解决的方法是在li里面定义样式<span class=" "> </span><span class="cssPropName editable ">white-space</span><span class="cssColon ">: </span><span class="cssPropValue editable ">nowrap</span><span class="cssSemi ">;</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-360.html/feed</wfw:commentRss>
		<slash:comments>192</slash:comments>
		</item>
		<item>
		<title>最简单的设为首页，加入收藏代码</title>
		<link>http://www.zui88.com/blog/view-358.html</link>
		<comments>http://www.zui88.com/blog/view-358.html#comments</comments>
		<pubDate>Sat, 05 May 2012 10:20:15 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=358</guid>
		<description><![CDATA[只要一句代码，可以实现设为首页，加入收藏的功能，并且通用其他网站，自动识别标题和链接，不用手动修改。但是只兼容ie浏览器。 &#60;a href="#" onClick="this.style.behavior='url(#default#homepage)'; this.setHomePage(window.location.href);"&#62;设为首页&#60;/a&#62; &#124; &#60;a href="#" onClick="window.external.addFavorite(window.location.href,document.title)"&#62;加入收藏&#60;/a&#62;]]></description>
			<content:encoded><![CDATA[<p>只要一句代码，可以实现设为首页，加入收藏的功能，并且通用其他网站，自动识别标题和链接，不用手动修改。但是只兼容ie浏览器。</p>
<p>&lt;a   href="#" onClick="this.style.behavior='url(#default#homepage)'; this.setHomePage(window.location.href);"&gt;设为首页&lt;/a&gt; | &lt;a   href="#"  onClick="window.external.addFavorite(window.location.href,document.title)"&gt;加入收藏&lt;/a&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-358.html/feed</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>CSS border-collapse 属性，细边线table表格样式</title>
		<link>http://www.zui88.com/blog/view-347.html</link>
		<comments>http://www.zui88.com/blog/view-347.html#comments</comments>
		<pubDate>Thu, 08 Mar 2012 06:56:13 +0000</pubDate>
		<dc:creator>lin</dc:creator>
				<category><![CDATA[网站前端]]></category>
		<category><![CDATA[border-collapse]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[table]]></category>

		<guid isPermaLink="false">http://www.zui88.com/blog/?p=347</guid>
		<description><![CDATA[border-collapse 属性设置表格的边框是否被合并为一个单一的边框，还是象在标准的 HTML 中那样分开显示。 可能的值 值 描述 separate 默认值。边框会被分开。不会忽略 border-spacing 和 empty-cells 属性。 collapse 如果可能，边框会合并为一个单一的边框。会忽略 border-spacing 和 empty-cells 属性。 inherit 规定应该从父元素继承 border-collapse 属性的值。 细边线table表格样式 table {width:100%; border:1px solid #ccc; border-collapse:collapse;} table td {border:1px solid #ccc; border-collapse:collapse; padding:10px 15px; color:#999;}]]></description>
			<content:encoded><![CDATA[<p>border-collapse 属性设置表格的边框是否被合并为一个单一的边框，还是象在标准的 HTML 中那样分开显示。</p>
<h2>可能的值</h2>
<table class="dataintable">
<tbody>
<tr>
<th>值</th>
<th>描述</th>
</tr>
<tr>
<td>separate</td>
<td>默认值。边框会被分开。不会忽略 border-spacing 和 empty-cells 属性。</td>
</tr>
<tr>
<td>collapse</td>
<td>如果可能，边框会合并为一个单一的边框。会忽略 border-spacing 和 empty-cells 属性。</td>
</tr>
<tr>
<td>inherit</td>
<td>规定应该从父元素继承 border-collapse 属性的值。</td>
</tr>
</tbody>
</table>
<p>细边线table表格样式</p>
<p>table {width:100%; border:1px solid #ccc; border-collapse:collapse;}<br />
table td {border:1px solid #ccc; border-collapse:collapse; padding:10px 15px; color:#999;}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zui88.com/blog/view-347.html/feed</wfw:commentRss>
		<slash:comments>374</slash:comments>
		</item>
	</channel>
</rss>
