js

来源:互联网 发布:什么软件看电子书免费 编辑:程序博客网 时间:2024/06/05 18:05
1.定时计数器:setInterval(函数,时间值毫秒量);   //代表每多少毫秒执行一次函数
          setTimeout(函数,时间值);         //代表多少毫秒后时间到
          clearInterval(变量值);            //关闭定时器
          clearTimeout(变量值);            //关闭定时器
2.无缝滚动:offsetleft  //获取当前对象的left值


Dom
3.创建元素:① oLi=document.createElement('type');
        ② 父标签.appendChild(oLi);
4.插入元素:父.insertBefore(子,在谁之前);
5.删除元素:父.removeChild();
6.父级元素:parentNode
7.子级元素:children
8.文档碎片:   var oFrag=document.createDocumentFragment();
           oFrag.appendChild(oLi);
           oUl.appendChild(oFrag);
9.表格:① 获取tbody 的快捷方式:tBodies
    ② 获取行:rows
     ③ 获取列:cells
    ④ 获取表头:tHead

10.运动:①匀速运动:
    clearInterval(timer);
    timer=setInterval(function(){
        var speed=1;
        if(oDiv.offsetLeft>=300){
            clearInterval(timer);
        }
        else{
            oDiv.style.left=oDiv.offsetLeft+speed+'px';
        }
    },30);

    ②变速运动
    setInterval=(function(){
        var speed=Math.ceil(500-oDiv.offsetLeft)/20);
        oDiv.style.left=oDiv.offsetLeft+speed+'px';
    },30);

    ③完美运动框架     
// JavaScript Document

function getStyle(obj,name){
    if(obj.currentStyle){
        return obj.currentStyle[name];    
    }    
    else{
        return getComputedStyle(obj,false)[name];
    }
}
function startMove(obj,json,fnEnd){
    clearInterval(obj.timer);
    obj.timer=setInterval(function(){
        var bStop=true;
        for(var attr in json){
            var cur=0;
            
            if(attr=='opacity'){
                cur=Math.round(parseFloat(getStyle(obj,attr))*100);
            }
            else{
                cur=parseInt(getStyle(obj,attr));
            }
            var speed=(json[attr]-cur)/6;
            speed=speed>0?Math.ceil(speed):Math.floor(speed);
            if(cur!=json[attr]) bStop=false;
            if(attr=='opacity'){
                obj.style.filter='alpha(opacity:'+(cur+speed)+')';
                obj.style.opacity=(cur+speed)/100;    
            }
            else{
                obj.style[attr]=cur+speed+'px';
            }
        }
        if(bStop){
            clearInterval(obj.timer);
            if(fnEnd)fnEnd();    
        }
    },30);
}    


11.js事件  
    ①获取事件:
    oBtn.onclick=function (ev){
        var oEvent=ev||event;
        
    };
    ②取消事件冒泡
    oEvent.cancelBubble=true;
    ③鼠标事件
    function getPos(ev){
        var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
        var scrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft;
        return {x:scrollLeft+ev.clientX,y:scrollTop+ev.clientY};
    }
    
    var pos=getPos(oEvent);
    oDiv.style.left=pos.x;
    oDiv.style.top=pos.y;
    ④事件绑定函数
    function myAddEvent(obj,ev,fn){
        if(obj.attachEvent){
            obj.attachEvent('on'+ev,fn);
        }
        else{
            obj.addEventListener(ev,fn,false);
        }
    }
12.正则表达式
var re=new rgExp();
match();   //将符合要求的放到数组里
/\d/    //查单个数字
/\d/g   //所有数字
/\d+/    //若干
/不|是/  //|是或
/[abc]px/g  //找到apx bpx cpx
/[a-z]/      //范围a-z
/^a-z0-9/       //排除a-z0-9
/<[^<>]+>/g     //过滤标签
\w         //英文数字下划线
\s            //空白字符
{n}         //正好n次
{n,m}       //最少n次,最大m
{n,}        //无限大
()?            //()里可有可无
[1-9]\d{7}  
//i        //不区分大小写
replace(re,'0'); //符合要求的替换成0