javascript - 单击超链接后在同一页面显示对象

标签 javascript jquery css html

我正在开发一个将在纯 HTML5 和小型 Javascript 上运行的网页。

我想在页面文本附近创建菜单,当我单击其中一个菜单链接时,它将包括并显示其他 html 页面的内容。像那样:

http://i.stack.imgur.com/ravwC.png

我阅读了有关 frames 和 i frames 的内容,我决定不想使用它们,而是使用 Object。

这是我的想法:

<center>
<right>
<li>link 1</li>
<li>link 2</li>
<li>link 3</li>
</right>
<left>
<object data="text.html" type="text/html"></object>
</left>
</center>

如何在单击菜单链接时显示和更改同一页面中其他 html 文件的内容?

最佳答案

下面是我会考虑的做法

<right>
  <ul id="nav">
    <li><a href="page1.html">link 1</a></li>
    <li><a href="page2.html">link 2</a></li>
    <li><a href="page3.html">link 3</a></li>
  </ul>
</right>
<left>
  <div id="content"></div>
</left>

$(function() {
   $("#nav > li > a").on("click",function(e) {
     e.preventDefault(); // stop the link
     $("#content").load(this.href); // href must come from same origin as the script
   });
});

更新
由于某些浏览器不允许本地页面使用 ajax(这是 .load 所做的)为什么不在基于硬盘的页面上使用 iFrame - 它可以在所有浏览器上运行而无需任何脚本:

<right>
  <ul id="nav">
    <li><a href="page1.html" target="if1">link 1</a></li>
    <li><a href="page2.html" target="if1">link 2</a></li>
    <li><a href="page3.html" target="if1">link 3</a></li>
  </ul>
</right>
<left>
  <iFrame name="if1"></iframe">
</left>

关于javascript - 单击超链接后在同一页面显示对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27982157/

相关文章:

css - 使用 HTML/CSS 创建直线和圆的交点

javascript - Angular js $http post 不起作用

javascript - 如何使用 vanilla javascript 将 HTML 附加到两个相似的元素?

javascript - 从 getJSON 查询获取 SharePoint Lookup 列的值

JavaScript 表单验证问题 - 必须单击提交两次

javascript - 当值相同时 if 语句会重复

html - CSS 边框不会显示

javascript - 如何处理浏览器多选项卡中的用户注销?

javascript - 反向无限滚动

html - 忽略按钮宽度属性?