1

你好,我首先要为我的英语道歉,我不擅长它,但我希望我能在这里得到我的答案。

我有一个带有load()功能的菜单,效果很好,但我有两个小问题。为了解释它,我会给你例子。

我的菜单是这样的:

-首页 -
电影 -联系
方式

当我单击电影时,它会加载movies.php并且链接是这样的:

www.server.com/#!/movies

这很好,因为我需要一个这样的链接,但是如果您将相同的链接复制并粘贴到浏览器,它会提供默认数据,因此它没有movies.php加载,我需要在粘贴链接时它具有加载www.server.com/#!/contact的 div 。contact.php

而且这只是我喜欢的一点,我如何load()在页面的其余部分收费的同时放置加载图像。

4

2 回答 2

0

您所说的称为“路由”,从头开始发明并不容易。我建议使用Crossroads 之类的工具来帮助您降低路线。Crossroads 是一个只做路由的库。它允许您像您想要的那样“深度链接”您的页面。Backbone.js 和 Sammyjs 等库允许您通过深度链接实现相同类型的路由功能。

于 2012-05-30T01:27:10.353 回答
0

根据 URL维护页面的状态很容易。

// Handle the `load` event for the page.
window.load = function() {

  // Get what follow the `hash` (#) from the URL.
  var hash = location.hash;

  // Compare and do your stuff.
  if (hash === '#!/movies')
    load('movies.php');
  ...
};

HTH(希望这有帮助)

于 2012-05-30T01:25:02.420 回答