如何创建步骤? ?

创建牧羊人之旅非常简单,只需按照以下代码操作即可:

const tour = new Shepherd.Tour({        defaultStepOptions: {            cancelIcon: {                enabled: true            },            classes: \\'class-1 class-2\\',            scrollTo: { behavior: \\'smooth\\', block: \\'center\\' }        }    });    tour.addStep({        title: \\'Creating a Shepherd Tour\\',        text: \\'Creating a Shepherd tour is easy.               Just create a \\\"Tour\\\" instance, and add as many               steps as you want.\\',        attachTo: {            element: \\'.hero-example\\',            on: \\'bottom\\'        },        buttons: [            {                action() {                    return this.back();                },                classes: \\'shepherd-button-secondary\\',                text: \\'Back\\'            },            {                action() {                    return this.next();                },                text: \\'Next\\'            }        ],        id: \\'creating\\'    });    tour.start(); //starts the tour

 

如何改变造型? ?

ShepherdJS 库注入到页面中的 HTML 看起来像这样:

Users seem to be down by 12.4%. Is that bad?

因此,使用如下所示的内容可以更轻松地定位元素(例如箭头)..

.shepherd-arrow {  /* Some styles here... */}

此外,如果您注意到,当您添加步骤时,会使用 id。因此,它也可以用于针对特定步骤的描述。
 
以上是一些基本属性。如果有人想展示巡演进度,他们也可以这样做!请遵循以下代码行:

when: {  show() {    const currentStep = Shepherd.activeTour?.getCurrentStep();    const currentStepElement = currentStep?.getElement();    const header = currentStepElement?.querySelector(\\'.shepherd-header\\');    const progress = document.createElement(\\'span\\');    progress.style[\\'margin-right\\'] = \\'315px\\';    progress.innerText = `${Shepherd.activeTour?.steps.indexOf(currentStep)   1}/${Shepherd.activeTour?.steps.length}`;    header?.insertBefore(progress, currentStepElement.querySelector(\\'.shepherd-cancel-icon\\'));  }}

 
您可以在 Shepherd 官方文档页面中获取所有详细信息此处提供的链接
:https://docs.shepherdpro.com/

 

使用 Shepherd Js 的酷项目 ?‍?

1️⃣井字游戏⭕❌


无论是参加无聊的讲座,还是与最好的朋友认真交谈,或者在人生的任何时刻,我们都玩过这个游戏,井字游戏。Susheel Thapa

制作了一个很棒的项目来支持和复兴这款游戏。该项目是操作系统。该项目展示了 Shepherd 的最佳用途之一。

现场演示
:https://tictactoe.susheelthapa.com.np/Github链接
:https://github.com/SusheelThapa/Tic-Tac-ToeShepherd 实现

:https://github.com/SusheelThapa/Tic-Tac-Toe/tree/main/src/components/Shepherd

\\\"Shepherd:

使用 Shepherd Js 引导游戏

2️⃣ 同学?

StudyMate 是一款创新的 Web 应用程序,旨在通过提供 PDF 的分页摘要和生成交互式抽认卡来增强学习体验。通过集成 Shepherd.js,StudyMate 提供引导浏览功能,帮助用户无缝导航应用程序的功能。 StudyMate 使其对于最后一刻的复习课程特别有用,允许用户以结构化的方式快速回顾关键概念和信息。

该项目由Subash Lamichane

构建。

Github链接
:https://github.com/Subash-Lamichhane/StudyMateShepherd 实现

:https://github.com/Subash-Lamichhane/StudyMate/blob/main/frontend/src/pages/LandingPage.jsx

\\\"Shepherd:

使用 Shepherd Js 进行 Study Mate 动画导览

 

3️⃣ 种子链接?

SeedLink 是一个前端 Web 应用程序,可让您探索附近苗圃和花园中的各种植物。你可以购买它,或者研究它。就是这样??不,探索该应用程序以了解更多信息! ?

这个项目是由Rohan Sharma

(是的,我就是那个创建者)

Github链接
:https://github.com/RS-labhub/SeedLink-ShepherdShepherd 实现

:https://github.com/RS-labhub/SeedLink-Shepherd/blob/main/src/shepherd.js

\\\"Shepherd:

使用 Shepherd Js 引导 SeedLink 进行可视化和吸引人的主题

 

移动到结束...?

Shepherd 是一个开源、功能齐全的数字采用平台 (DAP) 和用户入门服务。

Shepherd 也已发展为专业版,这是一项付费服务。以下是 Shepherd-Pro 提供的 功能列表

