• JQ 3


    1. 事件:

       模拟触发

       页面加载后执行

       hover

    2. 动画:

    1. 事件:

       模拟触发: 用代码模拟触发另一个元素的事件

        如何: $(...).trigger("事件名")

       页面加载后执行: 鄙视题: onload vs $(document).ready()

        页面加载过程:

           .html  ->     .css

                      -> .js↓

                              DOMContentLoaded

                              DOM内容(.html和js)加载完成

                      ->         .图片 ↓

                                             loaded: 所有页面内容加载完成

         通常: DOMContentLoaded先于loaded

         何时: 如果一些操作(事件绑定)不需要等待所有内容加载完成,就可提前执行时,都要在DOMContentLoaded中执行。

         为什么: 让用户无需等待css和图片加载,就可提前使用功能

         如何:

            DOMContentLoaded: $(document).ready(function(){...})

                                                 $().ready(function(){...})

                                                 $(function(){...})

                 实际开发中,只要将script放在body结尾,默认就在DOM内容加载后执行。

            Loaded: window.onload=function(){...}

      

        特殊事件: hover: 其实是一对儿mouseover和mouseout的组合

             何时: 只要对一个元素同时绑定鼠标进入和鼠标移出事件时

                      就可用hover简化绑定

             如何:

                $(...).mouseover(function(){...})

                $(...).mouseout(function(){...})

                可简写为:

                   $(...).hover(

             function(){...}, //处理over

                     function(){...} //处理out

                   )

                如果进出的操作可统一为一个函数:

                   $(...).hover(function(){...}); 进出都执行同一函数

    2. 动画: (了解)

       简单动画:

         3种效果:

            1. 显示和隐藏

                $(...).show/hide/toggle() 立刻显示隐藏: display:none/block

                $(...).show/hide/toggle(speed,easing,callback)

                    speed: "slow","normal", or "fast"

                                ms

                    callback:一个函数对象,在动画播放完,自动执行

            2. 上下滑动  $(...).slideDown/slideUp/slideToggle(s,e,fn)

            3. 淡入淡出  $(...).fadeIn/fadeOut/fadeToggle(s,e,fn)

       万能动画: 控制任意css属性的在规定时间内均匀变化

          何时: 只要控制多个css属性均匀变化时

          如何: $(...).animate({//目标样式

             css属性:值,

                               ... : ... ,

                   }, speed, easing, callback)

          //所有属性,从当前状态,同时均匀变化到指定的目标样式

          问题: 只能对数值类型的css属性提供动画

            比如: css3: transition: 可以提供背景颜色渐变的

                     jq: .animate()不支持颜色动画

       动画的并发和排队:

          并发: 多个属性同时修改:

             1种: 在一次animate调用中同时修改多个css属性

          排队: 多个动画,先后执行:

             2种: 对同一个元素

              1. 分两次调用animate,第二个animate必须在第一个animate执行后,才开始执行

              2. 通过链式操作,先后调用animate,也是排队

        停止动画: $(...).stop();

           问题: 默认只能停止正在执行的一个动画

                    如果后续有排队的动画,依然会继续触发

           解决: $(...).stop(true); //1. 停止当前动画,2. 清除队列

                 

    1. 类数组操作

    2. jQueryUI

    1. 类数组操作

        类数组对象本来不能使用数组的任何API: 比如: forEach, indexOf

           arr.forEach(function(val,i))

        jQuery为类数组对象提供了专门的遍历/查找API

          $(...).each(function(i[,elem])){

               //对结果集合中每个元素执行相同操作

               //this->elem->DOM->$(this)

          }

          var i=$(...).index(elem/$(elem)); //查找elem在结果集中的下标

       鄙视题: 页面上多个按钮,点每个按钮提示点的是第几个(下标)

    2. jqueryUI:

      UI: User Interface

      UI库: 完整的js,css组成的独立功能/效果的集合

      jqueryUI: 是jquery官方出的UI库

                      基于jquery, 但是极简化

      为什么: 实际开发中,很多功能(样式和行为)会反复使用

         解决: 使用现成的UI库中的插件——复用

      新技术: 上官网 -> DEMO/Start/Guide -> API Document

      分三部分: Effects 动画效果

                      Interactions 交互组件

                      Widgets: 小部件

      Effects动画效果:

        基于jquery提供了更丰富的动画效果:

         1. 为add/remove/toggleClass,添加动画效果:

            jquery: add/remove/toggleClass默认没有动画,不能加时间

            jquery-ui: 可以为add/remove/toggleClass添加时间

         2. 为show/hide/toggle,添加了更多动效

         3. 让.animate支持颜色动画

      Interactions: 交互组件

        1. $(...).draggable() 将找到的元素变为可拖拽

            <ANY>

                <title  class="ui-dialog-titlebar"> 让标题变拖拽图标

        2. $(...).selectable() 让目标元素可选中

             <ul>

                <li class="ui-selectee ui-selected"></li>

        侵入性: API根据自身的需要,向元素默默添加class

               有的class已经定义好,可直接使用

               有的class需要使用者自行定义

        3. $(...).sortable() 让目标元素可调整位置

             <ul >

                <li class="ui-sortable-handle ui-sortable-helper"

       Widget: 小部件:

        Accordion:

           html:

               <div>

                    <hn>

                    <div>

           css:

           js: $(...).accordion();

       问题: 主题颜色是固定的

       解决: 官网->主题画廊/颜色筒->先选择主题风格/定制风格->下载

      

  • 相关阅读:
    打开外部程序
    检测是否渲染
    maxsxript 坐标转换 函数
    实用 SQL 语句
    【整理】一些有用的学习资源链接
    关于 static 和 final 的一些理解
    Java8新特性时间日期库
    推荐一套后台管理系统
    Java API 之 Object
    【软件体系结构】架构风格与基于网络应用软件的架构设计
  • 原文地址:https://www.cnblogs.com/Hale-Proh/p/7199720.html
Copyright © 2020-2023  润新知