zoukankan      html  css  js  c++  java
  • jQuery——过时,但是经典,关注核心点即可。

    jQuery 是一个着重简化 DOM 操作,AJAX 调用和事件处理的 JavaScript

        jq:js库,封装了大量的特定集合【函数和方法】——方法应用熟练即可

            如:animate()、css()、show()

        使用jq提高开发效率,简化dom操作

        常见js库{对原生JS的封装}:jQuery    YUI     Dojo    zepto   ExtJs

    常见API:通过将原生js包装成jQuery对象

        $   --------->  jQuery   

    =====================

    //DOM对象转jQuery对象

    var domToJq = $(box).html;

    //jQ转DOM

    var $box = $('.box');

    var jqToDom = $box[0];

    var jqToDom = $box.get(0);


    jQuery选择器

        $(selector)

            $('#id')    $('p')  $('.class')    $('*')       $('div.p')     $('div.box')

            $('ul li')      $('div>p')

        $('ul li:first')

        $('ul li:eq(0)')

        $('li:eq(6)'):所有li元素从上到下排序

        $('ul li:odd'):奇数行

        $('ul li:even'):偶数行

    筛选方法;

        parent()                $('li').parent()                直系父亲

        children(selector)      $('ul').children('li')          直系儿子

        find(selector)          $('ul').find('p')               所有后代

        siblings(selector)      $('div').siblings('li')         兄弟节点,不包含自己

        nextAll()               $('li:eq(2)').nextAll()         第三个li之后的所有

        prevAll()               $('li:eq(2)').prevAll()         第三个li之前的所有

        hasClass()              $('div').hasClass('demo')

        eq(index)               $('li').eq(2) ==== $('li:eq(2))')

    链式调用:[背后:行内样式实现]

        $('.first').css('width','400px');

        $('.first').css('width',300);

        $('.first').css('background','blue');

        alert($('first').css('width'));

        //设置多个样式:传参json

        $('.first').css({

            200,

            height:300,

            fontSize:20

        });

    jQuery处理样式

        css()

        //增加、去除类名(对应css样式)——动态

        addClass()      $('ul li:eq(1)').addClass('current')

        removeClass()

        toggleClass()

        hasClass()

        //click()     注册单机事件

        $('ol li:eq(1)').click(function(){

            //切换(增加删除)类名

            $(this).toggleClass('current');

            //等效于

            if($(this).hasClass()){

                $(this).addClass('current');

            }else(

                $(this).removeClass('current');

            )

        });

    动画:针对不同对象实现动画效果

      

    //现实与隐藏

        show(speed,easing,cb)  

        设置宽高透明度动画效果

        show()              show(1000):1s内显示             show('fast')[200 million Seconds]    show('slow')    show('normal')   

        hide()             

        toggle()

        //滑动

        slideDown()             往下滑出

        slideUp()               往上卷入

        slideToggle()          

        //淡入淡出

        fadeIn()

        fadeOut()

        fadeToggle()

        fadeTo()                透明度具体到某个值fadeTo(400,0.8)   切记:第一个参数 时间一定要传!

        animate()

            :$('.button').onclick = function(){

                $('.box').animate({

                    left:400,

                    top:400,

                    opacity:.5,

                    //只支持为数值的

                    //bgc——等

                });

            }

    Note: position:relative————相对于自身做运动

        stop() 停止动画排队

        //hover() : 事件切换,鼠标经过和鼠标离开的复合写法

        hover(function(){

        },function(){

        })

        //hover():如果传入一个函数,则鼠标离开、切换都执行这一个函数


    jQuery属性操作:prop() attr() data()

        // ele.prop('属性名') 获取

        prop()——设置或者获取元素固有的属性

        ex: $('a').prop('href');

        //传两个值,设置属性

        $('a').prop('target','_blank')

        //多选按钮的状态

        $('input').change(function(){

            $(this).prop('checked');

        });

        //不支持获取自定义属性

        attr()——支持获取元素自定义属性

        ——同理:支持set(参数2个)get(参数1个)方法,根据参数不同

        data()——操作数据

        ex: $('p').data('age',22)   $('p').data('age')

        //读取h5自定义属性data-uname,并且读取支持省略data前缀

        $('p').data('uname')

    Jquery操作文本

        html() html('内容')

        text()

        val()

    JQuery元素操作:创建、添加、删除、遍历

        $('div').each(function(index,ele){

            //ele 为原生dao元素

        })


        $('div').on('click',function(){

            alert('hha');

        });

        //自动触发

        //方法1: 元素.事件()

        $('p').click();

        //方法2: 元素.trgger(事件)

        $('p').trigger('click');

        //方法3: 元素.triggerHandler('click')

        $('p').triggerHandler('click')

        ex:输入框输入内容

        $('input').on('focus',function(){

            $(this).value('hello');

        });


    jq常用方法

        //复制

        $.extend(target,source)

        //会覆盖原对象相同属性的值

        //保留原对象不同属性

        //对于引用类型,同理浅层复制

        //深层复制

        $.extend(true,target,source)

    ======================

    jq操作元素尺寸

        $('div').width();                           获取

        $('div').width(300);                        设置

        $('div').innerWidth();                         获取设置 width + 左右padding \ 

        $('div').innerHeight();                        设置

        $('div').outerWidth();                         获取设置 width + 左右padding + 左右border \ 

        $('div').outerHeight();                        设置

        $('div').outerWidth(true);                     获取设置 width + 左右padding + 左右border + margin \ 

        $('div').outerHeight();                        设置

    // 不是很清晰明了使用

    //获取设置距离文档的位置

        offset():left top

        $('.son').offset({

            left:300,

            top:300

        })

        //获取距离带有定位的最近祖先偏移。假如没有定位的祖先,则以文档为准;

        //该方法只能获取,不能设置!!!!!!!!

        $('.son').position()

        scrollTop()

        scrollLeft()

        ex:

            //设置窗口滚动效果

            $('window').scroll(function(){

            });

            //返回顶部

            $('html,document,body').scrollTop(0);

            --设置动画

            $('html,body').stop.animate({

                scrollTop:0

            });

        ---注意:对元素做动画,只能使用元素html,body, 而document失效!

  • 相关阅读:
    JS 这一次彻底理解选择排序
    JS 这一次彻底理解冒泡排序
    JS script脚本async和defer的区别
    精读JavaScript模式(九),JS类式继承与现代继承模式其二
    google recaptcha 谷歌人机身份验证超详细使用教程,前端/后端集成说明
    JS 究竟是先有鸡还是有蛋,Object与Function究竟谁出现的更早,Function算不算Function的实例等问题杂谈
    NetFramework 专栏总集篇
    详解 服务发现 的基本实现
    CF150E Freezing with Style(点分治)
    LOJ6032.「雅礼集训 2017 Day2」水箱
  • 原文地址:https://www.cnblogs.com/macro-renzhansheng/p/13053563.html
Copyright © 2011-2022 走看看