畫效果也是jQuery庫吸引人的地方,通過jQuery的動畫方法,能夠輕松地為網頁添加非常精彩的視覺效果,給用戶一種全新的體驗。
show()方法和hide()方法是jQuery中最基本的動畫方法,在HTML文檔里,為一個元素調用hide()方法,會將該元素的display樣式改為“none”。
$("element").hide();
這段代碼的功能與用css()方法設置display屬性效果相同:
$("element").css("display", "none");
當把元素隱藏后,可以使用show()方法將元素的display樣式設置為先前的顯示狀態。
演示效果
如果元素是可見的,切換為隱藏的;如果元素是隱藏的,切換為可見的。
演示效果
無論是show()方法還是hide()方法亦或是toggle()方法,它們都可以接收用于控制動畫耗時的入參,入參的默認單位為毫秒,當然,jQuery也定義了三個內置的速度字符串參數,"slow"、"normal"、"fast",當我們將耗時參數設置長一點會發現,這三個方法調整的是對應元素的寬、高和不透明度,通過下面的動畫查看:
樣式變化示意
slideUp()方法和slideDown()方法只會改變元素的高度,如果一個元素的display屬性設置為“none”,當調用slideDown()方法時,這個元素會由上至下延伸顯示,slideUp()方法正好相反,元素將由下至上縮短隱藏。
滑動輪詢切換。
滑動示意
于show()方法不同的是,fadeIn()方法和fadeOut()方法只改變元素的不透明度,fadeOut()方法會在指定的一段時間內降低元素的不透明度,直到元素完全消失(“display:none”),fadeIn()方法則相反。
把所有匹配元素的不透明度以漸進方式調整到指定的不透明度,并在動畫完成后可選地觸發一個回調函數。
通過不透明度的變化來循環開關所有匹配元素的淡入和淡出效果,并在動畫完成后可選地觸發一個回調函數。
這些動畫只調整元素的不透明度,也就是說所有匹配的元素的高度和寬度不會發生變化。
淡入淡出示意
用于創建自定義動畫的函數,這個函數的關鍵在于指定動畫形式及結果樣式屬性對象。這個對象中每個屬性都表示一個可以變化的樣式屬性(如“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非常有效的使某些長網頁更加的生動和豐富,對于提升網頁整體質量具備了促進作用。
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>
或者使用包管理工具
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') }}
*請認真填寫需求信息,我們會在24小時內與您取得聯系。