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);
}