jquery学習ノート5:雑種記録

3725 ワード

jquery core     $.each $.map $.noop

1イベントエージェント
  $("table").on(「click」,「td」,fn)は$(「table td」)より優れている.bind("click",fn)
2 HTMLに格納されているデータ属性
設定値:$(「div」).data("name",value)  
取得:$(「div」).data("name")  
  

3.jqueryオブジェクトの拡張方法:
中央$(「div」).center()
$.fn.center=function(){

           this.css("position","absolute");

           this.css("top",($(window).height()-this.height())/2+$(window).scrollTop()+"px");

           this.css("left",($(window).width()-this.width())/2+$(window).scrollLeft()+"px"); 

}        

ログコンソール
$.log=$.fn.log=function(msg){

        if(console){

                 console.log(msg)

        }    

}        

4.新しいウィンドウをリセットして開く
  $("a[href^='http://']").attr("target","_blank")
5.ページ右クリックメニューを無効にする
  $(document).bind("contentmenu",function(e){return false;})
6.ローカルストレージ
  localStorage.name=value;
  localStorage.setItem(name,value);
    localStorage.getItem("name");
7.タイプ判定、空の方法
$.isFunction()   
$.isPlainObject()
$.noop()
 
プラグインの遅延ロード
/**

 * @author yinshen

 * img  lazy data_src      ,   window  ,

 * callback     

 * pre        

 */

$.fn.scrollLoading=function(opt){

    var _default={

        callback:$.noop,

        pre:100        

    };

    opt=$.extend({}, _default, opt || {})

    var scrollData=[];

    $(this).each(function(){

        scrollData.push({

            obj:this,

            src:this.data_src,

            tag:this.nodeName.toLowerCase()

        });            

    });

    

    //             

    function isInner(obj){

        return 

            (obj.offset().top-$(window).scrollTop()>0&&obj.offset().top-$(window).scrollTop()<opt.pre)&&//obj     

            (obj.offset().top+o.height()-$(window).scrollTop()<$(window).height()+opt.pre);//obj     

    }

    

    function loading(){

        $.each(scrollData,function(i,o){

            if(isInner($(o.obj))){

                //     ,   data_src src

                if(o.src&&o.nodeName.toLowerCase()=="img"){

                    o.obj.src=o.src;

                    o.obj.data_src=o.src="";

                }

                $.isFunction(opt.callback)?opt.callback.apply(o.obj):"";

            }

        });            

    }

        

    loading();    

    $(window).bind("scroll", loading);

}