1

我在网站上有两个 div 面板(left_panel 和 right_panel)。左面板有数百种食物,右面板有小盒子,我们可以看到用户从左面板添加了多少项目。现在的问题是当页面加载左侧面板需要很长时间才能从数据库中获取数据并且当它完全加载时而不是右侧面板出现。是否有任何 jquery 可以帮助我在左面板或网站上的任何其他内容之前先加载右面板?

4

6 回答 6

1

那里的东西很少

左面板有数百种食物,右面板有小盒子,我们可以看到用户从左面板添加了多少项目。

您可以通过使用分页、建议/推荐或搜索来延迟加载一些数据。我不希望用户从数百条记录中搜索 reqd 项目会有非常愉快的体验

页面加载左侧面板需要很长时间才能从数据库中获取数据

当 html 开始呈现时,从数据库中获取记录已经完成,除非您稍后从 XHR/Ajax 请求中推迟这样做。即使通过 AJAX 完成,也会同时完成,可能不会严重影响其他 DOM 元素的加载。

我会:

  1. 首先加载右侧面板。
  2. 通过 AJAX 加载左侧面板并实现分页或实时搜索功能。
于 2013-03-15T16:46:11.397 回答
0

最初隐藏右列,并在您的 ajax 函数(或您正在加载内容的任何内容)中放置一个回调,使右列可见。

于 2013-03-15T16:41:59.707 回答
0

我建议在主页加载后使用 AJAX 加载左侧内容。基本概念是有一个空的左面板,填充的右面板作为页面的核心 HTML。然后,当页面在浏览器中加载时,使用 AJAX (jQuery.load) 来引入左侧列的内容。

于 2013-03-15T16:42:35.197 回答
0
 $(document).ready(function() {
  $("div").show(); 
});

并在 Css 中隐藏了 div 权利

或者使用 ajax 向左加载,完成后显示 div 吗?

$.ajax({
  url: "test.php",
//stuff
}).done(function() {
 $("#rdiv").show(); 
});
于 2013-03-15T16:42:40.203 回答
0
$(function)() {
  $("#left").load("leftcontent.html");
});

<div id="right" style="float:right">....</div>
<div id="left"></div>
于 2013-03-15T16:42:59.787 回答
0

如果您.load(callback)在尝试加载的 div 上使用该方法,然后将用于呈现页面其余部分的函数放入回调中,它将执行您想要的操作。请注意,这是一种不同于基于 url 加载数据的 jQuery 加载方法。

参考:http ://api.jquery.com/load-event/

于 2013-03-15T16:43:20.253 回答