0

我有一个包含很多隐藏内容的页面,我使用 jQuery 将其动画化。例如,我有一个主页,其中包含带有 # 作为 href 的链接,单击时我将匹配的 div 动画到该链接并将其动画化到视图中。

我想有一种方法可以直接从 url 访问这些 div。目前我正在使用一些 javascript 代码来为与 div 匹配的 a 标签的点击设置动画。例如,假设我想单击<a>id 的 am 标签aboutus。我的 url 变成www.myurl.com/homepage.aspx#aboutus了,然后 javascript 在 # 之后获取所有内容并单击该标签,然后单击该标签并为我想要的 div 设置动画但是,我想要一些可以引用的东西,例如www.myurl.com/aboutus

我考虑为每个 div 创建一个文件夹,并放置一个主页的副本,并显示想要的 div,但我认为这不是解决问题的最有效方法。有没有人有任何好主意来实现这一点?

4

1 回答 1

1

.htaccess如果您在 Apache 网络服务器上托管,请在与您的内容相同的文件夹中创建以下文件:

<IfModule mod_rewrite.c>
  # Enable rewrite engine
  RewriteEngine on

  # If the condition "file does not exist"…
  RewriteCond %{REQUEST_FILENAME} !-f
  # or the condition "directory does not exist"…
  RewriteCond %{REQUEST_FILENAME} !-d
  # rewrite the request as if it came from index.php
  RewriteRule ^ index.php [L]
</IfModule>

对于 IIS 服务器,请尝试以下web.config文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <!-- Rewrite URLs of the form 'x' to the form 'index.php?q=x'. -->
        <rule name="Short URLs" stopProcessing="true">
          <match url="^(.*)$" ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" />
        </rule>
      </rules>
    </rewrite>

    <httpErrors>
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" prefixLanguageFilePath="" path="/index.php" responseMode="ExecuteURL" />
    </httpErrors>

    <defaultDocument>
      <!-- Set the default document -->
      <files>
        <remove value="index.php" />
        <add value="index.php" />
      </files>
    </defaultDocument>
  </system.webServer>
</configuration>

两种配置都松散地基于Drupal 7配置文件。他们将向您的网络服务器发出与实际文件或目录(例如 /about-us)不匹配的所有请求,实际上返回输出(如果您正在提供静态 HTML 文件,则index.php可以将其放在那里)。index.html这一切都发生在服务器端……最终用户在输入 URL 时仍会看到该 URL ( http://yourdomain.com/about-us )。您可以使用 Javascript (as ) 捕获该 URL,location.href并执行您需要执行的任何显示更改。

于 2013-02-05T19:44:10.797 回答