在一个页面的多个位置同时显示不同的Toastr提示信息

简介: 在一个页面的多个位置同时显示不同的Toastr提示信息

背景


我想在同一个页面弹窗多个 toastr ,分别在不同的位置。


但是遇到了问题:无法弹出多个不同位置的 toastr 。即后续的 toastr (即使单独配置了positionClass),依然使用的是第一个位置配置。


问题分析


原本的 toastr ,当设置不同的位置时,后一次的弹窗位置与前一次的弹窗的消失时间有关,这在 Codepen 上有个演示。


  • Codepen上的效果展示

image.png

codepen.io/grantiverso…


解决方案


  • Issue


toastr 源码中看到了有相关的 Issue:Fix using multiple positions at the same time #635 ,有小伙伴遇到了同样的问题。


而且这还通过 GitHub 上的一个PR解决了,修改后的 toastr 源码:


image.png

  • PullRequest

github.com/merlinoa/sh…

image.png

  • 效果展示


通过以上 toastr 的源码替换,我在这个小工具项目中实现了预期的想法。共涉及三个不同位置的弹窗:每次有消息时,左侧显示正常提示,右侧显示异常提示,当点击前两者时,中间弹出“复制成功”。

let that = this;
    // error toastr with copy, right
    toastr.options.positionClass = 'toast-top-right';
    toastr.options.timeOut = 0;
    toastr.options.extendedTimeOut = 0;
    toastr.options.closeButton = true;
    toastr.options.tapToDismiss = false;
    toastr.error("异常:出错了:<br />错误信息", null, {
        "onclick": function(event) {
            that.copy(event.target.innerHTML);
        }
    });
    // info toastr with copy, left
    toastr.options.positionClass = 'toast-top-left';
    toastr.options.timeOut = 0;
    toastr.options.extendedTimeOut = 0;
    toastr.options.closeButton = true;
    toastr.options.tapToDismiss = false;
    toastr.info("信息:按计划进行:<br />基本信息", null, {
        "onclick": function(event) {
            that.copy(event.target.innerHTML);
        }
    });
    // copy successfully message, center
    toastr.options.positionClass = 'toast-top-center';
    toastr.options.timeOut = 2000;
    toastr.options.closeButton = false;
    toastr.success('复制成功');

image.png


目录
相关文章
|
4天前
如何让文本框显示提示信息
如何让文本框显示提示信息
17 0
如何获取与设置光标在input框的位置
如何获取与设置光标在input框的位置
如何获取与设置光标在input框的位置
|
8月前
scrollIntoView()定位元素显示导致页面上移解决方法?
scrollIntoView()定位元素显示导致页面上移解决方法?
219 0
|
5月前
点击添加按钮弹框动态添加内容并且拼接在页面
点击添加按钮弹框动态添加内容并且拼接在页面
19 0
|
5月前
|
前端开发
Bootstrap tab页签刷新加载不显示,只有点击其他标签后第一个才显示
Bootstrap tab页签刷新加载不显示,只有点击其他标签后第一个才显示
Vant3—— 点击对应的name名称跳转到下一页对应的tab栏的name的位置
点击对应的name名称跳转到下一页对应的tab栏的name的位置
145 0
|
小程序 开发者
小程序__02--navigationBarTitleText配置子页面标题,依旧显示默认标题,子页面配置不显示
navigationBarTitleText配置子页面标题,依旧显示默认标题,子页面配置不显示
|
缓存
详细页返回列表保留原来滚动条所在位置
最近学校要求做个项目,在新闻列表页中向下滑动后,随别打开一个新闻,进入该新闻的详情页面,当看完后,从详情页返回到新闻列表页。而且滚动条也回到了最顶上的第1个新闻了。这样影响用户的体验效果。
274 0
|
JavaScript
使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态。点击列表的项,切换二级列表的显示或隐藏状态
使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态。点击列表的项,切换二级列表的显示或隐藏状态
388 0
使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态。点击列表的项,切换二级列表的显示或隐藏状态