jquery - 如何在我的应用程序中正确使用厚盒?

标签 jquery thickbox

我有几个关于厚盒的问题。我正在开发一个网站,需要在主页上放置一些厚框以在不同时间显示。当粗盒显示时,它将触发 API 调用并在粗盒中显示反馈。

我决定内联显示厚盒以减少 Ajax 调用量。看起来很简单,但出现了一些问题。第一个是当显示thickbox 时,包含thickbox 内容的div 会被删除。 Thickbox 将 HTML 替换为自定义 HTML,以正确显示内容。这没问题,但当我希望 AJAX 响应更新厚盒内的某些内容并且我将其设置为通过选择其容器 ID 来访问厚盒时,就会出现问题。那已经不可用了。当然,我可以为响应指定唯一标识符,但我只是希望为它们提供所有类“响应”,并根据外部包含的 DIV 选择它们。 $("#login_lightbox > .response").html(ajax_response); 这有意义吗?

我的另一个担忧是也许有更好的方法来处理厚盒。我是否应该进行 AJAX 调用来获取厚盒内容,然后在加载时进行 API 调用?这对我来说似乎不是一个好的选择,但以前的开发人员就是这样设置的,所以我希望得到一些意见。

最佳答案

In order to open new Ajax content in an open Ajax ThickBox, its code must also contain the appropriate HTML (class="thickbox") to launch an Ajax ThickBox (see demo for example).

您可能想阅读并查看演示 http://jquery.com/demo/thickbox/#sectionf-1

HTH

编辑:

嘿托尼,以上内容适用于 Thickbox 中的新内容链接,而不是打开 Thickbox。为了配合上面的演示页面,初始内容包含一个链接:

<p>What is jquery? <a href="newTBcontent.html?height=200&amp;width=300" class="thickbox">Answer</a></p>

以便将内容加载到 Thickbox 中。

为了回答你的问题,当我执行以下操作时,效果非常好。也许我误解了你的问题?

初始页面上的某个位置:

<p><a href="atb.php?height=200&amp;width=300" class="thickbox">Open AJAX Thickbox</a></p>

厚盒内容(文件“atb.php”):

<script language="javascript" type="text/javascript">
jQuery(document).ready( function()
{
    jQuery.ajax(
    {
        type: "GET",
        url: "atbd.php",
        success: function(rsp)
        {
            jQuery( ".response" ).html(rsp);
        }
    });
});
</script>
<div id="container">
    <div class="response">RSP 1</div>
    <div class="response">RSP 2</div>
    <div class="response">RSP 3</div>
    <div class="response">RSP 4</div>
</div>

文件“atbd.php”:

<?php
echo date('Y-m-d H:i:s', time());
?>

关于jquery - 如何在我的应用程序中正确使用厚盒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1799743/

相关文章:

javascript - 如果我不知道变量的类型(可能是数组、对象或基元),如何从变量中清除以前的数据

jquery - 在背景中滑入的字母

javascript - css 在特定页面上不显示,没有页面 id

javascript - 动态调整 JQuery thickbox 窗口的大小

javascript - 需要用 jquery 更改标记

javascript - 检查 Thickbox 是否打开

javascript - jQuery 从外部 html 加载内容

javascript - 主干多步模态

javascript - 根据单击哪个按钮在javascript中保存全局变量

javascript - 在 Thickbox 中提交表单,然后关闭窗口