jQuery开发页面

兼容性优良,出色的DOM操作ajax封装,链式操作,隐式迭代,其他插件支持的特性

Posted by page on June 24, 2020

引入

<scipt src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

常用

判断

$ele.hasClass("transition")        //判断元素是否含有参数类
$ele.is(":visible/hidden")      //判断元素display显示/隐藏状态

遍历

HTMLCollection.each(function(){
    ...
    return; //continue循环
    return false; //break循环
})

序列化

$("form").serialize() 序列化form内表单数据为json串并返回

拓展

自定义js插件(extend)

基于jquery对象添加方法

$.fn.extend({name:function(){  
  ..插件代码  
}})  
// 或者$.fn.name = function(){...}  
// 对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”  

基于jQuery类添加方法

jQuery.extend({  
  min: function(a, b) { return a < b ? a : b; },  
  max: function(a, b) { return a > b ? a : b; }  
});  
// 或者使用一个/多个其他对象拓展指定对象
var settings = { validate: false, limit: 5, name: "foo" }; 
var options = { validate: true, name: "bar" }; 
// jQuery.extend(settings, options); 
// 结果:settings == { validate: true, limit: 5, name: "bar" }

proxy

// 返回作用域修改后的函数
$ele.on("click",$.proxy(obj.show,obj));//show为返回函数,obj为指定的作用域对象
$ele.on("click",$.proxy(obj,"show"));//指定obj对象的"show"方法作用域(this)为该对象

动画

滚动添加过渡动画效果

$("html,body").animate({
 scrollTop : $floor.offset().top
});