工具&利器

网页前端之碎片整理

 

手册相关

w3c手册

插件相关

SlidesJS   基本使用

是一个简单的,容易定制和风格化,的jQuery幻灯片插件。

layDate时间控件

IE兼容

使用场景 : 如果想给上传按扭 用 for关联起隐藏上传按扭换成span或其它标签来关联上传按扭

兼容性: IE9以上兼容 for 关联上传按扭

<label for="bulk-file">
   <img width="72" src="../images/bulk-file.png" alt=""><br>
                            上传清单
   <input style="display:none" id="bulk-file" type="file" value="上传" />
</label>

HTML相关

HTML中的IF ELSE

<style type="text/css">
.className{padding:10px;}
</style>
<!--[if IE]>
<style type="text/css">
.className{padding:40px;}
</style>
<![endif]-->

 

jQuery相关

根据键盘事件获取字数

    //获取ID content的字数  动态的放到类为.contNum中
    $("#content").keyup(function(){
        var nowNum = $(this).val().length;
        var countNum = $(".countNum").html(nowNum);
    })

 点击某个按扭相当于点击了另一个指定的按扭

 //点击重新上传相当于点击了上传文件
    $("#resetUplode").click(function(){
        $("#imgOne").click();
    })

javascript原生代码

JS获取当前时间戳的方法
第一种方法:

var  timestamp  =  Date.parse( new  Date());

结果:1280977330000

第二种方法:

var  timestamp  =  ( new  Date()).valueOf();

结果:1280977330748

第三种方法:

var timestamp = new  Date().getTime();

结果:1280977330748

第一种:获取的时间戳是把毫秒改成000显示,

第二种和第三种是获取了当前毫秒的时间戳。

 

JS将时间截转成时间格式

 

同步服务器时间:

浏览器与服务端相差 8小时 所以JS端获取时间后应加上28800,JS是以毫秒计算的所以有必要乘1000

进入页面获取服务初始时间然后通过JS计算时间
1.获取通时间截每一秒加1000ms

2.通过下面函数将时间截转回时间格式为 y/m/d h:i:s

setInterval 用法可以查找相关手册

var d=new Date(1230999938); 

alert(formatDate(d));
function formatDate(now) { 

var year=now.getFullYear();  
var month=now.getMonth()+1;  
var date=now.getDate();  
var hour=now.getHours();  
var minute=now.getMinutes();  
var second=now.getSeconds();  
return year+"/"+month+"/"+date+" "+hour+":"+minute+":"+second;  
} 

 

 

页面刷新前提示用户_js刷新事件

document.body.onbeforeunload = function (event)
    {
        var c = event || window.event;
        if (/webkit/.test(navigator.userAgent.toLowerCase())) {
            return "离开页面将导致数据丢失!";
        }
        else
        {
            c.returnValue = "离开页面将导致数据丢失!";
        }
}

ajax 同步和异步的区别

同步会阻塞后面的代码,也就是说假设这个ajax请求要3 5秒,浏览器就会阻塞住3 5秒不执行后面的,知道等到ajax请求完成。 而且同步不能直接使用jsonp。
异步不能在回调之外直接拿到返回的data,要拿的话自行

同步需要等待返回结果才能继续,异步不必等待,一般需要监听异步的结果
同步是在一条直线上的队列,异步不在一个队列上 各走各的

/*之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题。最近的项目用了到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。 
而异步则这个AJAX代码运行中的时候其他代码一样可以运行。 
jquery的async:false,这个属性 
默认是true:异步,false:同步。*/
$.ajax({ 
        type: "post", 
       url: "path", 
       cache:false, 
       async:false, 
        dataType: ($.browser.msie) ? "text" : "xml", 
         success: function(xmlobj){ 
        } 
});

 

发表评论