我想知道,是否有一种方法可以在没有任何其他插件的情况下使用 jquery 制作模式弹出窗口,而只是 jquery 库本身?
5 回答
如果您不想使用插件,则需要自己编写代码。开箱即用的 jQuery 中没有“显示模式”功能/特性。
这似乎是您正在寻找的(嗯,这有很少的代码,并且不使用 jquery)
jQuery UI 之类的插件并不神奇——它们不使用任何隐藏或受限的浏览器功能或秘密 API——它们所做的任何事情,您都可以在自己的代码中手动完成。
就此而言,jQuery 本身也不是 - jQuery 所做的任何事情,你都可以直接用 javascript 来做。
所以是的,绝对可以使用直接的 jQuery 甚至直接的 javascript 创建模型弹出窗口。我什至建议您花点时间阅读jQuery UI 代码,了解它们如何实现模型弹出窗口等内容。
但真正的问题是为什么你要从头开始重写它。重新发明轮子几乎没有(如果有的话)优势,也有很多劣势。
例如,jQuery UI 开发人员可以将 100% 的精力集中在解决浏览器兼容性问题并让他们的库在尽可能多的平台上工作。浏览器和兼容性问题在最坏的情况下对我来说只是一个小烦恼,而且我几乎不会花同样的时间关注它们。因此,我提出的任何解决方案都无法与 jQuery 或 jQuery UI 的质量相提并论。这不是我的核心竞争力——它是次要于我实际在做什么。
CSS
仅 CSS 就可以为您做到这一点。您只需要在屏幕中央显示一个 div 来模糊其他所有内容。
Javascript
显示和隐藏 div。
这是代码。
问题是是否可以在屏幕中间、在其他内容之上显示一个 HTML 标记容器 - 没有拐杖 jQuery。
如果你问这个工具在做什么,你可以开始回溯你将如何去做。
这里的诀窍是如何应用魔术酱来揭示已经样式化但最初隐藏的标记。这可以是花哨的 CSS :target 东西,也可以是简单的 javascript:
单击时,应用添加 display:block 的类来覆盖您的 .modal display:none。