0

在我的网站上,我展示了一个内容幻灯片,为此我使用了 jquery。因此,用户将单击一个箭头,然后将显示下一个 div(默认情况下隐藏)。在每个 div 中,(无论是否显示)都有隐藏的 span 标签,其中包含用户正在查看的内容的标题和内容的摘要......

    <div id="content" style="display:block">
      <h2>Relevance of Oceanography</h2>
      <p>Some text</p>
      <span class="hiddentitle" style="display:none">Relevance of Oceanography</span>
      <span class="hiddencontent" style="display:none">Some content</span>
    </div>

    <div id="content" style="display:none">
      <h2>Seafloor Spreading and Earthquake Activity</h2>
      <p>Some text</p>
      <span class="hiddentitle" style="display:none">Seafloor Spreading and Earthquake Activity</span>
      <span class="hiddencontent" style="display:none">Some content</span>
    </div>

我要做的是根据当前显示的 div 的 hiddencontent 替换或更新标签。由于它存储在数据库中,我以为我可以只使用 php,但后来,我意识到这可能意味着我每次都必须重新加载页面,这有点违背了幻灯片的目的......但是,然后,如果我使用 jquery,我担心搜索引擎实际上不会看到元内容,因为它会在页面加载后发生变化......

有没有办法做我在这里想做的事情,或者我只是 SOL?

4

3 回答 3

1

您不需要隐藏 span 标签,因为它们已经在隐藏的 div 元素中。

在爬虫,甚至只是可用性方面,我建议有一个带有直接图像的永久链接的索引,然后你不必担心你想用幻灯片做什么,用户可以链接到特定的图像。

有两种方法可以解决这个问题,一种是使用 JavaScript 来更改 div 的可见性。这很简单,只是改变了元素的 style.display 属性。

对于这种方法,有很多预制的 jQuery 解决方案,例如LightboxJS。这是它们的汇总列表:

http://bradblogging.com/jquery/9-jquery-slideshow-applications-you-cannot-miss/

另一种方法是进行 AJAX 调用以检索标记。这会限制初始负载,但会使图像之间的切换变慢。

于 2009-12-13T20:23:53.467 回答
0

在使用 jQuery 为接口添加趣味之前,对接口进行无 javascript 实现通常是一个好主意。这样一来,对于没有 javascript (f.ex searchbots) 浏览网站的任何人,您仍然拥有服务器端逻辑。

使用点击事件并防止默认操作,您可以在下一阶段使用 jQuery 或本机 javascript 无缝应用表示界面层。有时您可以使用 Ajax 重用服务器端逻辑。

于 2009-12-13T20:32:26.050 回答
0

搜索引擎很可能在幻灯片放映期间看不到任何更改。您可以考虑创建一个 Google 站点地图,其中包含指向幻灯片中每个单独页面的深层链接。您仍然可以使用 jQuery 来运行您的幻灯片,只需通过查询字符串中的参数提供一种在任何时候启动幻灯片的方法。

于 2009-12-13T20:21:45.873 回答