在一个页面的多个位置同时显示不同的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


目录
相关文章
如何设置控制台由底部展示改为右侧位置
这篇文章介绍了如何在Sublime Text编辑器中将控制台从底部展示改为右侧位置,通过使用Package Control来安装相关的插件来实现界面布局的调整。
|
7月前
如何让文本框显示提示信息
如何让文本框显示提示信息
42 0
|
7月前
|
JavaScript
点击图片返回页面顶部的案例
点击图片返回页面顶部的案例
textarea文本框默认显示文本鼠标点击时清空
textarea文本框默认显示文本鼠标点击时清空
|
7月前
根据用户是否输入和是否文本框内容为空来决定显示按钮颜色
根据用户是否输入和是否文本框内容为空来决定显示按钮颜色
57 0
scrollIntoView()定位元素显示导致页面上移解决方法?
scrollIntoView()定位元素显示导致页面上移解决方法?
628 0
|
前端开发
Bootstrap tab页签刷新加载不显示,只有点击其他标签后第一个才显示
Bootstrap tab页签刷新加载不显示,只有点击其他标签后第一个才显示
112 0
|
XML 数据格式
AS中按钮不显示问题
AS中按钮不显示问题
|
小程序 开发者
小程序__02--navigationBarTitleText配置子页面标题,依旧显示默认标题,子页面配置不显示
navigationBarTitleText配置子页面标题,依旧显示默认标题,子页面配置不显示