javascript - 背景模糊的模态窗口

标签 javascript jquery jquery-ui modal-dialog jquery-ui-dialog

我有以下模型

enter image description here

左边是姓名列表和一个箭头(目前我已经在 Todd 和 Patricia 上展示了这个,但每个名字都可以使用)。单击箭头时,我应该会打开一个模态窗口。

目前我正在打开 JQueryUI单击箭头的对话框。

是否可以使用模态对话框实现如图所示的 UI?

是否可以单击 Todd 的 Hasen 箭头并在不关闭模态对话框的情况下使用新数据加载模态对话框?

最佳答案

编辑:

要实现您提供的屏幕截图中显示的 UI,其中选定的 li 位于叠加层 (modal) 的顶部并“连接”到对话框,您必须执行以下操作:

  1. 将对话框放在点击的 li 旁边,并禁用拖动和调整大小。
  2. 设置所选 li 的样式以进一步扩展 (width) 并应用 position: relative + 高 z-index 所以它位于叠加层的顶部。
  3. 做一些 CSS 魔术,这样看起来会很棒! :-)

我已经编写了一个更新的 JSFiddle 来完美地展示我上面描述的内容。我相信您可以从这里独立进行。就个人而言,我认为它看起来很整洁,并且与您的屏幕截图几乎相同。

JSFiddle 演示的结果:http://jsfiddle.net/losnir/Dmp94/3/embedded/result/
(see code)


(原始答案:)

是的,这是可能的。首先,您创建一个 Dialog 对象。然后在您的名称列表上绑定(bind)一个 .click 事件处理程序,并使用一个回调来打开对话框并设置内容。

这是一个例子:

[JavaScript]
var myDialog = $("#dialog").dialog({
    autoOpen: false
})

$("ul#names > li").click(function() {
    var myName = $(this).data("name");

    /* Open Dialog */
    if(myDialog.dialog("isOpen") !== true)
        myDialog.dialog("open");

    /* Change dialog title */
    myDialog.dialog("option", "title", myName)

    /* Change dialog contents */
    myDialog.find("span.name").text(myName);
    myDialog.find("div.content").html("Set content here!");
})
[HTML]
<div id="dialog">
    <p>Hello, my name is: <span class="name"></span></p>
    <div class="content">
        <!-- Content goes here -->
    </div>
</div>

<ul id="names">
    <li data-name="Hasen"><a href="#">Hasen</a></li>
    <li data-name="Todd"><a href="#">Todd</a></li>
    <li data-name="Patricia"><a href="#">Patricia</a></li>
</ul>

您可以使用 $.get() 设置内容或 $.ajax() ,或您想要的任何其他方式。

这是“自定义”jQuery UI 主题的快速方法:http://jqueryui.com/themeroller/
您始终可以根据自己的喜好使用 CSS 设置 .ui- 类的样式。

这是一个 JSFiddle 演示:http://jsfiddle.net/losnir/Dmp94/

关于javascript - 背景模糊的模态窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18257397/

相关文章:

javascript - 循环遍历列表并获取元素图像 id?

jquery - 使用数据表和 Bootstrap 模式

Javascript 使用 jQuery UI 自动完成电子邮件的域

javascript - JS 中的径向形状

jquery - 如何为 jQuery UI 进度条的值设置动画?

jquery - 日期选择器 "Done"按钮未显示在显示按钮栏面板中

javascript - 基于 webpack 入口点创建环境变量

Javascript: if(arg1, arg2, arg3...) 语句

javascript - 在预先存在的命名空间中定义所有外部 JavaScript

javascript - 根据 url 设置项目事件