玩个明白-- > jQuery(三)

前言

  看到这里了,说明博主的前两篇文章给你带来了帮助,不知看完上篇文章有没有自己练习一遍,只有多动手才能更快的提升自己喔。猜猜今天给大家分享什么知识。😎

一、jQuery 基本操作

先简单认识一下

  • jQuery 设置样式

    $('div').css('属性', '值')
    
  • jQuery 里面的排他思想

    分析:

    1. 若想要多选一的效果,排他思想
    2. 先当前元素设置样式,其余的兄弟元素清除样式
    // 当前元素设置样式
    $(this).css('color', 'red')
    // 其他的兄弟清除样式
    $(this).siblings().css('color', '')
    
  • 隐式迭代

    • 遍历内部 DOM 元素(伪数组形式存储)的过程叫做隐式迭代。

    简单理解:给匹配到的所有元素进行循环遍历,执行相应的方法,而不用我们再进行循环,简化我们的操作,方便我们调用。

    // 页面中所有的 div 元素全部隐藏,不用循环操作
    $('div').hide()
    
  • 链式编程

    // 当前元素设置样式,其他的兄弟清除样式
    $(this).css('color', 'red').siblings().css('color', '')
    

深入的认识一下

1.1 jQuery 样式操作

  常用的样式操作有两种:css() 和设置类样式方法

1.1.1 操作 css 方法

  可以使用 css 方法来修改简单元素样式;也可以操作类,修改多个样式。

  • 常见以下三种样式

    • 参数若只写属性名,则返回属性值

      $(this).css('color')
      
    • 参数是属性名,属性值,逗号分隔,是设置一组样式,属性必须加引号,值如果是数字可以不用跟单位和引号。

      $(this).css('color', 'red')
      
    • 参数可以是对象形式,方便设置多组样式;属性名和属性值用冒号隔开,属性可以不用加引号。

      $(this).css({
             color: 'blue', fontSize: '20px'})
      

注意:css() 方法多用于样式少的时候操作,多了反而不太方便。

1.1.2 设置类样式方法

  可以操作类样式,注意操作类里面的参数不要加点。

  • 常用的三种设置类样式方法

    • 添加类

      $('div').addClass('active')
      
    • 删除类

      $('div').removeClass('active')
      
    • 切换类

      $('div').toggleClass('active')
      
  • 注意

  1. 设置类样式方法比较适合样式多时操作,可以弥补 css() 方法的不足。
  2. 原生 JS 中 className 会覆盖元素原先里面的类名,jQuery 里面类操作只是对指定类进行操作,不影响原先的类名。

1.2 jQuery 效果

jQuery 给我们封装了很多动画效果,最为常见的如下:

  • 显示隐藏:show() / hide() / toggle()
  • 滑入滑出:slideDown() / slideUp() / slideToggle()
  • 淡入淡出:fadeln() / fadeOut() / fadeToggle() / fadeTo()
  • 自定义动画:animate()

注意:

  1. 动画或者效果一旦触发就会执行,如果多次触发,就造成多个动画或者效果排队执行。
  2. jQuery 为我们提供另一个方法,可以停止动画排队:stop() 方法。

1.2.1 显示隐藏

  • 显示语法规范

    show([speed, [easing], [fn]])
    
  • 显示参数

    • 参数可以省略,无动画直接显示。
    • speed:三种预定速度之一的字符串(”slow“,”normal“,or ”fast“) 或表示动画时长的毫秒数值(如: 1000)。
    • easing:(Optional) 用来指定切换效果,默认是 “swing”,可用参数 “linear”。
    • fn:回调函数,在动画完成时执行的函数,每个元素执行一次。
  • 隐藏语法规范

    hide([speed, [easing], [fn]])
    
  • 隐藏参数与显示参数的说明一致。

  • 切换语法规范

    toggle([speed, [easing], [fn]])
    
  • 切换参数与显示参数的说明一致。

代码示例

<body>
    <button class="hide">隐藏</button>
    <button class="show">显示</button>
    <button class="toggle">切换</button>
    <div class="box"></div>

    <script src="./jQuery.js"></script>

    <script>
        // 点击按钮
        $('.hide').click(function () {
   
            // 盒子隐藏
            $('.box').hide()
        })

        // 点击按钮
        $('.show').click(function () {
   
            // 盒子显示
            $('.box').show()
        })

        // 点击按钮
        $('.toggle').click(function () {
   
            // 切换显示隐藏
            $('.box').toggle()
        })
    </script>
