<?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; Javascript</title>
	<atom:link href="http://www.deepseath.com/?feed=rss2&#038;tag=javascript" rel="self" type="application/rss+xml" />
	<link>http://www.deepseath.com</link>
	<description></description>
	<lastBuildDate>Mon, 29 Jan 2024 09:55:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>jQuery处理同级事物的一个方式</title>
		<link>http://www.deepseath.com/?p=772</link>
		<comments>http://www.deepseath.com/?p=772#comments</comments>
		<pubDate>Fri, 10 Sep 2010 07:00:28 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[实验室]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=772</guid>
		<description><![CDATA[呵呵，标题有点绕，不知道这样表达是否达意。其实就是同类型（级别）的事件触发的判断处理而已，还搞不明白？-_-!我的表达有问题，那就看下面的代码吧： &#60;table&#62; &#60;tr id="data_3"&#62; &#60;td&#62;row1&#60;/td&#62; &#60;td&#62;Row2&#60;/td&#62; &#60;td&#62;&#60;button type="button" class="_operation"&#62;编辑&#60;span class="is_hidden"&#62;(e)&#60;/span&#62;&#60;/button&#62; &#60;button type="button" class="_operation"&#62;删除&#60;span class="is_hidden"&#62;(d)&#60;/span&#62;&#60;/button&#62;&#60;/td&#62; &#60;/tr&#62; &#60;tr id="data_10"&#62; &#60;td&#62;row2&#60;/td&#62; &#60;td&#62;Row2&#60;/td&#62; &#60;td&#62;&#60;button type="button" class="_operation"&#62;编辑&#60;span class="is_hidden"&#62;(e)&#60;/span&#62;&#60;/button&#62; &#60;button type="button" class="_operation"&#62;删除&#60;span class="is_hidden"&#62;(d)&#60;/span&#62;&#60;/button&#62;&#60;/td&#62; &#60;/tr&#62; &#60;/table&#62; 要处理上面的每行数据的“编辑”和“删除”按钮。我通过下面的jQuery处理： /*&#60;![CDATA[*/ $(function(){ $('._operation').live('click',function(){ var    str_op    =    (($(this).text()).match(/\((e&#124;d)\)/i)); var    op        =    str_op[1]; var    pObj    =   [...]]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=772</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CKEditor或者FCKEditor编辑器的分页处理</title>
		<link>http://www.deepseath.com/?p=733</link>
		<comments>http://www.deepseath.com/?p=733#comments</comments>
		<pubDate>Tue, 27 Jul 2010 07:40:34 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[实验室]]></category>
		<category><![CDATA[CKEditor]]></category>
		<category><![CDATA[FCKEditor]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[开发]]></category>
		<category><![CDATA[正则]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=733</guid>
		<description><![CDATA[CKEditor就是FCKEditor的改名版本，呵呵。基于javascript的前端HTML编辑器，一般做内容管理系统的基本都用过这个编辑器，很强大很方便。 做内容管理某个内容可能文字会很多，分开发表的话不方便维护管理，一般就是直接使用CKEditor的分页功能，说白了这个无非就是类似下面的一段HTML代码：   如果要想在前台输出的时候分页是做不到的。我一般会有两种方式进行处理： 1.利用服务端在输出到页面前进行分页。 2.利用前端javascript直接进行分页。 习惯上我比较喜欢第一种，呵呵。第二种在目前的项目中准备要用到。 先说第一种方式，其实就是利用PHP将CKEditor的分页代码替换为某个标识符，然后进行下一步处理。 比如，利用正则将分页代码替换为“&#60;!&#8211;/*page-breaker*/&#8211;&#62;” &#60;?php $content = preg_replace('/&#60;div\s*style\s*=\s*"page-break-after\s*:\s*always\s*;\s*"[^&#60;\/div&#62;]*&#62;\s*&#60;span\s*style\s*=\s*"\s*display\s*:\s*none\s*;\s*"\s*[^&#60;\/span&#62;]*&#62;(.+)&#60;\/span&#62;\s*&#60;\/div&#62;/iUs',"&#60;!--/*page-breaker*/--&#62;",$content); ?&#62; 这样就将HTML的分页代码替换为一个常规的字符串。然后利用explode函数重组为数组进行分页处理。当然，如果喜欢可以每次都使用正则直接输出一个数组^_^ 第二种方式，是参考别人利用jQuery写的：http://www.blogjava.net/haha1903/archive/2010/06/23/324223.html，暂时没使用过，记下来备用吧，呵呵。 $(function() { var top = "#content"; var content = $(top); var all = content.find("*"); var pages = []; function hideContent() { all.hide(); } function showArray(arr) { $.each(arr, function(i) { this.show().parentsUntil(top).show(); }); } function initPages(pageBreaks) { pageBreaks.each(function(index) { $(this).attr("id", "pageBreak" [...]]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=733</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>收集一下jQuery关于select标签的操作</title>
		<link>http://www.deepseath.com/?p=660</link>
		<comments>http://www.deepseath.com/?p=660#comments</comments>
		<pubDate>Mon, 03 May 2010 17:05:49 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[select]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=660</guid>
		<description><![CDATA[jQuery是一个非常好玩的东东，很方便。由于本身对于javascript并不是非常的精通，因此特别对于操作select标签操作机器不入脑。 收集一下关于select标签操作的例子，备忘一下吧，出处找不到了。 //获取第一个option的值 $('#test option:first').val(); //最后一个option的值 $('#test option:last').val(); //获取第二个option的值 $('#test option:eq(1)').val(); //获取选中的值 $('#test').val(); $('#test option:selected').val(); //设置值为2的option为选中状态 $('#test').attr('value','2'); //设置第一个option为选中 $('#test option:last').attr('selected','selected'); $("#test").attr('value' , $('#test option:last').val()); $("#test").attr('value' , $('#test option').eq($('#test option').length - 1).val()); //获取select的长度 $('#test option').length; //添加一个option $("#test").append(" ff "); $(" ff ").appendTo("#test"); //添除选中项 $('#test option:selected').remove(); //指定项选中 $('#test option:first').remove(); //指定值被删除 $('#test option').each(function(){ if( $(this).val() == '5'){ $(this).remove(); [...]]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=660</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript预加载图片</title>
		<link>http://www.deepseath.com/?p=658</link>
		<comments>http://www.deepseath.com/?p=658#comments</comments>
		<pubDate>Mon, 03 May 2010 12:41:29 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[预加载]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=658</guid>
		<description><![CDATA[非原创，偶然在搜索引擎上看到的，觉得不错，记下来做个参考。 var loadimg = function(imgs,callback){ if ( !imgs ) { //参数判断 return false; } var img = []; var len = imgs.length; for ( var i=0;i img[i] = new Image();//新建一个IMG对象 img[i].src = imgs[i]; } img[i-1].onload = callback ? callback.apply(img) : null; //回调函数给最后一个图片的onload事件说明全部图片加载完成。 //（我不知道这种是否正确，我看了httpwatch应该是没问题的） //回调函数this指向全部预计在图片的数组 //这样可以在回调函数里调用刚才加载的图片 }; var imgs = [ "http://www.baidu.com/img/baidu_logo.gif", "http://img1.gtimg.com/news/pics/25962/25962079.jpg" ];//要加载的图片地址 loadimg(imgs,function(){ alert(this[0].src); [...]]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=658</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【原创】jQuery插件之Email地址格式判断</title>
		<link>http://www.deepseath.com/?p=650</link>
		<comments>http://www.deepseath.com/?p=650#comments</comments>
		<pubDate>Mon, 19 Apr 2010 07:39:02 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[实验室]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[插件]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=650</guid>
		<description><![CDATA[呵呵，不算是什么特别的东西，这个应该是第一次写的jQuery的插件。 jQuery.ISEmail = function(email){ var strlen = email.length; var email_rule = /^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/; return ( strlen &#62;= 6 &#38;&#38; strlen &#60; = 40 &#38;&#38; email_rule.test(email) ); } 使用很简单： if ($.ISEmail('test@test.com')) { alert('Email 地址格式正确'); } else { alert('Email 地址格式错误'); } 一直都在使用，未发现特别的问题，如果你使用过程发现什么错误，请告诉我:)谢谢。]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=650</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>页面嵌入JavaScript脚本的URL“and”符号</title>
		<link>http://www.deepseath.com/?p=599</link>
		<comments>http://www.deepseath.com/?p=599#comments</comments>
		<pubDate>Mon, 08 Feb 2010 12:38:18 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[程序人生]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=599</guid>
		<description><![CDATA[在HTML页面中嵌入JavaScript脚本代码，如果代码内包含一些URL中的“and”符号（&#38;），或者包含HTML元符号（用于输出结构的），如果不对javascript代码区进行注释声明处理，那么就不符合W3C标准当然也就不能通过w3c检测。 比如： &#60;script type="text/javascript"&#62; var test='http://www.foudang.com/tag/?tag=%E5%81%87%E8%B4%A7&#38;p=2'; &#60;/script&#62; 是不可以的，但如果将 &#38; 替换为 &#38;amp; 是可以通过w3c验证的，不过，由于javascript处理URL会将&#38;认为是变量的间隔符，如果改为 &#38;amp; 那么实际上面的URL将会被处理为tag=xxx 和 amp;p=2。 这个时候可以使用注释声明： &#60;script type="text/javascript"&#62; /* &#60;![CDATA[ */ var test='http://www.foudang.com/tag/?tag=%E5%81%87%E8%B4%A7&#38;p=2'; /* ]]&#62; */ &#60;/script&#62; 或者： &#60;script type="text/javascript"&#62; //&#60;![CDATA[ var test='http://www.foudang.com/tag/?tag=%E5%81%87%E8%B4%A7&#38;p=2'; //]]&#62; &#60;/script&#62; 都可以。 PS：事实上，我之前也有过“另类”的一种解决方法，对于HTML标签字符，我写到外部的js文件内；对于URL我就使用一个函数去构造，用起来也倒很方便，但现在看来有点弱智，呵呵。因为很早之前刚接触W3C的时候一味追求通过验证，根本没仔细研究过，为了标准而标准来着，这是很不好的一个方式……]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=599</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS浏览器兼容问题整理(转)</title>
		<link>http://www.deepseath.com/?p=371</link>
		<comments>http://www.deepseath.com/?p=371#comments</comments>
		<pubDate>Mon, 27 Oct 2008 07:11:40 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[round]]></category>
		<category><![CDATA[升级]]></category>
		<category><![CDATA[浏览器]]></category>
		<category><![CDATA[补丁]]></category>
		<category><![CDATA[转载]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=371</guid>
		<description><![CDATA[若干个浏览器内核不同CSS解析可能就不同，甚至同一个内核的浏览器版本不同解析也可能不同:( 页面的CSS对于写程序虽然不是非常重要，不过就解决事情的一个整体流程而言，多多了解一些绝对没有坏事！ 这又是一个整理并转载别人的总结。说实话，不太喜欢用一些Hack之类的，我写CSS的时候基本就是用手册和标准规定的东西。然后再打开不同浏览器发现问题，然后根据具体情况具体写，不过有时候某些变态问题真的很麻烦:( 浏览器真的是一个朝三暮四的讨厌家伙，希望什么时候各个浏览器都能遵循标准来解析，让页面不再用Hack！ 同时，也呼吁一下大家将自己的浏览器升级一下吧，7年前的IE6真的不怎么地！！换IE7吧！！ 不罗嗦了，开始——转—— 1.div的垂直居中问题： vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字，就垂直居中了。缺点是要控制内容不要换行。 2. margin加倍的问题： 设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上display:inline;&#160;&#160;&#160; 例如：&#160;&#160;&#160; &#60;#div id=”imfloat”&#62;&#160;&#160;&#160; 相应的css为&#160;&#160;&#160; #IamFloat{&#160;&#160;&#160; float:left;&#160;&#160;&#160; margin:5px;/*IE下理解为10px*/&#160;&#160;&#160; display:inline;/*IE下再理解为5px*/} 3.浮动ie产生的双倍距离： #box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离 display:inline; //使浮动忽略}&#160;&#160;&#160; 这里细说一下block与inline两个元素：block元素的特点是,总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline元素的特点是,和其他元素在同一行上,不可控制(内嵌元素);&#160;&#160;&#160; #box{ display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列的效果 diplay:table; 4.IE与宽度和高度的问题： IE 不认得min-这个定义，但实际上它把正常的width和height当作有min的情况来使。这样问题就大了，如果只用宽度和高度，正常的浏览器里这两个值就不会变，如果只用min-width和min-height的话，IE下面根本等于没有设置宽度和高度。&#160;&#160;&#160; 比如要设置背景图片，这个宽度是比较重要的。要解决这个问题，可以这样：&#160;&#160;&#160; #box{ width: 80px; height: 35px;}html&#62;body #box{ width: auto; height: auto; min-width: [...]]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=371</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[转]用phpxref生成PHP项目的交叉参考文档</title>
		<link>http://www.deepseath.com/?p=348</link>
		<comments>http://www.deepseath.com/?p=348#comments</comments>
		<pubDate>Mon, 20 Oct 2008 01:53:05 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[bat]]></category>
		<category><![CDATA[Function]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=348</guid>
		<description><![CDATA[PHPXref －PHP Cross Referencing Documentation Generator。通过遍历项目所有的文件为PHP项目生成文档的工具，生成的文档格式支持html以及gz方式的压缩文件，同时在文档中包含项目中设计到的基类、方法、函数、变量、注释、甚至涉及到的时间表结构甚至相互include、require到的文件等等，使用中我还发现它对smarty的模板文件的支持也很好。而注释则支持PHPDocumentor风格的注释，同时支持基于javascript的客户端的搜索。phpxref是用perl编写的，对于windows平台，它自己内嵌了TinyPerl 所以无需事先安装perl。所以要做的事情大多就是： 1:下载phpxref，解压 2:把需要生成文档的PHP代码放到phpxref.cfg文件中SOURCE中指定的目录中 3:执行phpxref.pl，在windows下面是phpxref.bat或者phpxref.exe 4:用你的浏览器打开输出目录（由phpxref.cfg文件中的OUTPUT指定）中的index.html文档浏览生成的PHP项目文档。 至于PHPxref的高级应用，则可以修改phpxref.cfg来实现，每个修改项都很简单，如下便是生成一个项目的文档时的情况，其中有smarty模板的支持，以及一些错误提示。 E:\Program Files\phpxref &#62; phpxref.exe PHPXref 0.6 (c) Gareth Watts 2004 Processing Smarter v2… Source………….: F:CVSRootSmarterV2Source_CodeFrontEnd Target………….: E:Program Filesphpxrefoutput Scanning Tree……: OK &#8211; 2838 files to process Pass One………..: 0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..100% Generating Output..: 0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..100% Variable references: 0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..100% Function references: 0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..100% Class references…: 0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..100% Constant references: [...]]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=348</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>javascript中的var_dump()</title>
		<link>http://www.deepseath.com/?p=127</link>
		<comments>http://www.deepseath.com/?p=127#comments</comments>
		<pubDate>Thu, 13 Mar 2008 14:35:18 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[程序人生]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=127</guid>
		<description><![CDATA[function var_dump(obj) {  if(typeof obj == "object") {     return "Type: "+typeof(obj)+((obj.constructor) ? "\nConstructor: "+obj.constructor : "")+"\nValue: " + obj;  } else {     return "Type: "+typeof(obj)+"\nValue: "+obj;  }}//end function var_dump用法： alert(var_dump(变量名))  ]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=127</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一个简洁好看的标签</title>
		<link>http://www.deepseath.com/?p=108</link>
		<comments>http://www.deepseath.com/?p=108#comments</comments>
		<pubDate>Wed, 05 Mar 2008 10:00:00 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[程序人生]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=108</guid>
		<description><![CDATA[　　演示效果：点击这里浏览 　　用到的图片有三个，如下： 　　标签背景图片： 　　标签背景图片： 　　内容渐变背景图片： 　　非原创，在网上看到的，学习借鉴一下^_^]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=108</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
