basicScroll

介紹
basicScroll是用來實現頁面滾動時特效的JavaScript庫,當頁面中元素相對於屏幕發生改變時,basicScroll通過改變元素css屬性值而實現特效。
優勢
- basicScroll具有靈活的動畫效果,開發者可以直接在CSS中使用變數來得到想要的動畫效果,也可以使用JS來更好的控制動畫.
- basicScroll是一個的輕量小型獨立的現代化框架。basicScroll高度優化,開發者可以使用它創造出優雅平滑的動畫。
- basicScroll的響應式做的也非常好,它可以在不改變代碼行的情況下從小屏幕到大屏幕切換。
安裝
可以通過Bower或者npm安裝basicscroll
bower install basicScroll npm install basicscroll
安裝完成後,在HTML文件中引用(根據文件的位置自行調整)
<script src="dist/basicScroll.min.js"></script>
實現一個簡單的特效
以圖片隨頁面下拉逐漸淡化為例
首先在HTML中載入一張圖片,假設將圖片的類設置為image
設置image類的css屬性:
.image{
opacity: var(--opacity);
will-change: opacity;
}
在JavaScript代碼中:
/*
*創建一個實例
*/
const instance = basicScroll.create({
/*
*取類為image的元素為目標
*/
elem: document.querySelector('.image'),
/*
*設置觸發效果的位置
*/
from: 'top-bottom',
to: 'top-top',
/*
*設置效果
*/
props: {
'--opacity': {
from: .01,
to: .99
}
}
})
/*
*啟用創建的實例
*/
instance.start()
效果演示

實例API
basicScroll還有許多實例API,比如:
開始
開始動畫實例。basicScroll將跟蹤滾動位置並相應地調整實例。僅當滾動位置改變時才會執行更新。
instance.start()
停止
停止動畫實例。實例的所有效果將保持其最後的值。
instance.stop()
更新
觸發實例的更新,即使實例當前已停止。
const props = instance.update()
……(更多API可以在GitHub文檔中查閱)
CSS的力量
basicScroll中有很多用CSS變數控制的動畫,作者認為CSS變數的力量是不應該被低估的。CSS自定義屬性 - 如規範命名 - 可以比SASS變數做更多的事情。它們是屬性,它們像普通屬性一樣級聯。
使用CSS變數,可以消除多餘的樣式。開發者從編程語言的函數中了解得原理適用於CSS自定義屬性,定義一次,可以重複使用,無需重複編寫相同的代碼。
(參考文章《CSS變數的力量》)
進入官網了解更多basicScroll:https://basicscroll.electerious.com/
