【发布时间】:2017-11-26 12:38:18
【问题描述】:
在单个页面上显示例如 50 种不同模式的最佳方式是什么。我正在开发一个打开了很多模式窗口的页面。模态窗口也会打开另一个模态窗口。
从技术上讲,在单个页面上显示这些模式窗口的最佳方式是什么。我不认为我应该在每次页面加载时添加 50 个模态 HTML 代码,也不需要在页面加载时预先调用所有 50 个,因为页面 HTML 会变得很大。
我认为应该有更好的方法来处理这种情况。我注意到在一些显示大量模式窗口的网站上,当模式关闭时,模式 div 似乎从 DOM 中消失了,但我不知道他们是如何做到的。看起来他们似乎没有在初始页面加载时将所有 50 个模态 HTML DOM 添加到页面 DOM。
有没有人做过类似这种情况的事情,页面可能有巨大的模态。是否存在 HTML JS 注入,其中有 HTML 模态模板存储在某处,当在按钮单击场景时,特定模态 HTML 使用 JQuery 注入/交换到 DOM 中,当在模态关闭时单击模态 div 从 DOM 中删除或什么?
感谢任何帮助、回答、评论。
【问题讨论】:
-
我强烈建议您在一页上不要有 50 个模态 - 也不要从另一个打开一个模态 - 您要做的是拥有一个模态,然后交换其中的内容模态根据需要。例如-设置模态标题、模态正文、模态页脚中的操作按钮等。虽然您同时打开了多个模态-这是一个非常糟糕的用户体验 (IMO),并且可能导致对流程和当前状态。修改一个模式中的内容要好得多。
-
内容交换如何工作?我对那部分有点困惑。是通过 JQuery 模板追加/注入吗?技术上是如何做到的?
-
不需要创建
nmodal,one就够了,你只需要改变内容。 就是这样! -
如何更改内容?通过 50 个模态模板和注入/追加?我知道我需要一个单一的模态 HTML,我需要交换,但是怎么做呢?
-
$('#myModal .modal-body').html(newContent)
标签: javascript jquery html css dom