如果您还没有使用过,至少访问一次!我保证,你不会后悔?

Github 上的 Star Shepherd ⭐

","image":"http://www.luping.net/uploads/20240830/172500804466d188ac8272b.png","datePublished":"2024-08-30T16:54:04+08:00","dateModified":"2024-08-30T16:54:04+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}

」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Shepherd:使用新的 JavaScript 程式庫指導用戶

Shepherd:使用新的 JavaScript 程式庫指導用戶

發佈於2024-08-30
瀏覽:686

保护、引导或看守一只羊或多群羊的人被称为牧羊人”。但开发人员如何进行牧羊? Shepherd Js,指导用户的最佳操作系统工具之一,使他们能够以详细和描述性的方式了解您的应用程序或应用程序的特定部分。
 

牧羊人是什么?? ?

Shepherd 是一个 JavaScript 库,用于指导用户使用您的应用程序。它使用另一个开源库 Floating UI 来呈现每个游览“步骤”的对话框。

简而言之,引导用户浏览您的应用。

您可以创建自定义用户入门之旅、培训和公告,以推动用户采用。

如何进行牧养? ??

Shepherd 使您能够引导用户在您的应用程序或网站内完成自定义游览或旅程。 Shepherd 具有高度可定制性和极简风格,可实现强大的定制功能,同时易于使用。支持各种框架,包括 React、Ember、Angular、Vue.js、ES 模块或纯 JavaScript。

安装 Shepherd 的步骤?️:

  1. 您可以使用以下命令直接使用npm、yarn、pnpm和bun安装shepherd:

    • npm install:npm install shepherd.js
    • yarn 安装:yarn add shepherd.js
    • pnpm 安装:pnpm 添加 shepherd.js
    • bun 安装:bun 添加 shepherd.js
  2. 也可以直接使用jsDelivr cdn,来使用shepherd。



 

如何创建步骤? ?

创建牧羊人之旅非常简单,只需按照以下代码操作即可:

const tour = new Shepherd.Tour({
        defaultStepOptions: {
            cancelIcon: {
                enabled: true
            },
            classes: 'class-1 class-2',
            scrollTo: { behavior: 'smooth', block: 'center' }
        }
    });

    tour.addStep({
        title: 'Creating a Shepherd Tour',
        text: 'Creating a Shepherd tour is easy.
               Just create a "Tour" instance, and add as many
               steps as you want.',
        attachTo: {
            element: '.hero-example',
            on: 'bottom'
        },
        buttons: [
            {
                action() {
                    return this.back();
                },
                classes: 'shepherd-button-secondary',
                text: 'Back'
            },
            {
                action() {
                    return this.next();
                },
                text: 'Next'
            }
        ],
        id: 'creating'
    });

    tour.start(); //starts the tour

 

如何改变造型? ?

ShepherdJS 库注入到页面中的 HTML 看起来像这样:


因此,使用如下所示的内容可以更轻松地定位元素(例如箭头)..

.shepherd-arrow {
  /* Some styles here... */
}

此外,如果您注意到,当您添加步骤时,会使用 id。因此,它也可以用于针对特定步骤的描述。
 
以上是一些基本属性。如果有人想展示巡演进度,他们也可以这样做!请遵循以下代码行:

when: {
  show() {
    const currentStep = Shepherd.activeTour?.getCurrentStep();
    const currentStepElement = currentStep?.getElement();
    const header = currentStepElement?.querySelector('.shepherd-header');
    const progress = document.createElement('span');
    progress.style['margin-right'] = '315px';
    progress.innerText = `${Shepherd.activeTour?.steps.indexOf(currentStep)   1}/${Shepherd.activeTour?.steps.length}`;
    header?.insertBefore(progress, currentStepElement.querySelector('.shepherd-cancel-icon'));
  }
}

 
您可以在 Shepherd 官方文档页面中获取所有详细信息此处提供的链接
:https://docs.shepherdpro.com/

 

使用 Shepherd Js 的酷项目 ?‍?

1️⃣井字游戏⭕❌


无论是参加无聊的讲座,还是与最好的朋友认真交谈,或者在人生的任何时刻,我们都玩过这个游戏,井字游戏。 Susheel Thapa

制作了一个很棒的项目来支持和复兴这款游戏。该项目是操作系统。该项目展示了 Shepherd 的最佳用途之一。

现场演示
:https://tictactoe.susheelthapa.com.np/ Github链接
:https://github.com/SusheelThapa/Tic-Tac-Toe Shepherd 实现

