0

所以我确定我有点过头了。我对 html 和 css 之后的任何代码都很陌生,我决定深入研究 javascript 作为我的第一次尝试。我收到了很多很棒的反馈,虽然其中很多有帮助,但我真的想不通。

从本质上讲,我所做的是用两个 php 页面创建了一个画廊:第一个是我网站上的一个页面,带有一个滑动缩略图窗口和一个“通用”字段,它将加载艺术作品和可变内容。第二个是gallery.php 页面,该页面将所有潜在的艺术作品分解为div,其中艺术、标题、描述等都以唯一的ID 分解。When one of the thumbnails is selected, it calls the div from the gallery.php page and populates it in the 'generic' div using .innerHTML. 这工作正常,但由于我在gallery.php 页面中有40 多个div,使其成为标准的php 包含(在隐藏的div 中,所以什么都不可见)使页面永远加载,这并不理想。

因为我对一切都很陌生,所以我开始的速度非常慢,并且仅仅因为我试图首先掌握它的 javascript 根源而避免使用 jquery。前几天我在 jquery 中找到 .load() 函数时提出了这个问题,我想知道是否有办法用直接的 javascript 写出来,虽然我没有收到任何版本,但我确实得到了关于如何在 ajax 中做到这一点的详细回复,这让我有点不知所措。

我的查询基本上是以下可能的情况之一: - 希望是最简单的解决方案......有没有办法加载页面上的所有内容,然后只有在页面加载之后告诉页面开始加载包含的 gallery.php 页面内容,这样我就不会减慢页面的加载时间,如果有的话,点击时我的画廊内容的加载时间会变慢吗?- AJAX 是从另一个页面调用 div 的最基本方式吗?- 如果有办法将源定义为单独的 php 页面,我可以告诉它拉出我定义的 div 吗?- 如果我要折叠并包含 .load() jquery 函数,我如何返回我正在寻找的 div?

我不是在寻找所有这些或课程的答案,但如果有任何推荐的解决方案,请告诉我。

4

1 回答 1

0

作为预加载内容的一种简单方法,我建议使用隐藏的 iframe。这样,您的资源将在客户端加载和缓存,但您不必担心 AJAX。为确保该 iframe 的内容将在缩略图之后加载,您可以使用纯 JavaScript 创建它,并将其附加到文档加载事件。有关 addEventListener 的详细信息,请参阅“MDN: element.addEventListener”

window.addEventListener("load", function(){

    var iframe = document.createElement("IFRAME"); 
    iframe.setAttribute("src", "galery.php"); 
    iframe.style.display = "none"; 
    document.body.appendChild(iframe);

}, false);
于 2012-08-08T06:08:47.100 回答