作用:
擴展jQuery插件和方法的作用是非常強大的,他可以節(jié)省大量的開發(fā)時間
方法一:
類級別的封裝方法:就是擴展jQuery類本身的方法葫辐,為它增加新的方法伴郁。(不常用焊傅,不方便綁定元素)
1.定義方法:
第一種:
$.函數(shù)名=function(自定義參數(shù)){ 插件的代碼 }
第二種:
$.extend({
函數(shù)名:function(自定義參數(shù)){
插件的代碼
}
})
2.例如:
//第一種在$類中添加方法
$.ran = function(min,max){
return parseInt(Math.random()*(max-min+1)+min);
}
//調用:alert($.ran(1,100))
//第二種 可以定義多個函數(shù)
$.extend =({
ran: function (min,max) { return parseInt(Math.random()*(max-min+1)+min); },
fun: function () { alert(1) },
fun2: function () { ... }
})
//調用:document.write($.ran(1,100))
//$.fun()
方法二:
對象級別的插件擴展(重點)
1狐胎、定義的方法:
$.fn.extend({
函數(shù)名:function(自定義參數(shù)){
插件的代碼
}
})
2、例如:
$.fn.extend({
randomColor:function(){
var r=parseInt(Math.random()*256)
var g=parseInt(Math.random()*256)
var b=parseInt(Math.random()*256)
$(this).css("background","rgb("+r+","+g+","+b+")")
}
})
//調用:$("div").randomColor()
方法三:
封裝拖拽
$.fn.extend({
drop:function(){
$(this).css("position", "absolute") //設定絕對定位
$(this).on("mousedown", function(e){
var l = e.offsetX; //鼠標距離事件源左邊的距離
var t = e.offsetY;
var that = $(this)
$(window).on("mousemove", function (e) {
$(that).css({ left: e.pageX - l + "px", top: e.pageY - t + "px" });
})
$(window).on("mouseup", function() {
$(window).off("mousemove")
})
})
}
})
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者