gpt4 book ai didi

javascript - 将 DIV 显示为覆盖层

转载 作者:太空宇宙 更新时间:2023-11-04 14:25:25 24 4
gpt4 key购买 nike

我一直是一名后端开发人员,并尝试使用 RoR 做一些 UI 工作。

I have a list object that I want to display.
Object1
Object2
Object3
Object4
...

我已经完成了这一点。

现在当用户点击 Object1 时,我想显示对象中的详细信息(类似于 http://jquerytools.org/demos/overlay/index.htm )

我理解示例中的代码。

你有一个隐藏的 div,点击你显示它。但就我而言,我有很多对象(几百个),每个对象都非常大,我不想在加载页面时检索所有数据。所以目前当用户点击一个对象时,我简单地打开一个新页面,所有数据都在其中详细显示。我想要的是像上面的示例一样打开一个叠加层,并在其中呈现数据。

我不熟悉 UI 开发的行话,并且在开始自己编写代码之前很难找到它的现有实现。

许可对我来说是个问题,所以我想坚持使用 vanilla jQuery 和 RoR。而不是使用具有各种许可方案的第三方库。

最佳答案

正如我在评论中所说,您可以使用 AJAX 来完成此操作.它的作用是,当您单击链接时,它不会重新加载整个页面,而是异步向服务器发送请求并返回响应,而响应又可以在 javascript 中处理以更新页面。

所以在您点击链接的情况下,您只需向服务器发送 ajax 请求,检索要在覆盖框中显示的数据,设置文本,然后执行必要的显示覆盖盒子本身。

当您尝试处理 AJAX 本身时,它可能会导致一些小问题。所以我建议使用在这里找到的 JQuery 库的 ajax API:http://api.jquery.com/jQuery.ajax/ .这更易于使用,并且还跨浏览器兼容。

对于这样的 div :

<div id="overlay"></div>
<button id="load">Load Box</button>

你可以这样使用:

$("#load").click(function(){
//ajax request
$.ajax({
url: "your/web/service.aspx",
cache: false
})
.done(function(response_text){
//setting the response got to the overlay box
//this can be a plain text or html or json.
//you need to set the box appropriately.
$("#overlay").text(response_text);
//then do the needful to display overlay box
});
});

关于javascript - 将 DIV 显示为覆盖层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19597171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com