又一枚iframe高度自适应代码 - (兼容FF,Opera,Safari多浏览器)

  1. <script type="text/javascript">
  2. function  SetCwinHeight(iframeObj){  
  3. if  (document.getElementById){   
  4.    if  (iframeObj){  
  5.      if  (iframeObj.contentDocument && iframeObj.contentDocument.body.offsetHeight){  
  6.       iframeObj.height = iframeObj.contentDocument.body.offsetHeight;  
  7.       }  else   if  (document.frames[iframeObj.name].document && document.frames
  8. [iframeObj.name].document.body.scrollHeight){  iframeObj.height = document.frames
  9. [iframeObj.name].document.body.scrollHeight;  
  10.       }  
  11.     }  
  12.   }  
  13. }  
  14. </script>
  1. <iframe name="frameContent" src="*" frameborder="0" width="100%" onload="SetCwinHeight
  2. (this)"></iframe>

注:标记*号的地方填入iframe页面的地址。需要注意的是,src地址必须是在同一网站下,否则会出现“权限被禁止”的错误。

jquery筛选数组之grep、each、inArray、map的用法及遍历json对象

grep
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
    function(){
        var array = [1,2,3,4,5,6,7,8,9];
        var filterarray = $.grep(array,function(value){
            return value > 5;//筛选出大于5的
        });
        for(var i=0;i<filterarray.length;i++){
            alert(filterarray[i]);
        }
        for (key in filterarray){
            alert(filterarray[key]);
        }
    }
);
</script>

 

each
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
    function(){
        var anObject = {one:1,two:2,three:3};//对json数组each
        $.each(anObject,function(name,value) {
            alert(name);
            alert(value);
        });
        var anArray = ['one','two','three'];
        $.each(anArray,function(n,value){
            alert(n);
            alert(value);
        }
        );
    }
);
</script>

inArray
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
    function(){
        var anArray = ['one','two','three'];
        var index = $.inArray('two',anArray);
        alert(index);//返回该值在数组中的键值,返回1
        alert(anArray[index]);//value is two
    }
);
</script>

map
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
    function(){
        var strings = ['0','1','2','3','4','S','6'];
        var values = $.map(strings,function(value){
                var result = new Number(value);
                return isNaN(result) ? null:result;//isNaN:is Not a Number的缩写
            }
        );
        for (key in values) {
            alert(values[key]);
        }
    }
);
</script>

 

遍历json对象
<script>
var json = [{dd:'SB',AA:'东东',re1:123},{cccc:'dd',lk:'1qw'}];
for(var i=0,l=json.length;i<l;i++){
    for(var key in json[i]){
        alert(key+':'+json[i][key]);
    }
}
</script>

遍历json对象
有如下 json对象:
var obj ={”name”:”冯娟”,”password”:”123456″,”department”:”技术部”,”sex”:” 女”,”old”:30};
遍历方法:
for(var p in obj){
    str = str+obj[p]+’,';
    return str;
}

备忘:一句话js使input只能输入数字

<input name="start_price" id="start_price" type="text" size="5" onkeyup="value=value.replace(/[^\d]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"/>

 

table居中:

<div   align=center   valign=middle>
<table>
<tr> <td> 居中 </td> </tr>
</table>
</div>

 

parseInt()js数字相加

 

 

 

在当前鼠标位置显示div

var mousePos; 
function mousePosition(ev){ 
    if(ev.pageX || ev.pageY){ 
        return {x:ev.pageX, y:ev.pageY}; 
    } 
    return  {x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, 
     y:ev.clientY + document.body.scrollTop  - document.body.clientTop};      

//显示出一个层,divId:层id;x:右偏移像素;y:下偏移像素; 
function openDiv(divId,x,y){ 
    if(x==null){x=0;} 
    if(y==null){y=0;} 
    if(document.getElementById(divId)!=null){ 
        var dvs=document.getElementById(divId).style;    
        dvs.left=parseInt(mousePos.x)+parseInt(x)+'px';
        dvs.top=parseInt(mousePos.y)+parseInt(y)+'px'; 
        dvs.display="block";
    } 

function mouseMove(ev){  
    ev = ev || window.event;  
    mousePos = mousePosition(ev);  

window.document.onmousemove = mouseMove; 

标签: input, 居中, div, text, table

字符截取中文防乱码 .chr(0) 解决一切

 

PHP代码

<?php    

$len = 19;    

$text = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?";    

echo strlen($text)<=$len ? $text : (substr($text,0,$len).chr(0)."....");    

?>   

chr(0)不是null 

null是什么都没有,而chr(0)的值是0。表示成16进制是0x00,表示成二进制是00000000 

虽然chr(0)不会显示出什么,但是他是一个字符。 

当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。而值为0x81到0xff与0x00组合始终都显示为“空” 

根据这一特点,在substr的结果后面补上一个chr(0),就可以防止出现乱码了 

注: 

编码 第一字节 第二字节 

gb2312 0xa1-0xf7 0xa1-0xfe 

gbk 0x81-0xfe 0x81-0xfe 0x40-0x7e 

big5 0xa1-0xf7 0x81-0xfe 0x40-0x7e

 

另一种方法: 

PHP代码

function csubstr($text, $limit) {    

    $s = ';    

    for($i=0;$i< $limit-3;$i++) {    

        $s .= ord($text[$i])>127 ? $text[$i].$text[++$i] : $text[$i];    

    }    

    return $s;    

}   

以上仅适用于 gb2312 编码,如果是UTF-8 的话需要把第4行改为 

 

PHP代码

$s .= ord($text[$i])>127 ? $text[$i].$text[++$i].$text[++$i] : $text[$i];   

UTF-8 中的汉字是 3 个字节。

request.getParameterNames, request.getParamenter,request.getParameterValues()的使用

<form>

         <input type="text" name="a" value="avalue">

        <input type="text" name="b" value="bvalue">

       <input type="text" name="c" value="cvalue">

       <input type="text" name="d" value="dvalue">

</form>

Enumeration      test=request.getParameterNames();  
       String name=null;
       String nameValue=null;
       while(test.hasMoreElements()){  
                    name=(String)test.nextElement();
                    nameValue=request.getParameter(name);

                    System.out.println("name==========="+name+"=======value========"+nameValue);

}

///////////////////////////for(Enumeration iter=request.getParameterNames(); iter.hasMoreElements();){
////////////////////////////             String element
=
(String) iter.nextElement();}

打印出来的结果是:name===========a=======value========avalue

name==========="+name+"=======b========bvalue

name==========="+name+"=======c========cvalue

name==========="+name+"=======d========dvalue

String aValue=request.getParameter("a");

============================================================

getParameterValues用在同一个name有多个value的情况,多数用在复选框

request.getParameterValues

<form>

         <input      type="text" name="a" value="a1">

<input      type="text" name="a" value="a2">

<input      type="text" name="a" value="a3">

<input      type="text" name="a" value="a4">

</form>

String[] aValue=null;
       aValue=request.getParameterValues("a");
       for(int i=0;aValue!=null&&i<aValue.length;i++){

               System.out.println(aValue[i]);

}