1

我有 10 个画廊,比如gallery1.php、gallery2.php 等。

我想制作一个导航器,每当我按下“First Gallery”或“Secont Gallery”等时。

它只会改变 div 的内容或其他内容。

画廊显示带有 for 循环的图像。基本上,我将所有照片重命名为序列号,然后使用 for 循环一个接一个地打印它们。

我尝试使用 HTML 的 IFRAME,但是当我尝试执行将其高度设置为内容高度的脚本时,我遇到了一个问题,因为该脚本不适用于所有浏览器。我用谷歌搜索了其他脚本,到现在已经尝试了大约 10 个脚本,但似乎没有一个适用于所有浏览器。

如果您有一个适用于所有浏览器的脚本,那将有所帮助。

如果不这样做,如何将 div 内容更改为来自另一个网页的内容?只需考虑我试图从其他网页中提取的内容是 For 循环的结果。

我真的不想每次选择另一个画廊时都重新加载整个页面。

4

2 回答 2

0

您可以使用 AJAX 从服务器获取内容并插入页面,而无需重新加载整个页面。

jQuery 有许多 AJAX 方法,其中最简单的是load().

为您的图库链接提供一个通用类:

<a class="gallery_link" href="gallery1.php">One</a>

然后在 jQuery 中:

$(function(){    
    $('.gallery_link').click(function(){
      /* "this" inside click handler refers to link clicked*/
     var galleryUrl= this.href;
      $('#galleryDiv').load(galleryUrl, function(){
        /* new content is oaded into the DIV, can run any other code here that manages new content*/
      });
      /* prevent browser opening url in window*/
      return false;    
    })
});

API 参考:http: //api.jquery.com/load/

于 2013-01-12T17:47:06.907 回答
0

您可以使用 AJAX 实现此目的。基本上当你选择一个新的画廊时,JavaScript(推荐使用 jQuery)会获取相关的 PHP 页面并将其放入 div 中,如下所示:

$.post('gallery1.php', function(data) {
  $('#the-div-id').html(data);
});
于 2013-01-12T17:43:47.143 回答