这是我正在使用的JS
<script type="text/javascript">
function loader(value, url)
{
document.getElementById("page").innerHTML=value;
document.getElementById("display").src = url;
}var home = "HOME";
var admin = "ADMINISTARTOR";
var sales = "SALES";
var isve = "ISVE";
</script>
这是文件的负责人。 我制作了一个包含链接的侧边栏:
<li><a href=<?php echo "\"/".INDEX."/sales/\"";?> onclick="loader(sales, this.href)">Sales</a>
<ul>
<li><a href=<?php echo "\"/".INDEX."/sales/move\"";?> onclick="loader(sales, this.href)">Movement</a></li>
<li><a href=<?php echo "\"/".INDEX."/sales/cancel\"";?> onclick="loader(sales, this.href)">Cancel</a></li>
<li><a href=<?php echo "\"/".INDEX."/sales/add\"";?> onclick="loader(sales, this.href)">Add new HW</a></li>
</ul>
</li>
我有一个目标框架:
<div id='content' style='margin-left: 170px; height: 700px; width: 800px; overflow: auto;'>
<iframe id='display' src=<?php echo "\"/".INDEX."/main/home\"";?> style='height: 650px; width: 800px;'></iframe>
</div>
当我单击顶级链接时,它可以正常工作,在我的情况下销售,相关文档会在目标框架中显示,但是一旦我导航到子菜单链接,它就会被加载到整个页面中。请帮忙!!!
答案 0 :(得分:0)
我不确定您要做什么,但根据我从代码中理解的内容,您希望在点击不同链接时显示不同的iFrame。
因此,如果您想使用javascript进行此操作,则应将所有数据加载到浏览器中,然后根据点击的链接隐藏或取消隐藏iframe。因此,您可以为不同的链接设置不同的iframe,然后相应地显示或隐藏它们。
或者你可以去AJAX并拨打服务器来发送点击的其他链接的数据。
答案 1 :(得分:0)
看起来你正在尝试做类似于AJAX已经做过的事情。您可以调整loader类以使用jQuery的加载函数。如果你愿意,这也可以让你摆脱iframe,只需将页面加载到div中。在我看来,将它加载到div中将是更好的方式。
您需要在页面标题中引用jQuery:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
然后你是新的装载机看起来像这样:
function Loader(page) {
$('#display').load(page + '.html');
}
这将根据您传递的页面名称将单独的HTML页面的内容加载到显示div中。我建议更多地阅读有关如何使用jQuery和AJAX加载方法的内容。 http://api.jquery.com/load/