返回顶部
首页 > 资讯 > 前端开发 > node.js >Smartour如何实现网页导览
  • 250
分享到

Smartour如何实现网页导览

2024-04-02 19:04:59 250人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关Smartour如何实现网页导览,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:在遇到网页内容有着较大调整的时候,往往需要一个导览功能

这篇文章将为大家详细讲解有关Smartour如何实现网页导览,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

具体如下:

Smartour如何实现网页导览

在遇到网页内容有着较大调整的时候,往往需要一个导览功能去告诉用户,某某功能已经调整到另外一个位置。比较常规的办法是添加一个蒙层,高亮显示被调整的区域,然后通过文字介绍去完成引导。我们把这个功能称为“导览”,而 Smartour 则把这个导览的功能抽离出来,提供了一个开箱即用的解决方案。

项目地址:https://GitHub.com/jrainlau/smartour
官方示例:Https://jrainlau.github.io/smartour/

Install

Smartour 被构建成了 umdes module 模块,允许用户通过不同的方式引入。

npm install smartour

import Smartour from 'smartour/dist/index.esm.js'

const Smartour = require('smartour')

<script src="smartour/dist/index.js"></script>

基本用法

Smartour 提供了一个非常简单的 api focus(), 这是高亮一个元素最简单的方式。

let tour = new Smartour()

tour.focus({
 el: '#basic-usage'
})

插槽 Slot

插槽 slot 是用于为高亮元素提供描述的 html 字符串

纯字符串:

let tour = new Smartour()

tour.focus({
 el: '#pure-string',
 slot: 'This is a pure string'
})

Html 字符串

let tour = new Smartour()

tour.focus({
 el: '#html-string',
 slot: `
  <div>
   <p>This is a html string</p>
  </div>
 `
})

插槽位置

插槽的位置可以选择4个不同的方向: top, right, left, bottom.

设置 options.slotPosition 属性即可覆盖默认的 top 位置。

let tour = new Smartour()

tour.focus({
 el: '#slot-positions',
 slot: `top`,
 options: {
  slotPosition: 'top' // 默认为 `top`
 }
})

插槽事件

插槽所定义的元素也可以绑定事件。我们通过 keynodes 属性来为插槽元素绑定事件。

keyNodes 是内容为一系列 keyNode数组。 属性 keyNode.el 是一个 CSS 选择器,而 keyNode.event 属性则是对应元素所绑定的事件。

let tour = new Smartour()

tour.focus({
 el: '.slot-events-demo',
 options: {
  slotPosition: 'right'
 },
 slot: `

   Click here to occur an alert event
  </button>

   Click here to occur an alert event
  </button>
 `,
 keyNodes: [{
  el: '.occur-1',
  event: () => { alert('Event!!') }
 }, {
  el: '.occur-2',
  event: () => { alert('Another event!!') }
 }]
})

Queue

有的时候页面需要不止一个导览。Smartour 允许你把一系列的导览通过 .queue() 放在一起,然后挨个挨个地展示它们。

举个例子:

let tour = new Smartour()

tour
 .queue([{
  el: '.li-1',
  options: {
   layerEvent: tour.next.bind(tour)
  },
  slot: 'This is the 1st line.'
 }, {
  el: '.li-2',
  options: {
   layerEvent: tour.next.bind(tour)
  },
  slot: 'This is the 2nd line.'
 }, {
  el: '.li-3',
  options: {
   layerEvent: tour.next.bind(tour)
  },
  slot: 'This is the 3rd line.'
 }])
 .run() // 别忘了调用 `run()` 方法去展示第一个导览

选项

Smartour 是一个构建函数,它接收一个 options 参数去覆盖其默认选项

让我们看看它的默认选项是什么样子的:

{
 prefix: 'smartour', // class 前缀
 padding: 5, // 高亮区域内边距
 maskColor: 'rgba(0, 0, 0, .5)', // 带透明值的遮罩层颜色
 animate: true, // 是否使用动画
 slotPosition: 'top' // 默认的插槽位置
 layerEvent: smartour.over // 遮罩层点击事件,默认为结束导览
}

APIs

除了 .focus().queue().run() API 以外,Smartour 还提供了另外三个 API 专门用于控制导览的展示。

  • .next():展示下一个导览(只能配合 .queue() 使用)。

  • .prev():展示上一个导览(只能配合 .queue() 使用)。

  • .over():结束全部导览。

Smartour 的原理

Smartour 通过 element.getBoundinGClientRect() api 来获取目标元素的宽高和位置信息,然后放置一个带着 box-shadow 样式的元素在其之上作为高亮区域。

由于点击事件无法再 box-shadow 的区域里触发,所以 Smartour 还放置了一个全屏透明的遮罩层用于绑定 layerEvent 事件。

高亮区域和插槽都被设置为 absolute。当页面滚动时,document.documentElement.scrollTop 或者 document.documentElement.scrollLeft 的值就会变化,然后 Smartour 会实时修正它的位置信息。

证书

MIT

关于“Smartour如何实现网页导览”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Smartour如何实现网页导览

