整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          jQuery基礎回顧-jQuery中的動畫

          jQuery基礎回顧-jQuery中的動畫

          畫效果也是jQuery庫吸引人的地方,通過jQuery的動畫方法,能夠輕松地為網頁添加非常精彩的視覺效果,給用戶一種全新的體驗。

          基礎

          • show()方法和hide()方法

          show()方法和hide()方法是jQuery中最基本的動畫方法,在HTML文檔里,為一個元素調用hide()方法,會將該元素的display樣式改為“none”。

          $("element").hide();

          這段代碼的功能與用css()方法設置display屬性效果相同:

          $("element").css("display", "none");

          當把元素隱藏后,可以使用show()方法將元素的display樣式設置為先前的顯示狀態。

          演示效果

          • toggle()方法

          如果元素是可見的,切換為隱藏的;如果元素是隱藏的,切換為可見的。

          演示效果

          無論是show()方法還是hide()方法亦或是toggle()方法,它們都可以接收用于控制動畫耗時的入參,入參的默認單位為毫秒,當然,jQuery也定義了三個內置的速度字符串參數,"slow"、"normal"、"fast",當我們將耗時參數設置長一點會發現,這三個方法調整的是對應元素的寬、高和不透明度,通過下面的動畫查看:

          樣式變化示意

          滑動

          • slideDown()方法和slideUp()方法

          slideUp()方法和slideDown()方法只會改變元素的高度,如果一個元素的display屬性設置為“none”,當調用slideDown()方法時,這個元素會由上至下延伸顯示,slideUp()方法正好相反,元素將由下至上縮短隱藏。

          • slideToggle()方法

          滑動輪詢切換

          滑動示意

          淡入淡出

          • fadeIn()和fadeOut()方法

          于show()方法不同的是,fadeIn()方法和fadeOut()方法只改變元素的不透明度,fadeOut()方法會在指定的一段時間內降低元素的不透明度,直到元素完全消失(“display:none”),fadeIn()方法則相反。

          • fadeTo([[speed], opacity, [easing], [fn]])

          把所有匹配元素的不透明度以漸進方式調整到指定的不透明度,并在動畫完成后可選地觸發一個回調函數。

          • fadeToggle()

          通過不透明度的變化來循環開關所有匹配元素的淡入和淡出效果,并在動畫完成后可選地觸發一個回調函數。

          這些動畫只調整元素的不透明度,也就是說所有匹配的元素的高度和寬度不會發生變化。

          淡入淡出示意

          自定義

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

          用于創建自定義動畫的函數,這個函數的關鍵在于指定動畫形式及結果樣式屬性對象。這個對象中每個屬性都表示一個可以變化的樣式屬性(如“height”、“top”或“opacity”)。

          注意:所有指定的屬性必須用駱駝形式,比如用marginLeft代替margin-left

          而每個屬性的值表示這個樣式屬性在動畫結束時的值,如果是一個數值,樣式屬性就會從當前的值漸變到指定的值。如果使用的是“hide”、“show”或“toggle”這樣的字符串值,則會為該屬性調用默認的動畫形式。

          在 jQuery 1.2 中,你可以使用 em 和 % 單位。另外,在 jQuery 1.2 中,你可以通過在屬性值前面指定 "<em>+=</em>" 或 "<em>-=</em>" 來讓元素做相對運動。

          jQuery 1.8中,當你使用CSS屬性在css()或animate()中,我們將根據瀏覽器自動加上前綴(在適當的時候),比如("user-select", "none"); 在Chrome/Safari瀏覽器中我們將設置為"-webkit-user-select", Firefox會使用"-moz-user-select", IE10將使用"-ms-user-select".

          params:一組包含作為動畫屬性和終值的樣式屬性和及其值的集合。

          speed:三種預定速度之一的字符串("slow","normal", or "fast")或表示動畫時長的毫秒數值(如:1000)。

          easing:要使用的擦除效果的名稱(需要插件支持).默認jQuery提供"linear" 和 "swing"。

          fn:在動畫完成時執行的函數,每個元素執行一次。

          $("#animate").click(function(e) {
              $test.animate({
                width: "500px",
                height: "400px",
                fontSize: "4em"
              }, 2000);
            });

          自定義動畫示意

          若感覺對您有用,可以關注并轉發,您的關注是對我莫大的支持!

          關注并轉發后私信“jQuery基礎材料”獲取線下資料,包括完整基礎資料、chm文檔、示例代碼及其他參考資料。

          上一節:jQuery基礎回顧——事件冒泡、移除事件、模擬事件

          下一節:jQuery基礎回顧——jQuery與Ajax應用

          AOS是一個用在網頁滾動中的動畫庫,顧名思義,AOS是隨著滾動條而伴隨的網頁動畫效果,AOS非常有效的使某些長網頁更加的生動和豐富,對于提升網頁整體質量具備了促進作用。



          Github

          14.9k stars,可見使用的人還是非常多的

          https://github.com/michalsnik/aos

          使用方式

          下載好相應的js和css文件

           <link rel="stylesheet" href="./dist/aos.css" />
           <script src="./dist/aos.js"></script>
            <script>
              AOS.init();
            </script>

          或者使用包管理工具

          • yarn add aos@next
          • or npm install --save aos@next
          import AOS from 'aos';
          import 'aos/dist/aos.css'; 
          
          AOS.init();
          • 具體使用

          最簡單的就是

          AOS.init();

          或者也可以自行配置一些選項

          AOS.init({
            // 全局配置:
            disable: false, // 接受以下值:“phone”、“tablet”、“mobile”、boolean、expression或function
            startEvent: 'DOMContentLoaded', // 在document上調度的事件的名稱,AOS應在該事件上初始化
            initClassName: 'aos-init', // 初始化后應用的class
            animatedClassName: 'aos-animate', // 動畫類名稱
            useClassNames: false, //如果為true,將在滾動時將“data aos”的內容添加為類
            disableMutationObserver: false, // 禁用自動突變檢測(高級)
            debounceDelay: 50, // 調整窗口大小時使用的解除抖動延遲(高級)
            throttleDelay: 99, // 滾動頁面時使用的節流延遲(高級)
            
          
            // 可以按每個元素重寫的設置,按`data aos-*`屬性:
            offset: 120, // 從原始觸發點偏移(px)
            delay: 0, // 值從0到3000,步長為50ms
            duration: 400, // 值從0到3000,步長為50ms
            easing: 'ease', // AOS動畫的默認緩和
            once: false, // 動畫是否只應發生一次(向下滾動時)
            mirror: false, // 當元素滾動過去時是否應該動畫化
            anchorPlacement: 'top-bottom', //定義元素相對于窗口的哪個位置應觸發動畫
          
          });

          使用data-aos屬性設置動畫:

            <div data-aos="fade-in"></div>

          并使用data-aos-*屬性調整行為:

          <div
              data-aos="fade-up"
              data-aos-offset="200"
              data-aos-delay="50"
              data-aos-duration="1000"
              data-aos-easing="ease-in-out"
              data-aos-mirror="true"
              data-aos-once="false"
              data-aos-anchor-placement="top-center"
            >
            </div>

          動畫效果如下:


          動圖演示

          幾天用vue配合wow為客戶做了雙語單頁緩沖動畫網頁……

          動畫

          1、安裝wow.js依賴,

          npm install wowjs --save;

          2、在main.js文件中引入動畫css,

          import './assets/css/animate.css';

          3、在入口app.vue文件中引用。

          import WOW from 'wow.js' ;

          mounted() {

          const wow=new WOW({

          boxClass: 'wow', // animated element css class (default is wow)

          animateClass: 'animated', // animation css class (default is animated)

          offset: 0, // distance to the element when triggering the animation (default is 0)

          mobile: true, // trigger animations on mobile devices (default is true)

          live: true, // act on asynchronously loaded content (default is true)

          scrollContainer: null, // optional scroll container selector, otherwise use window,

          resetAnimation: true, // reset animation on end (default is true)

          });

          wow.init();

          },

          4、代碼中使用:

          <div class="wow fadeInUp animated" data-wow-duration="1.3s">內容</div>

          雙語

          1、安裝vuei18n依賴,

          npm install vue-i18n@next

          2、新建lang文件夾,并在里邊分別新建ch.js,en.js,index.js文件用來配置中英文內容和入口index文件;

          3、在main.js文件中引用,

          import VueI18n from "./lang/index.js"

          3、在頁面中使用

          import { useI18n } from 'vue-i18n';

          {{ $t('baige.top.year') }}


          主站蜘蛛池模板: 国产精品高清一区二区三区不卡| 无码人妻精品一区二区三区东京热 | 国产一区中文字幕在线观看 | A国产一区二区免费入口| 一区二区三区福利视频免费观看| 国产精品视频无圣光一区| 人妻体内射精一区二区三四| 国产福利视频一区二区| 美女福利视频一区二区| 国产精品视频一区二区猎奇| 精品一区二区三区自拍图片区| 色婷婷AV一区二区三区浪潮| 波多野结衣一区二区三区高清在线| 国产手机精品一区二区| 国产精品福利一区二区久久| 3D动漫精品一区二区三区| 中文字幕一区二区精品区| 乱精品一区字幕二区| 69福利视频一区二区| 3d动漫精品一区视频在线观看| 亚洲av无码不卡一区二区三区 | 精品亚洲一区二区三区在线播放| 波多野结衣一区在线观看| 日韩精品一区二区三区国语自制| 免费无码A片一区二三区| 亚洲AV无码一区二区三区性色| 国产经典一区二区三区蜜芽 | 精品人妻少妇一区二区三区在线| 香蕉久久AⅤ一区二区三区 | 一区二区免费国产在线观看| 变态调教一区二区三区| 日韩一本之道一区中文字幕| 日韩AV无码一区二区三区不卡毛片| 中文字幕一区二区三| 无码人妻精品一区二区三| 国产手机精品一区二区 | 中文字幕视频一区| 国产精品一区二区AV麻豆| 国产精品一区二区三区免费| 国产在线一区二区综合免费视频| 亚洲日本精品一区二区|