javascript - 改变 iframe src 有效果吗?

标签 javascript html css

我正在制作一个简单的网络应用程序,我想要导航链接,而不是使用 <a>标记,更改 iframe 的 SRC。遇到这种情况,有没有办法让旧页面快速“向上滑动”出iframe,然后让新页面加载呢?如果可能,我只想使用 HTML、Javascript 和 CSS。

最佳答案

在您继续阅读之前,让我问您:您真的需要 iframe 吗?除非别无选择,否则您应该避免在网站中加载网站。它很慢,通常会在浏览器中引起很多问题。

如果您将其用于导航,是否可以改为使用 AJAX 来加载新内容?或者您可以先加载所有可能的内容,然后隐藏所有内容,只留下一个。

顺便说一句,如果您还没有太多经验(如果我有错误的印象,我深表歉意):不要害怕 AJAX 这个词。它只是一个 Javascript 函数,允许将数据发送到服务器,然后在加载页面后处理它返回的任何内容。它也称为 XML HTTP 请求。

无论如何,诸如 jQuery (http://jquery.com) 或原型(prototype) (http://prototypejs.org/) 之类的 Javascript 框架应该会让您的工作轻松很多。

如果您别无选择:

1)执行JS的链接很简单:<a href="#" onclick="return own_javascript_function();"><a href="javascript:my_function()">例如。

2) 让您的函数使用新内容创建一个新的 iframe(var newframe = new HTMLIFrameElement() 然后设置 src 等)并将其插入到先前的 iframe 下方。给它一个较低的 z-index 以将它隐藏在另一个之下。

3) 将 iframe 滑出:使用带有 position:relative 的容器 div在其中放置带有 position:absolute 的 iframe .让javascript_function()使用计时器更改 iframe 的 css-property top从 0 到 -500(或者你的 iframe 的任何高度)。使用 jQuery 可以轻松实现这一点。完成后,移除旧的 iframe 并将新的 iframe 的 z-index 设置为类似 1 的值(以避免需要越来越低的 z-index)。

请记住,您可以对 <div> 执行完全相同的操作而是使用 ajax 将新内容加载到其中;只要您不从外部域加载。

关于javascript - 改变 iframe src 有效果吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10033478/

相关文章:

javascript - 如果某些 <tr> 不可见,则交替行颜色

javascript - 为什么 setColWidth 在 Jqgrid 上不起作用?

javascript - 将html添加到div而不替换其中的当前内容

javascript - 将 span 标签插入 div 时出现问题

html - 我怎样才能准确地居中这种强大的代码?

css - 这个网站是用什么做的?

javascript - 带有汉堡菜单的响应式导航

javascript - 旋转后保持div滚动位置

javascript - Angular 无法识别来自 css3 的图像的静态路径

css - 使用微格式的地址语义标记