:https://github.com/SusheelThapa/Tic-Tac-Toe/tree/main/src/components/Shepherd

Shepherd: Guide your users with a new JavaScript library

使用 Shepherd Js 引导游戏

2️⃣ 同学?

StudyMate 是一款创新的 Web 应用程序,旨在通过提供 PDF 的分页摘要和生成交互式抽认卡来增强学习体验。通过集成 Shepherd.js,StudyMate 提供引导浏览功能,帮助用户无缝导航应用程序的功能。 StudyMate 使其对于最后一刻的复习课程特别有用,允许用户以结构化的方式快速回顾关键概念和信息。

该项目由Subash Lamichane

构建。

Github链接
:https://github.com/Subash-Lamichhane/StudyMate Shepherd 实现

:https://github.com/Subash-Lamichhane/StudyMate/blob/main/frontend/src/pages/LandingPage.jsx

Shepherd: Guide your users with a new JavaScript library

使用 Shepherd Js 进行 Study Mate 动画导览

 

3️⃣ 种子链接?

SeedLink 是一个前端 Web 应用程序,可让您探索附近苗圃和花园中的各种植物。你可以购买它,或者研究它。就是这样??不,探索该应用程序以了解更多信息! ?

这个项目是由Rohan Sharma

(是的,我就是那个创建者)

Github链接
:https://github.com/RS-labhub/SeedLink-Shepherd Shepherd 实现

:https://github.com/RS-labhub/SeedLink-Shepherd/blob/main/src/shepherd.js

Shepherd: Guide your users with a new JavaScript library

使用 Shepherd Js 引导 SeedLink 进行可视化和吸引人的主题

 

移动到结束...?

Shepherd 是一个开源、功能齐全的数字采用平台 (DAP) 和用户入门服务。

Shepherd 也已发展为专业版,这是一项付费服务。以下是 Shepherd-Pro 提供的 功能列表

  • 可定制的旅游模板
  • 分析集成
  • 多语言支持
  • 用户行为追踪
  • 集成能力
  • 响应式设计
  • 反馈机制
  • 高级分支逻辑

如果您还没有使用过,至少访问一次!我保证,你不会后悔?

Github 上的 Star Shepherd ⭐

