javascript - 如何使用 intro.js 仅一步更改“overlayOpacity”?
问题描述
我只想将一个特定步骤的“overlayOpacity”选项更改为 0.5。如何实现此功能并将该参数更改回默认值?
不起作用的示例:
introJs().step2().setOption("overlayOpacity", 0.5);
if(introJs().step2()){
introJs().setOption("overlayOpacity", 0.5);
}
解决方案
intro.js的API 文档不是很清楚,但我在存储库中找到了一个示例,它可能会让您了解如何解决您的问题:
- 监听步骤变化
- 检查是否
_currentStep
等于所需的步骤
introJs().onbeforechange(function() {
if (this._currentStep === 1) {
introJs().setOption("overlayOpacity", 0.5);
} else {
introJs().setOption("overlayOpacity", 0.8);
}
});
注意: 的默认参数overlayOpacity
是 0.8,如果用户离开了所需的步骤,应该改回来。请记住,此侦听器会在步骤更改之前触发回调函数。因此我们需要currentStep === 1
, 而不是 2。
推荐阅读
- c++ - 如何在给定四个点的情况下校准相机焦距、平移和旋转?
- url - 如何将编码的字符串传递给php中的url?
- dart - CircularProgressIndicator 不显示在颤振中
- php - 未在 eBay 重定向 URL 上获得响应代码
- reactjs - 重置redux-form时react-select不清除值
- android - sqlite数据库中的图像索引
- php - Laravel 方法 Illuminate\Mail\Mailer::test 不存在
- c++ - 对类型的非 const 左值引用 - 使用 Class 类型的参数时,Objective-C++ 包装器中的错误
- android - FB 在某些设备中不返回电子邮件(android chrome 组合)
- objective-c - 如何从字符串中获取电话号码?