• Day048--jQuery自定义动画和DOM操作


    内容回顾

    BOM

    • location.reload() 全局刷新页面
    • location.href
    • location.hash
    • location.pathname
    • location.hostname
    • location.origin 源(同源策源(查阅资料))始地址

    client,offset,scroll

    • document.documentElement.clientWidth 屏幕可视宽度
    • offsetTop 到页面顶部的距离
    • scrollTop 页面卷起的高度

    jQuery核心的思想

    write less, do more 写的少 做的多
    

    jQuery的入口函数

    //它们 是没有事件覆盖现象
    $(document).ready(fn);
    $(fn);
    
    //窗口加载 
    $(window).ready(fn)
    

    为什么要学习jQuery

    js的先天性不足

    • window.onload()的事件覆盖现象
    • 代码容错量大
    • 兼容性不好
    • 动画效果难以实现
    • 代码比较乱

    jQuery的98%的都是方法

    jQuery的选择器(选中DOM)*

    $('')

    基本选择器

    • id选择器
    • 类选择器
    • 标签选择器
    • 子代
    • 后代
    • 组合
    • 交集
    • 通配符
    • 兄弟 + ~

    基本过滤选择器 + 属性选择器

    • $('li:eq(index)')
    • :gt(index)
    • :lt(index)
    • :odd
    • :even
    • :first
    • :last
    • input[type='text']

    筛选的方法***

    • $('li').eq(index)
    • find(selector) 后代
    • children() 亲儿子
    • parent() 亲爹
    • siblings() 选取兄弟(除了它自己 )

    jQuery和js对象相互转换**

    //js==>jquery
    $(js对象)
    jquery对象 => js对象
    $('li')[index];
    $('li').get(index);
    

    jQuery的动画

    显示隐藏动画

    show();
    hide(3000,fn);
    toggle(3000,fn)
    

    卷帘门效果

    slideDown(); //显示
    slideUp();//隐藏
    slideToggle() //开关式的显示隐藏
    

    淡入淡出效果

    fadeIn();//显示
    fadeOut();//隐藏
    fadeToggle()//开关式的显示隐藏
    

    额外内容

    click
    css(); //样式属性操作  oDiv.style.xxx
    text(); //innerText
    html(); //innerHtml
    val();        //value
    
    addClass();
    removeClass()
    

    今日内容

    jQuery的自定义动画

    $(selector).animate({css的属性},speed,fn)
    

    要想修改背景颜色,那么要借助与jquery的插件 https://github.com/jquery/jquery-color/blob/master/jquery.color.js

    使用动画的时候一定要先stop() 再开启动画,使用定时器的时候 要先清定时器,再开定时器

    jQuery的DOM操作

    标签属性操作

    attr()  //getAttrbute() setAttrbute() 路径的相对地址
    removeAttr() //removeAttibute()
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <img src="./xiaohua.jpg" alt="" >
    <script src="./libs/jquery-3.3.1.js"></script>
    <script>
        $(function () {
    
            //attr
            //获取值
            console.log($('img').attr('src')); //./xiaohua.jpg
            //设置值
            $('img').attr('alt','美女'); //./xiaohua.jpg
    
             //设置多个标签属性值
             $('img').attr({
                 'aaa':'美女',
                 'bbbb':'个哈哈哈'
             });
    
             //移除 removeAttr()
            setTimeout(()=>{
                //移除单个属性
               // $('img').removeAttr('alt');
    
    
               //移除多个属性
                $('img').removeAttr('alt aaa bbbb');
            },3000)
    
        })
    </script>
    </body>
    </html>
    

    注意: 不要使用attr()或者prop()来设置类名

    对象属性操作

    prop()  //oDiv.id  
    removeProp()  //oDiv.id = ''
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .active{
                border: 1px solid red;
            }
        </style>
    </head>
    <body>
    <img src="./xiaohua.jpg" alt=""  class="box">
    <script src="./libs/jquery-3.3.1.js"></script>
    <script>
        $(function () {
    
            //获取值
            console.log($('img').prop('src'));
            $('img').prop('aaaa','美女');
            $('img').prop({
                'bbb':'哈哈',
                'aa':'嘿嘿'
            });
    
    
    
            //移除 removeProp() 删除一个属性
            $('img').removeProp('aa');
            $('img').removeProp('bbb');
    
            console.log($('img'));
    
    
            setTimeout(()=>{
    
            },3000)
    
        })
    </script>
    </body>
    </html>
    

    类的操作

    addClass() //添加类
    removeClass() //移除
    toggleClass() //添加|移除
    

    值的操作

    //如果不传参数 表示获取值
    //如果传参数,表示设置值
    text();// innerText 设置文本的内容
    html(); //innerHTML 即设置文本又设置标签
    val(); //value
    

    样式属性操作

    //如果有一个参数,参数是字符串表示获取值,参数是对象,表示设置多个值
    //如果有两个参数,表示设置值
    $(selector).css();
    

    操作input中value的值

    下拉列表

    <select name="timespan" id="timespan" class="Wdate"  multiple="multiple" >
        <option value ='1' selected>alex</option>
        <option value = '2' selected="">wusir</option>
        <option value = '3'>wulaoban</option>
    </select>
    
    总结:
    1.如果option中的属性有value,优先使用value设置
    $('#timespan').val(['1','3']);//选中1 和3选项
    2.如果没有value,那么使用标签的文本内容设置
    $('#timespan').val(['alex','wulaobnan']) //选中1 和 3 选项
  • 相关阅读:
    eclipse中的TODO和FIXME
    使用mui框架后a标签无法跳转
    java.lang.OutOfMemoryError: Java heap space异常
    mysql中表触发器的简单使用
    编写第一个 Java 程序
    QDialog类exec()与show()的区别
    Qt中信号槽connect的多种类型
    2.3 UML活动图
    2.2 UML用例模型
    2.1 uml序言
  • 原文地址:https://www.cnblogs.com/surasun/p/9952433.html
Copyright © 2020-2023  润新知