bootstrap如何实现左侧导航栏,右侧网页

方式一:采用iframe,即将网页放入iframe这个容器中。

方式二:采用div的话绑定a或者li的点击事件 阻止a的默认行为,用jquery的load()可以来加载这个div,即将网页放入div中。

方式三:angular的嵌套路由也可以实现。不过本人对angular不是很了解,所以这种方式没有去试。

方式四:采用ajax技术,实现局部刷新。(本人觉得该方式比较麻烦,就不在这细说了)。

二者的实现方式:

采用iframe的话比较简单, <iframe id="iframe" name = "frame" src="${pageContext.request.contextPath}/user/render.do" width="100%" height="800px"  frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes"></iframe> 然后再写一个script函数:   <script type="text/javascript">

var menuClick = function(menuUrl) {
           
            $("#myManu").attr("src",menuUrl);
        };

</script>

再在<a href="#" onclick('${pageContext.request.contextPath}/user/renderr.do')></a>添加,就可以实现在左侧菜单点击,加载右边网页。

但是他有一个不好的地方就是,iframe的height要限定,这样的话对不同需求的页面来说就使得不能显示最佳效果。(而且iframe现在也是过时了)。

再看看用div的方式来做的话:首先定义一个div<div id="myManu" ></div>,然后再写一个script函数,<script type="text/javascript">
       $(document).ready(function(){

           //这是给div的一个初始页面
      $("#myManu").load('${pageContext.request.contextPath}/user/render.do');
       })
       
        var menuClick = function(menuUrl) {
           
            $("#myManu").load(menuUrl);
        };
</script>

采用该种方式的话就是代码量也很简洁,而且div会根据网页的内容来填充,就不需要将div的height定死,让其自动填充。使得每个网页的内容显示效果更好一点。但是它也有一个不好的方面,就是div的样式它受父级div的影响。不过你也可以对子级div进行自定义样式。

ps(个人觉得还是采用div的方式会好一点,毕竟页面的显示至关重要。)

还有就是bootstrap3.0中它有这个可以缩放的导航栏,具体使用情况可以去它官网查看文档。

此方法我也用过     <div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="${pageContext.request.contextPath}/user/render.do"></iframe>
</div>

效果还是不错的。总之根据自己的需要选择不同的导航栏加载页面方式。

补充一点:用iframe做的话,iframe对应的网页是独立的,不受该页面的样式的影响。

用div做的话,div对应的网页不是独立的,它是嵌入当前页面的,所以div里面的样式会受父级div等的样式的影响。如果div的对应页面和当前页面的css或js都不影响的话,用jquery的load加载div会更好一点。



  • 6
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值