Posts Tagged ‘javascript’

如何跳出jquery的each?

八月 1st, 2009

jquery再遍历选定的对象时候用each比较方便。有种应用是找到里面符合条件的对象后,要跳出这个循环。
javascript的跳出循环一般用break.
同事遇到这个问题,下意识 的用了break,想跳出这个循环。结果报错

SyntaxError: unlabeled break must be inside loop or switch

经查,应该用一个

return false;

continue是跳出当前循环,继续下一个循环。

Popularity: 45%

jquery实现ajax投票一例

七月 30th, 2009

其实是很简单的,一个或多个页面有一堆摄影作品,用户点击投票,相应的作品数量增加1.

前台jsp部分的代码如下:

  1. ...
  2. 票数:<span id="i<%=id%>"><%=vote_number%></span><br/>
  3.     <a onclick=myvote(<%=id%>); href='javascript:;'">投票</a>
  4. ...

js部分的代码如下

  1. function myvote(id){
  2.     $.post("vote.jsp", { id: id },
  3.   function(data){
  4.         eval("var data="+data);
  5.     if (data.issucc=="0"){
  6.         alert(data.mess)
  7.     }else{
  8.         //alert("更新页面");
  9.         $("#i"+data.myid).html(data.votenum);
  10.         }
  11.   });
  12. }

后台返回的json数据如下

{issucc:<%=issucc%>,mess:”<%=mess%>“,votenum:<%=votenum%>,myid:<%=myid%>}

issucc:是否成功
mess:信息,主要是错误信息,比如没登录,超过限制等
votenum:投票后的得票总数
myid:投票的id,用于更新页面的投票数。

Popularity: 33%

备份一段js代码

六月 26th, 2009

<script language=”JavaScript” src=”/include/jquery-latest.pack.js”></script>
<script language=JavaScript>
var tmp=”";
function formatn(n){
 if (n<10)
  return “0″+n;
 else
  return “”+n;
}
$(document).ready(function() {
 var f=document.form1.elements;
 var n_i=1;
 var s_i=”";
 var n_v=1;
 for(var i=0;i<f.length;i++){
  //tmp+=f[i].value+”\n”;
  if (f[i].type==”hidden”||f[i].name==”reg_no” ){
   continue;
  }
  if (f[i].type==”text”||f[i].type==”textarea”){
   f[i].name=f[i].id=”text_”+formatn(n_i);
   n_i++; continue;
  }
  if (f[i].type==”radio”||f[i].type==”checkbox”){
   var oname=f[i].name;
   f[i].name=f[i].id=”check_”+formatn(n_i);
   f[i].value=formatn(n_v);
   if (i<f.length){
    if (oname!=f[i+1].name||f[i].type!=f[i+1].type){
     n_i++;
     n_v=1;
    }
    else
     n_v++;
   }
    continue;
  }
 }
});
</script>

Popularity: 21%

FCKEditor XML Request Error:Internal Server Error(500)

五月 1st, 2009

原来一直能用的ecshop后台信息发布里面的fckeditor上传功能,换了个机器后不能用了。以为是文件损坏,上传一边不行。
什么xml错误,还弹出一个大的JavaScript alert警告框,内容就是服务器端错误的500内容
网上搜,又说是配置问题,主题问题,想想都不应该,直接请求
filemanager/connectors/php/connector.php
出了服务器的500错误,html文件能访问,txt也行。
后来从根目录开始查,发现到fckeditor目录里面的php文件开始不能访问。
改了fckeditor目录的属性为755,问题解决。

Popularity: 35%

jQuery 的图片幻灯片插件imgslideshow

一月 8th, 2009

有一个wp-magazine的theme,用了一个prototype的glider插件。但是偶不会用prototype,会一点jquery,并且用jquery的应用越来越多,比如使用的相册就是用的jquery,想统一一下JavaScript的类库。所以一直想找一个jquery类似效果的插件。除了这个之外,又发现一个不错的,有点像taobao首页广告的链接。
代码也很简单,一段简单的css,一个jquery+一个js就行了。
demo请点击这里,我稍微做了修改,原来是要点击数字,变化,现在鼠标移动到上边就可以变化图片了。

Popularity: 45%

jquery的find的filter的区别

九月 24th, 2008

