虾米窝窝 » JavaScript
Subscribe RSS

"JavaScript"分类的文章

转:22个所见即所得在线 Web 编辑器 02月 04

本文搜集了 22 个 Web 在线编辑器,它们基本代表了当前 Web 编辑器的现状:

Rich-Text Editors for 2010 and Beyond

分类: JavaScript  | 标签: ,  | 暂无留言 | 56次阅读
javascript之onchange, onpropertychange, oninput 11月 18

今天在做一个检测textarea里字数的时候,才发现onpropertychange是IE专有的东西,囧......

在FF下要用oninput这个函数,并且要用addEventListener来进行注册。

另外onpropertychange要比onchange检测范围广一点,onchange需要执行事件来触发,而onpropertychange可以检测对象属性的任何改变。

分类: JavaScript  | 暂无留言 | 184次阅读
小心Javascript中的逗号 10月 09

今天在做Uchome二次开发的时候遇到一个奇怪的问题,js报错" 'expected identifier, string or number'",这个问题只在IE6,7中出现,IE8和FF下均无问题。很奇怪,以前从来没有遇到过类似的情况。

琢磨了N久没有头绪,于是Google之,发现几篇国外的文章,说是一些多余的逗号会导致这个问题。再一对应,果然,我在定义一个对象的时候这样搞:

JavaScript代码
  1. var options    = {  
  2.         after_click : function(data){ 
  3.            data.handdle.parent().prev('td').find('input').val(data.value);  
  4.         },
  5.         image       : 'images/star.gif',  
  6.         max         : 5,  
  7.     }  

对了,就是max: 5,的那个逗号在搞怪了,估计是最近写python写顺了,在最后一个元素后加上了逗号。

老外也很幽默,在说这个事情的时候说道“
thanks again Microsoft for making web developers lifes so difficult.”,呵呵,他说感谢微软让web开发者的人生变得如此惨淡,很有嘲讽的味道。

顺便提一下,在js中用分号作为一行结尾貌似不是必须的,但是最好还是保持在每行后加分号的习惯,如果不加的话在进行js文件压缩后会出问题。

分类: JavaScript  | 标签: , , ,  | 暂无留言 | 216次阅读
写了一个Jquery的Image resize小插件 06月 22

     IE6就是坏,在编辑器里插入图片宽度和外层容器差不多,然后在同一行再输入点东西的话,前台页面就会完全乱套,用word-break:break- all;之类的CSS也不行。Firefox和IE7还比较好,知道自动换行自己调整一下。CSS我是调的很厌烦了,索性搞了个简单的图片缩放:
      用法很简单,第一个参数就是图片所在的父级容器id,第二个是允许的图片宽度,默认是父级容器宽度的80%,第三个是图片高度,,默认是父级容器高度的80%。
     要使用的话这样就好了:

JavaScript代码
  1. <script type="text/javascript">  
  2. $(document).ready(function() {  
  3.     $.imgResize('blog_content',600,480);  
  4. });  
  5. </script> 
分类: JavaScript  | 标签: , , ,  | 暂无留言 | 645次阅读
Jquery 修改版消息提醒框 06月 09

恩,原版是在www.corrie.net.cn下载的,所有用法大家可以直接去那里看。

原版的消息提示框不能跟随窗口滚动而滚动,我主要是加了个这个功能。

首先是将最外层那个div的positioin属性设置为了fixed,然后为兼容ie6在第37行this.rmjq_messager(this.time);下添加了:

//hacked by sharmy
/*FF and IE7 can use 'position:fixed',but ie6 need to set window top dynamically.*/
if($.browser.msie && $.browser.version == 6) {
    $('#jq_messager').css('position','absolute');
    $(window).scroll(function(){
        var f_top = $(window).scrollTop() + $(window).height() - ($("#jq_messager").outerWidth()/2);
        $('#jq_messager').css( 'top' , f_top );
    });
}

附上修改后的文件:jquery.messager.hackBySharmy.7z

分类: JavaScript  | 标签: ,  | 暂无留言 | 688次阅读
Jquery Datapicker汉化版 06月 09

       前两天项目的测试给我报了个Bug,说我的datepicker不对,上面的字是英文的……我就想怎么以前我没有发现呢。后来才想起来以前貌似在公司做的都是国外的项目,人家要汉化做什么,汗……….

      上个图:
                       datepicker_chinese

分类: JavaScript  | 标签: , , , ,  | 暂无留言 | 443次阅读
转:jQuery性能优化指南 05月 20

1,总是从ID选择器开始继承
在jQuery中最快的选择器是ID选择器,因为它直接来自于JavaScript的getElementById()方法。

例如有一段HTML代码:

<div id="content">

<form method="post" action="#">

<h2>交通信号灯</h2>

<ul id="traffic_light">

<li><input type="radio" class="on" name="light" value="red" /> 红色</li>

<li><input type="radio" class="off" name="light" value="yellow" /> 黄色</li>

<li><input type="radio" class="off" name="light" value="green" /> 绿色</li>

</ul>

<input class="button" id="traffic_button" type="submit" value="Go" />

</form>

</div>

如果采用下面的选择器,那么效率是低效的。
var traffic_button = $("#content .button");

因为button已经有ID了,我们可以直接使用ID选择器。如下所示:
var traffic_button = $("#traffic_button");

当然 这只是对于单一的元素来讲。如果你需要选择多个元素,这必然会涉及到 DOM遍历和循环,
为了提高性能,建议从最近的ID开始继承。
如下所示:
var traffic_lights = $("#traffic_light input");

分类: JavaScript  | 标签: ,  | 暂无留言 | 314次阅读