前言
近期整理一些文章,看到還有指引套件部分忘記處理,這邊大概簡述兩個比較常見的套件。以兩種套件來說各有好壞,使用指引套件必須要留意Css可能遇到z-index
順序問題,如果是DriverJs部分可能需要注意css方面比較多一些…。
IntroJs
IntroJs 是用在 html mark當中,設定上相當簡單、快速 。IntroJs 如果是商業用途可能要索取費用。
安裝
- Github :
git clone https://github.com/usablica/intro.js.git
- npm :
npm install intro.js --save
- yarn :
yarn add intro.js
使用方式
依據IntroJs 使用方式,需要設定幾點。
- 順序 :
data-step
- 內容 :
data-intro
- 提示 :
data-hint
(必須要配合 introJs().addHints();
處理。)
此套件會依據 step 順序呈現下一步提示,如果要使用”提示點”表示,可以使用使用data-hint
標記。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <div class="card card-body" data-step="1" data-intro="這是 card style。由NFC作者取得"> <div class="imgBx"> <img src="https://raw.githubusercontent.com/JontCont/Html-BlogUI/main/card-ui/images/1.png" alt="" class="img-item"> </div> <div class="card-content"> <div class="card-content--title"> <h2>John Contel's<br/><span>Senior Designer</span></h2> <div class="card-content--icon"> <li class="li-item"><a href="#"><i class="fab fa-twitter"></i></a></li> <li class="li-item"><a href="#"><i class="fab fa-instagram"></i></a></li> <li class="li-item"><a href="#"><i class="far fa-envelope"></i></a></li> <li class="li-item"><a href="#"><i class="fab fa-facebook"></i></a></li> </div> </div> </div> </div>
<script> introJs().start(); </script>
|
DriverJs 是另一種指引套件,如果是商業使用這個部分可能是參考之一。
安裝
- Github :
git clone https://github.com/kamranahmedse/driver.js.git
- npm :
npm install driver.js
- yarn :
yarn add driver.js
開始使用
highlight
這邊使用方式是透過html selector 抓取,所以會比IntroJs設定方面可能比較多一些。論單體彈出視窗使用highlight
即可,如下方範例。
1 2 3 4 5 6 7 8 9 10 11 12
| const driver = new Driver(); let option = { element: '.card-body', popover: { title: 'Title for the Popover!', description: 'Description for it', position: 'top' } }; driver.highlight(option); driver.start();
|
defineSteps
如果要呈現上下指引需要跟改為defineSteps,title、description 部分可以使用html方式撰寫。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| const driver = new Driver();
driver.defineSteps([ { element: '.card-body', popover: { className: 'first-step-popover-class', title: 'Title on Popover', description: 'Body of the popover', position: 'left' } }, { element: '.card-content--icon', popover: { title: 'Title on Popover', description: 'Body of the popover', position: 'top' } }, { element: '.imgBx', popover: { title: 'Title on Popover', description: 'Body of the popover', position: 'right' } }, ]);
driver.start();
|