filter will select a certain subset (zero or more) of the already
selected elements.
jquery的filter将在一组已经选取的元素里面选择
find will select a set of (zero or more) elements that are descendants
of the already selected elements.
jquery的find将在一组已经选取的元素的子节点里面选择

Here is an example:
示例如下

  1. <div class="peanuts">
  2.         <p class="elephants"></p>
  3. </div>
  4. <div class="elephants">
  5.         <p></p>
  6. </div>

$(‘div’).filter(‘.elephants’); // <– selects the second div, because
it has class=”elephants”

$(‘div’).find(‘.elephants’); // <– selects the first paragraph,
because it has class=”elephants”

* Note that these two examples are very simple and would probably be
better written as …

$(‘div.elephants’);

… and …

$(‘div .elephants’);

Popularity: 39%

EXT中文手册下载

五月 28th, 2008

找到一本ext中文手册,pdf版本的。看着不错。
ext-中文手册下载.pdf

Popularity: 35%

javascript把数字格式化转换成货币类型

五月 9th, 2008

做财务的东西总是比较有挑战的,性能,易用性,准确性都有很高要求,包括一些小的细节。
比如金额需要显示的时候转换成有千分位,小数点后保留2位等。去编辑的时候,又要格式化,把逗号都去掉。网上找了段代码,但是再次编辑会有问题,修改了一下,代码如下:

  1. function outputMoney(number) {
  2.  number=number.replace(/\,/g,"");
  3.  if (isNaN(number)||number=="") return "";
  4.  number = Math.round(  number*100) /100;
  5. if(number<0)
  6. return '-'+outputDollars(Math.floor(Math.abs(number)-0) + '') + outputCents(Math.abs(number) - 0);
  7. else
  8. return outputDollars(Math.floor(number-0) + '') + outputCents(number - 0);
  9. }
  10. function outputDollars(number)
  11. {
  12.   if (number.length<= 3)
  13.   return (number == '' ? '0' : number);
  14.   else
  15.   {
  16.     var mod = number.length%3;
  17.     var output = (mod == 0 ? '' : (number.substring(0,mod)));
  18.     for (i=0 ; i< Math.floor(number.length/3) ; i++)
  19.     {
  20.       if ((mod ==0) && (i ==0))
  21.       output+= number.substring(mod+3*i,mod+3*i+3);
  22.       else
  23.       output+= ',' + number.substring(mod+3*i,mod+3*i+3);
  24.     }
  25.     return (output);
  26.   }
  27. }
  28. function outputCents(amount)
  29. {
  30.   amount = Math.round( ( (amount) - Math.floor(amount) ) *100);
  31.   return (amount<10 ? '.0' + amount : '.' + amount);
  32. }

用法:

<input name="TRANS_AMOUNT" type="text" id="TRANS_AMOUNT" size="15" onblur="this.value=outputMoney(this.value);" />

2009-04-28 更新

Popularity: 30%

jquery货币数值排序

四月 22nd, 2008

jquery是个好东西,现在有很多基于它的plugin,tablesorter 就是一个。
上面有好多例子,就不转贴了。最近做了一个小东西,用到了它。
因为是财务的东西,金额用到了千分位,就是每多三位,加一个逗号。原来用都是按照数字来的,加了这个逗号之后,tablesorter不认为它是数字了,他认为234.00比1,234.53大。这也难怪,看了例子,如果是这种货币格式,前面如果是$符号的话,这种格式排序是没问题的。
仔细看了一下文档,原来人家已经考虑到了这样的问题,加下面代码就可以了。

$("#myTable").tablesorter({
    
headers: { 4: {sorter:"currency"}}
});

测试通过

另:推荐一篇关于中国教育讨论的文章

Popularity: 27%

上百个让你事半功倍的jquery插件

三月 20th, 2008

jQuery是一个了不起的javascript库,它可以是我们用很少的几句代码就可以创建出漂亮的页面效果。从网站的方面说,这使得javascript更加有趣。

很多jquery爱好者开发了基于jquery的插件,在这里
发现作者收集好多jquery的插件,转贴过来,给大家分享。

File upload-文件上传

Ajax File Upload
jQUploader
Multiple File Upload plugin
jQuery File Style
Styling an input type file
Progress Bar Plugin

Form Validation-表单验证

jQuery Validation
» More: 上百个让你事半功倍的jquery插件

Popularity: 81%