版本聲明 本文轉載於:https://dev.to/rohan_sharma/devs-shepherding-with-shepherd-1jl2?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 如何克服PHP的功能重新定義限制?
    如何克服PHP的功能重新定義限制?
    克服PHP的函數重新定義限制在PHP中,多次定義一個相同名稱的函數是一個no-no。嘗試這樣做,如提供的代碼段所示,將導致可怕的“不能重新列出”錯誤。 但是,PHP工具腰帶中有一個隱藏的寶石:runkit擴展。它使您能夠靈活地重新定義函數。 runkit_function_renction_...
    程式設計 發佈於2025-06-29
  • 如何避免Go語言切片時的內存洩漏?
    如何避免Go語言切片時的內存洩漏?
    ,a [j:] ...雖然通常有效,但如果使用指針,可能會導致內存洩漏。這是因為原始的備份陣列保持完整,這意味著新切片外部指針引用的任何對象仍然可能佔據內存。 copy(a [i:] 對於k,n:= len(a)-j i,len(a); k
    程式設計 發佈於2025-06-29
  • 同實例無需轉儲複製MySQL數據庫方法
    同實例無需轉儲複製MySQL數據庫方法
    在同一實例上複製一個MySQL數據庫而無需轉儲在同一mySQL實例上複製數據庫,而無需創建InterMediate sqql script。以下方法為傳統的轉儲和IMPORT過程提供了更簡單的替代方法。 直接管道數據 MySQL手動概述了一種允許將mysqldump直接輸出到MySQL cli...
    程式設計 發佈於2025-06-29
  • 我可以將加密從McRypt遷移到OpenSSL,並使用OpenSSL遷移MCRYPT加密數據?
    我可以將加密從McRypt遷移到OpenSSL,並使用OpenSSL遷移MCRYPT加密數據?
    將我的加密庫從mcrypt升級到openssl 問題:是否可以將我的加密庫從McRypt升級到OpenSSL?如果是這樣,如何? 答案:是的,可以將您的Encryption庫從McRypt升級到OpenSSL。 可以使用openssl。 附加說明: [openssl_decrypt()函數要求...
    程式設計 發佈於2025-06-29
  • PHP與C++函數重載處理的區別
    PHP與C++函數重載處理的區別
    作為經驗豐富的C開發人員脫離謎題,您可能會遇到功能超載的概念。這個概念雖然在C中普遍,但在PHP中構成了獨特的挑戰。讓我們深入研究PHP功能過載的複雜性,並探索其提供的可能性。 在PHP中理解php的方法在PHP中,函數超載的概念(如C等語言)不存在。函數簽名僅由其名稱定義,而與他們的參數列表無關...
    程式設計 發佈於2025-06-29
  • 如何為PostgreSQL中的每個唯一標識符有效地檢索最後一行?
    如何為PostgreSQL中的每個唯一標識符有效地檢索最後一行?
    postgresql:為每個唯一標識符提取最後一行,在Postgresql中,您可能需要遇到與在數據庫中的每個不同標識相關的信息中提取信息的情況。考慮以下數據:[ 1 2014-02-01 kjkj 在數據集中的每個唯一ID中檢索最後一行的信息,您可以在操作員上使用Postgres的有效效率: ...
    程式設計 發佈於2025-06-29
  • 如何簡化PHP中的JSON解析以獲取多維陣列?
    如何簡化PHP中的JSON解析以獲取多維陣列?
    php 試圖在PHP中解析JSON數據的JSON可能具有挑戰性,尤其是在處理多維數組時。 To simplify the process, it's recommended to parse the JSON as an array rather than an object.To do...
    程式設計 發佈於2025-06-29
  • Java的Map.Entry和SimpleEntry如何簡化鍵值對管理?
    Java的Map.Entry和SimpleEntry如何簡化鍵值對管理?
    A Comprehensive Collection for Value Pairs: Introducing Java's Map.Entry and SimpleEntryIn Java, when defining a collection where each element com...
    程式設計 發佈於2025-06-29
  • 在Python中如何創建動態變量?
    在Python中如何創建動態變量?
    在Python 中,動態創建變量的功能可以是一種強大的工具,尤其是在使用複雜的數據結構或算法時,Dynamic Variable Creation的動態變量創建。 Python提供了幾種創造性的方法來實現這一目標。 利用dictionaries 一種有效的方法是利用字典。字典允許您動態創建密鑰並...
    程式設計 發佈於2025-06-29
  • 如何在Java字符串中有效替換多個子字符串?
    如何在Java字符串中有效替換多個子字符串?
    在java 中有效地替換多個substring,需要在需要替換一個字符串中的多個substring的情況下,很容易求助於重複應用字符串的刺激力量。 However, this can be inefficient for large strings or when working with nu...
    程式設計 發佈於2025-06-29
  • Python高效去除文本中HTML標籤方法
    Python高效去除文本中HTML標籤方法
    在Python中剝離HTML標籤,以獲取原始的文本表示Achieving Text-Only Extraction with Python's MLStripperTo streamline the stripping process, the Python standard librar...
    程式設計 發佈於2025-06-29
  • 版本5.6.5之前,使用current_timestamp與時間戳列的current_timestamp與時間戳列有什麼限制?
    版本5.6.5之前,使用current_timestamp與時間戳列的current_timestamp與時間戳列有什麼限制?
    在時間戳列上使用current_timestamp或MySQL版本中的current_timestamp或在5.6.5 此限制源於遺留實現的關注,這些限制需要對當前的_timestamp功能進行特定的實現。 創建表`foo`( `Productid` int(10)unsigned not ...
    程式設計 發佈於2025-06-29
  • 使用jQuery如何有效修改":after"偽元素的CSS屬性?
    使用jQuery如何有效修改":after"偽元素的CSS屬性?
    在jquery中了解偽元素的限制:訪問“ selector 嘗試修改“:”選擇器的CSS屬性時,您可能會遇到困難。 This is because pseudo-elements are not part of the DOM (Document Object Model) and are th...
    程式設計 發佈於2025-06-29
  • 如何使用PHP將斑點(圖像)正確插入MySQL?
    如何使用PHP將斑點(圖像)正確插入MySQL?
    essue VALUES('$this->image_id','file_get_contents($tmp_image)')";This code builds a string in PHP, but the function call fil...
    程式設計 發佈於2025-06-29
  • 如何同步迭代並從PHP中的兩個等級陣列打印值?
    如何同步迭代並從PHP中的兩個等級陣列打印值?
    同步的迭代和打印值來自相同大小的兩個數組使用兩個數組相等大小的selectbox時,一個包含country代碼的數組,另一個包含鄉村代碼,另一個包含其相應名稱的數組,可能會因不當提供了exply for for for the uncore for the forsion for for ytry...
    程式設計 發佈於2025-06-29

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3