本文链接: https://lsjlt.com/news/79209.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Smartour如何实现网页导览
    这篇文章将为大家详细讲解有关Smartour如何实现网页导览,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:在遇到网页内容有着较大调整的时候,往往需要一个导览功能...
    99+
    2024-04-02
  • Win8系统IE浏览器如何实现全屏浏览网页
      对于大屏幕电脑的用户来说,全屏幕浏览网页的使用需求不高,但对于小屏幕电脑的用户则相反。Win8系统搭载的IE浏览器能够快捷地实现全屏浏览网页,该怎么操作呢   方法一   1.点击IE右上方的齿轮按钮...
    99+
    2022-06-04
    全屏 如何实现 浏览网页
  • 如何用react实现引导页
    本篇内容主要讲解“如何用react实现引导页”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用react实现引导页”吧!用react实现引导页的方法:1、创建一个启动界面,代码如“import...
    99+
    2023-07-04
  • 如何通过CSS实现网页的平滑滚动导航
    导航是网页中非常重要的一部分,是用户浏览网页内容的入口。而在一个较长的网页中,平滑滚动导航可以让用户快速定位到所需内容,并提升用户体验。要通过CSS实现平滑滚动导航,可以使用一些CSS特性和技巧。以下是具体的代码示例:HTML结构:<...
    99+
    2023-10-21
    平滑滚动 ( smooth scrolling ) CSS ( 层叠样式表 ) 导航 ( navigation )
  • JS实现网页导航条特效
    本文实例给大家分享了一个用原生JS实现的比较实用的网页导航条特效,当页面滚动时,导航条会发生变化,效果如下: 以下是代码实现,欢迎大家复制粘贴和收藏。 <!DOCTYPE...
    99+
    2024-04-02
  • Bootstrap中导航条和分页导航如何实现
    这篇文章主要介绍Bootstrap中导航条和分页导航如何实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 本篇文章带大家了解一下Bootstrap中的导...
    99+
    2024-04-02
  • 如何通过CSS实现网页的平滑滚动导航条
    导航条是网页中非常重要的组成部分之一,它不仅提供了页面导航的功能,还能使网页更加美观。而在网页中实现平滑滚动导航条,可以为用户提供更好的体验。本文将介绍如何通过CSS实现网页的平滑滚动导航条,并提供具体的代码示例。一、HTML结构首先,在H...
    99+
    2023-10-21
    CSS 平滑滚动 导航条
  • HTML网页中如何实现contextMenu
    这篇文章将为大家详细讲解有关HTML网页中如何实现contextMenu,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.下载下载地址https://github.com...
    99+
    2024-04-02
  • js如何实现网页换肤
    这篇“js如何实现网页换肤”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“js如何实现网页换肤”文章吧。效果:代码:<!...
    99+
    2023-07-02
  • PHP页面导航:如何实现页面跳转到新页面
    PHP页面导航:如何实现页面跳转到新页面 在网站开发中,页面导航是一个常见的需求,通过页面跳转可以让用户方便地浏览不同的页面内容。PHP作为一种常用的服务器端脚本语言,提供了丰富的函数...
    99+
    2024-03-04
    页面跳转 php
  • javascript网页内容如何导出pdf
    这篇文章主要讲解了“javascript网页内容如何导出pdf”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript网页内容如何导出pdf”吧!首先打开浏览器,然后进入需要保存格...
    99+
    2023-07-02
  • Win10斯巴达浏览器如何全屏浏览网页
      作为微软在Win10系统上的一个核心产品,斯巴达浏览器给用户带来了不小的惊喜,那么它的基本功能体验又如何呢下面我们看看Win10的斯巴达浏览器如何全屏浏览网页   操作步骤   1.打开要全屏浏览的网页。   2....
    99+
    2023-06-14
    Win10 斯巴达 浏览器 全屏 浏览
  • jquery实现网页左侧导航菜单栏
    本文实例为大家分享了jquery实现网页左侧导航菜单栏的具体代码,供大家参考,具体内容如下 1.首先在<head></head>之间添加 <scrip...
    99+
    2024-04-02
  • javascript如何实现网页进度条
    这篇文章将为大家详细讲解有关javascript如何实现网页进度条,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。实例代码:<!DOCTYPE html&g...
    99+
    2024-04-02
  • Javascript如何实现网页抢红包
    这篇文章主要介绍了Javascript如何实现网页抢红包,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一开始用Firefox加Firebug...
    99+
    2024-04-02
  • php如何实现网页伪静态
    小编给大家分享一下php如何实现网页伪静态,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php实现网页伪静态的方法:首先在服务器根目录创建一个“.htaccess”文件;然后添加内容为“RewriteRule ^index...
    99+
    2023-06-14
  • js如何实现网页计算器
    小编给大家分享一下js如何实现网页计算器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如何在利用HTML,css和js的知识制作一个简单的网页计算器呢?一个计算机...
    99+
    2023-06-15
  • php网页评论区如何实现
    要实现PHP网页评论区,可以按照以下步骤进行操作:1. 创建数据库表:首先在数据库中创建一个用于存储评论的表,包括评论ID、评论内容...
    99+
    2023-09-07
    php
  • JavaScript如何实现切换搜索引擎的导航网页搜索框
    小编给大家分享一下JavaScript如何实现切换搜索引擎的导航网页搜索框,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体代码...
    99+
    2024-04-02
  • 如何通过纯CSS实现网页的平滑滚动导航菜单
    引导用户在网页中进行导航是一个重要的设计元素,而平滑滚动导航菜单是提供用户友好的导航体验的一种方式。本文将介绍如何通过纯CSS来实现这样的导航菜单,并提供相应的代码示例。一、HTML结构首先,我们需要在HTML中创建导航菜单的基本结构。以下...
    99+
    2023-10-21
    导航菜单 CSS 平滑滚动
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作