前端笔记之jquery

javascipt库:即library,一个封装好的特定的集合(方法和函数)
    常见的库:jQuery/Prototype/YUI/Dojo/Ext JS/移动端的zepto
    jquery里面用双引号
<script>
    
    //jQuery封装了JavaScript常见功能:DOM操作,事件处理,动画设计,Ajax交互
    写法:
    $(function(){
        $('');
    })

    $是jQuery的顶级对象,
    ~用原生js获取的对象为DOM对象,只能用js属性和方法
    ~:用jQuery获取的对象为jQuery对象(伪数组形式存储)$('');只能用jquery的方法

    jQuery对象和DOM对象相互转换:
    1.$(DOM对象)
    2.$('div')[index]//index索引号
      $('div').get(index)
    
    jquery常用API
    1.选择器:$("")
    ID、全选、类、标签、并集("div,li,ul")、交集("li.current")、子代("ul>li")、后代("ul li")
    2.筛选选择器:$("li:first")$("li:last")
    所有li中引号为2的li:$("li:eq(2)")
    奇数:$("li:odd")、偶数:$("li:even")
    3.筛选方法:
    父亲:.parent();√ 
    所有父级:.parents(".one");
    亲儿子:.children("li");√
    后代选择器:.find("li");√
    兄弟节点不包括自己:.siblings("li");√
    当前元素之后所有.nextAll();
    当前元素之前所有.prevAll();
    检查是否含有某个类,返回true
    .hasClass("protected");
    相当于索引号查找.eq(2);√


    jQuery修改样式:
    1.(隐式迭代:所有元素内部进行遍历循环,给每一个元素添加css,可替代for循环)
    $("div").css("background","pink");

    2.css.("weight",300)//数字可不加单位和引号
    修改多个属性:以对象形式修改
      $("div").css({
          weight:400,
          backgroundColor:"red"
      })

    3.$(this)jQuery当前的元素,显示元素:show();
    $(function(){
        $(".nav>li").mouseleave(function(){
            $(this).children("li").hide();
        })
    })

    4.排他思想:tab导航栏切换等
    利用其余兄弟节点方法

    5.获取索引号:
    var index = $(this).index();
    $("#content div").eq(index).show();

    6.链式编程
 $(this).css('color','red').siblings().css()

    7.操作样式,应用于切换内容较多,
    添加类://相当于追加类名
    $(this).addClass("current");
    删除类:
    $(this).removeClass("current");
    切换类
    $(this).toggleClass("current");

    8.动画效果:[speed,easing,fn()]
    .show("speed",function(){});
.hide();
.toggle();
    //一般情况下不加参数
    .slideDown("speed",function(){});.slideUp();.slideToggle();
    //slideDown(500);
    .fadeIn("speed",function(){});.fadeDown();.fadeToggle();
    修改透明度:.fadeTo(speed,pacity,easing,fn());
    //要写时间和透明度(1000,0.5);
    .animate(params,speed,easing,fn());
    //params是样式属性,以对象的形式传递
    .animate({
        width:300,
        height:200,
        pacity:0.5
    })

    9.事件切换:hover([over,]out)
    $(".nav>li").hover(function(){},function(){});
    //鼠标经过和离开
    $(".nav>li").hover(function(){
         $(this).children("ul").slideToggle();
    })
    //鼠标经过和离开都会触发这个函数

    10.动画队列:防止连续触发出现bug
    //stop必须写到动画/效果前面
    $(this).children("ul").stop().slideToggle();

    11.change();//
    设置或获取元素的固有属性:prop("")
    修改元素的固有属性:prop("table","我们都挺好")
    设置或获取元素的自定义属性:attr("")
    修改元素的自定义属性:attr("table","我们都挺好")
    数据缓存:data("uname","andy")//放在内存里面
    获取:.data("uname")//获取h5自定义属性时,不用写data-开头,且返回的是数字型

    12.:checked选择器,可查找被选中的表单元素
    $("input:checked").length//输出数字

    13.文本内容
    获取设置元素内容:.html();
    获取设置元素内容:.text();//忽略标签
    获取设置表单值:val();//相当于value
    
    函数function中遇到return后面代码就不执行了。
    去掉单位,截取字符串用.substr(1);//从第一个开始截取
    保留小数:.toFixed(2);//2位小数

14.jquery遍历对象
 1.each方法//
        $("div").each(function (index, domEle) {
            parseInt($(domEle).text());
        })//domEle是DOM对象,即需要转换$(domEle);
        2.$.each($("div"),function (i, ele){})//处理数据
        如数组:$.each(arr,function (i, ele){})

15.添加元素:
 内部添加:$("ul").append("li");//ul内部最后面
                 $("ul").prepend("li");//ul内部最前面

外部添加:$(".text").after("div");
                 $(".text").before("div");
删除元素:$("ul").remove();//自杀
                $("ul").empty("li");//删除全部子节点
                $("ul").html("");

 16.返回数字型,可修改
jQuery尺寸方法:width();height();//本身宽高
innerWidth();包含padding
outerWidth();包含padding、border
outerWidth(true);包含padding、border、margin

   17.返回对象
offset()/offset().top/offset({top:200});//设置元素距离文档的偏移,
postion();//距离带有定位的父亲的位置scrollTop();scrollLeft();//被卷去的位置,应用页面被滚动

 18.节流阀:var flag = true;//适应于相同的元素有多个操作,防止程序混乱

  19. jQuery单个事件注册:mouseover、mouseout、blur、focus、change、keydown、keyup、resize、scroll
        
 事件处理,委托,解绑:
1.element.on(events,[selector],fn);
//events,对象类型,多个事件注册 
 .element.on({
         mouseenter: function(){},
              click:function(){},
              mouseleave:function(){}
        },function(){})
        .element.on("mouseenter mouseleave",function(){})
        2.把原来加在子元素上的事件绑定在父元素身上,
        $("ul").on("click","li",function(){});
        3.解绑:
        $("p").off();//解绑p元素所有事件处理程序
        $("p").off("click");//解绑p的点击事件
        $("p").off("click","li");//解绑事件委托

        click等事件不能给动态创建的元素添加事件,只有on可以
        .one("click",function(){});只能触发事件一次

        自动触发事件trigger();
        1.element.click();
        2.element.trigger("事件");
        3.element.triggerHandler("事件");//不会触发元素的默认行为

        事件对象的产生:
        阻止默认行为:event.preventDefault();/return false;
        阻止冒泡:event.stopPropagation();

  jQuery拷贝对象:
        $.extend([deep],target,object1,[objectN])
        //[deep]为true深拷贝,不影响被拷贝对象,false浅拷贝是把被拷贝的对象复杂数据类型中的地址拷贝给目标对象,修改对象会影响被拷贝对象,
        // target要拷贝的对象,object1待拷贝到第一个对象的对象

        jquery多库共存:
        1.用jquery代替$
        2.var suibian = jQuery.noConfilct();
        suibian.each();


        1.瀑布流演示:jquery插件
        2.图片懒加载:插件库EasyLazyload必须写在DOM元素最后面
        3.全屏滚动:
        4.bootstrap JS插件:在最上面加
        <div class="container"></div>
        5.存储数据的格式:var todolist = [{title: '', done:flase}]
        //只存储字符串形式,把数组转换为字符串形式为JSON.stringify()
        //获取本地存储的字符串,要转换为对象格式JSON.parse();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值