</body>

效果如下

1.2.2 滑入滑出

  • 下滑效果语法规范

    slideDown([speed, [easing], [fn]])
    
  • 上滑效果语法规范

    slideUp([speed, [easing], [fn]])
    
  • 滑动切换效果语法规范

    slideToggle([speed, [easing], [fn]])
    
  • 参数与显示隐藏的参数说明一致。

代码示例

<body>
    <button class="slideDown">下拉滑动</button>
    <button class="slideUp">上拉滑动</button>
    <button class="slideToggle">切换滑动</button>
    <div class="box"></div>

    <script src="./jQuery.js"></script>

    <script>
        // 点击按钮
        $('.slideDown').click(function () {
   
            // 下滑动
            $('.box').slideDown()
        })

        // 点击按钮
        $('.slideUp').click(function () {
   
            // 上滑动
            $('.box').slideUp()
        })

        // 点击按钮
        $('.slideToggle').click(function () {
   
            // 滑动切换
            $('.box').slideToggle()
        })
    </script>
</body>

效果如下

1.2.3 淡入淡出

  • 淡入效果语法规范

    fadeIn([speed, [easing], [fn]])
    
  • 淡出效果语法规范

    fadeOut([speed, [easing], [fn]])
    
  • 淡入淡出切换效果语法规范

    fadeToggle([speed, [easing], [fn]])
    
  • 参数与显示隐藏的参数说明一致。

  • 渐进方式调整到指定的不透明度

    • 语法规范

      fadeTo([[speed],opacity,[easing], [fn]])
      
    • 效果参数

      • opacity:透明度必须写,取值 0~1 之间。
      • speed:三种预定速度之一的字符串(”slow“,”normal“,or ”fast“) 或表示动画时长的毫秒数值(如: 1000)。必须写。
      • easing:(Optional) 用来指定切换效果,默认是 “swing”,可用参数 “linear”。
      • fn:回调函数,在动画完成时执行的函数,每个元素执行一次。

代码示例

<body>
    <button>淡入效果</button>
    <button>淡出效果</button>
    <button>淡入淡出切换</button>
    <button>修改透明度</button>
    <div class="box"></div>

    <script src="./jQuery.js"></script>

    <script>
        // 点击按钮
        $('button').click(function () {
   
            // 淡入
            $('.box').fadeIn(1000)
        })

        // 点击按钮
        $('button').click(function () {
   
            // 淡出
            $('.box').fadeOut(1000)
        })

        // 点击按钮
        $('button').click(function () {
   
            // 淡入淡出切换
            $('.box').fadeToggle()
        })

        // 点击按钮
        $('button').click(function () {
   
            // 修改透明度
            $('.box').fadeTo(1000, 0.5)
        })
    </script>
</body>

效果如下

1.2.4 自定义效果

  自定义动画非常强大,通过参数的传递可以模拟以上所有动画。

  • 语法规范

    animate(params,[speed],[easing],[fn])
    
  • 参数

    • params:想要更改的样式属性,以对象形式传递,必须写。属性名可以不用带引号,如果是复合属性则需要采取驼峰命名法 borderLeft。其余参数都可以省略。
    • speed:三种预定速度之一的字符串(”slow“,”normal“,or ”fast“) 或表示动画时长的毫秒数值(如: 1000)。
    • easing:(Optional) 用来指定切换效果,默认是 “swing”,可用参数 “linear”。
    • fn:回调函数,在动画完成时执行的函数,每个元素执行一次。

代码示例

<body>
    <button>自定义动画</button>
    <div class="box"></div>

    <script src="./jQuery.js"></script>

    <script>
        // 点击按钮
        $('button').click(function () {
   
            // 自定义动画
            $('.box').animate({
   
                width: '300px'
            }, 1000)
        })
    </script>
</body>

效果如下

1.2.5 停止动画排队

  动画或者效果一旦触发就会执行,如果多次触发,就会造成多个动画或者效果排队执行。

  停止动画排队的方法为:stop()

  • stop() 方法用于停止动画或效果。
  • stop() 写到动画或者效果的前面,相当于停止结束上一次的动画。
  • 每次使用动画之前,先调用 stop() 方法,再调用动画。

代码示例

<body>
    <button id="start">自定义动画</button>
    <button id="stop">停止动画</button>
    <div class="box"></div>

    <script src="./jQuery.js"></script>

    <script>
        $(document).ready(function () {
   
            // 点击按钮
            $('#start').click(function () {
   
                // 自定义动画
                $('.box').animate({
   
                    width: '300px'
                }, 1000)
                // 自定义动画
                $('.box').animate({
   
                    width: '200px'
                }, 1000)
            })

            // 停止动画
            $('#stop').click(function () {
   
                $('.box').stop()
            })
            
        })
    </script>
</body>

效果如下

1.2.6 事件切换

  jQuery 中为我们添加了一个新事件 hover(),功能类似 css 中的伪类 :hover

  • 语法规范

    // over 和 ount 为两个函数
    hover([over,]out)
    
  • over:鼠标移到元素上要触发的函数。

  • out:鼠标移出元素要触发的函数。

  • 若只写了一个函数,则鼠标经过和离开都会触发它。

代码示例

<body>
    <div class="box"></div>

    <script src="./jQuery.js"></script>

    <script>
        // 鼠标经过
        $('.box').hover(function () {
   
            $(this).css('background-color', 'red')
            // 鼠标离开
        }, function () {
   
            $(this).css('background-color', 'blue')
        })
    </script>
</body>

效果如下

ps:毅力是永久的享受

全部评论

相关推荐

从小父母离异家里没人管,靠着心里的不安和学校的环境也算是坚持到了学有所成的地步。到了大学环境开始松散不知道该做什么,只觉得在不挂科的基础上能往上考多少就考多少,等到秋招来临才发现自己有多么幼稚无能,今年九月份初才发现自己原来连一个求职的方向都没有。因为之前做过前后端一体的课设,算是有过了解,而对于其他岗位连做什么都不知道,因此这一个半个月在越来越焦虑的同时埋头苦学,事到如今想要活下去我似乎只能走前端这条路了,9月初先是靠着虚假夸大能力的简历得到一些笔试来确定了考察的方向,有一个大厂的无笔试面试最终是拒绝了没有勇气去面对。然后在这个基础上埋头苦学,如今也算是搭好了自己前端学习的框架和思考的瞄,可以逐渐给自己扩展新的知识和能力了,但这并不是一件多好的事儿,因为我发现学的越多越焦虑,学的越多便越无力。因为我感觉我如今努力学习的知识都是竞争对手们早就掌握了的东西,我如今困惑追求答案的难题早就被别人解决。别人早就能得心应手地做出项目而我连思考都会卡壳,看着别人的笔试和面经上那些闻所未闻的题目,我才知道别人到底有多强而我有多幼稚,我什么时候才能达到别人那种堪称熟练的能力呢?而且网上的焦虑越多越多,即便是真有这么高的能力最后也大概落得一个低薪打工人的下场,我真的感到迷茫。秋招都快结束了,而我还在继续痛苦的学习之旅,这些天找前端面试发现似乎问的有些简单跟网上搜到的内容不符(可能因为并不是大厂),我是不是本来就没打算被招所以别人懒得细问呢?我不知道,我只能继续总结下去学习下去,不管如何我都要活下去,如果我能早一些准备就好了,如果暑假能意识到现在这个情况就好了,可惜没有如果。种下一棵树的最好时间是十年前,其次是现在,虽然我相信自己的学习能力,但已经错过了最好的时机,只能在焦虑与痛苦中每天坚持学下去。目前的路还有很长很长,先去把typescript看了,再去巩固vue3的基础,再去练习elementui的使用,如果这能找到实习的话就好了。接下来呢?去学uniapp和小程序,不管如何我都要对得起曾经努力的自己。即便我们都感到痛苦,但我心中还是希望我们都能靠自己的努力来获取自己想要的幸福。
紧张的牛牛等一个of...:在担心什么呢,有一手985的学历在,就算是小厂别人都会要的,咱们双非的人更多,多少还在沉沦的,怕什么了
一句话证明你在找工作
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务