【纯前端实现页面总结一】-- 导航栏布局以及点击展示不同界面+iframe标签引入的页面自适应高度(在html中引入另一个html文件)【已解决】

2023-11-16

说明:jQuery实现, 点击导航栏变换iframe标签引入的页面

  • 默认展示首页,css样式默认应用于“首页”导航栏
  • 点击切换页面,并且导航栏样式改变

一、 页面切换效果如下:

请添加图片描述
小声逼逼:关于录屏软件的推荐:这篇博客里面有的哦,没有水印哒~

二、 html文件中的内容如下(代码可粘贴运行):

  • homePage.html文件中放置页面主要内容,头部,尾部,导航栏…
  • 首页.html放置首页的展示内容
  • 展示一.html放置展示一的展示内容
  • 其余同理

1、 homePage.html文件(内含css样式与js)

  • html:

    <body>
    <div class="container">
        <!-- 导航栏 -->
        <div class="nav">
            <div class="center">
                <ul class="nav_lineprinter">
                    <li style="background-color:  rgb(8, 89, 181) "><a style="color:yellow" href="javascript:;">默认显示首页</a></li>
                    <li><a href="javascript:;">点击展示一</a></li>
                    <li><a href="javascript:;">点击展示二</a></li>
                    <li><a href="javascript:;">点击展示三</a></li>
                </ul>
            </div>
        </div>
         <!-- 各导航栏详细信息 ----- 默认引入首页-->
        <div class="center">
            <div id="products">
                <iframe src="首页.html" style="width: 100%;padding-top: 10px; height:1000px; border:0;" scrolling="no"></iframe>
            </div>
        </div>
    </div>
    </body>
    
    
  • less文件:

    .center {
    width: 960px;
    margin: 0 auto;
    min-width: 960px;
    }
    // 导航栏的样式
    .container .nav {
      background-color: rgb(62, 135, 217);
      height: 40px;
      //清除浮动的方法之一
      overflow: hidden;
      width: 100%;
      ul li {
        float: left;
        a {
          display: inline-block;
          font: 18px "Microsoft YaHei";
          letter-spacing: 3px;
          height: 40px;
          line-height: 40px;
          text-align: center;
          width: 240px;
        }
      }
    }
    
    
    
  • js实现导航栏的切换 以及 样式的切换

    思路:点击导航栏,切换iframe标签属性src的内容

        <script>
        var navs = ["首页.html", "展示一.html", "展示二.html", "展示三.html"];
        // 排他思想 -> 导航栏点击时颜色以及页面的切换
        $(function() {
            $(".nav_lineprinter>li").click(function() {
                // 颜色变化
                $(this).css("background", "rgb(8, 89, 181)");
                $(this).siblings(".nav_lineprinter>li").css("background", "");
                $(this).children().css("color", "yellow");
                $(this).siblings().children().css("color", "");
                //切换页面
                var index = $(this).index();
                $("#products").children().attr("src", navs[index]);
               
            })
        })
    </script>
    
    
    

2、 首页.html中的内容

<body>
    <h1 style="text-align:center; line-height: 300px;">我是首页,我是首页哦</h1>
</body>

3、 展示一.html中的内容

<body>
    <h1 style="text-align:center; line-height: 300px;">展示一出来了,我是展示一!!</h1>
</body>

4、 展示二.html中的内容

<body>
    <h1 style="text-align:center; line-height: 300px;">展示二出来了,我是展示二!!</h1>
</body>

5、 展示三.html中的内容

<body>
    <h1 style="text-align:center; line-height: 300px;">展示三出来了,我是展示三!!</h1>
</body>

三、 iFrame标签的自适应高度(需要WebStrom打开,必须的呦!笑死,我根本不知道为啥)

关于点击导航栏切换页面,在html文件中引入另一个html文件(博主的思考):

  • 由于未学好js直接切入vue框架的原因:首先考虑vue的路由跳转
  • 其次整个页面跳转到另一个页面,有多少界面,那头部、尾部、导航栏的实现代码就需要粘多少遍,维护起来,那简直…(不忍直视…)
  • jQuery实现:
    • $("#page1").load("page/Page_1.html");
    • 弊端挺大的,样式重复起来根本不好改动,而且同样960px的宽度,引入的页面会往下掉
  • iframe标签引入: 就是上文的方式
    • 消除默认滚动栏:scrolling="no"即可
    • 还有高度开始固定,需要js实现页面自适应高度

1、 html文件

  <div class="center">
            <div id="products">
                <iframe onload="loadFrame(this)" src="首页.html" style="width: 100%;padding-top: 10px; border:0; " scrolling="no"></iframe>
            </div>
 </div>

2、 js(Jquery实现)

<script>
    function loadFrame(obj) {
        $('iframe').css("display","none")
        $('iframe').fadeIn("30000")
        var url = obj.contentWindow.location.href;
        console.log(url)
        var result = $('iframe').prop('contentWindow').document;
        // console.log(result);
        // console.log(result.body.scrollHeight);
        $('iframe').attr("height", result.body.scrollHeight)
        // console.log($('iframe').attr("height"));

    }
    // console.log($("iframe").attr("src"))
</script>

还有学习iframe标签的W3C以及一篇博客:
博客地址

对了对了,解决方案有很多,这不一定是最好的思路,欢迎推荐博客进行学习,欢迎多多交流!嘻~

写在最后,不要改别人的代码,浪费时间,浪费生命,还浪费头发,笑死

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【纯前端实现页面总结一】-- 导航栏布局以及点击展示不同界面+iframe标签引入的页面自适应高度(在html中引入另一个html文件)【已解决】 的相关文章

  • 是否可以使“HTML 到语音”与“文本到语音”相同?

    我有一个奇怪的要求 在我现有的应用程序中我有Text2Speech为此 我使用了AVSpeechSynthesizer 到语音文本 但现在要求发生了变化 现在我需要将 HTML 文件数据转换为文本 例如HTML2Speech 我们可以想到的
  • 如何保留用户的输入打印?

    我正在尝试添加用户的评论 所以我只是尝试读取输入并将其发送以进行打印 但问题是 一旦我刷新页面或输入另一个输入 打印的输入就会消失 因此 即使刷新页面或重新输入新评论 我也希望始终保持所有用户的显示 代码 div div
  • 古老的“字幕”标签的替代品?

    marquee 标签的标准等效项是什么 我正在寻找 HTML C asp NET 或 ASPX jquery java 脚本的解决方案 marquee 标签未包含在标准中 因为它是 视觉 标签 而不是 语义 标签 因此 您想要的任何语言都没
  • 链接无效

    我正在尝试使用以下命令创建一组指向页面中特定部分的链接 a href 符号 但它似乎不起作用 点击链接似乎没有任何反应right click gt open in a new tab更改 url 但不会移动到页面的其他部分 我使用的是火狐浏
  • 使用 python 在一个 html 页面中显示分割数据框的 HTML 代码

    我是 html css 新手 所以对以 html 格式显示的数据有疑问 我有一个很长的列表 我想将其拆分并以 html 格式显示为两个单独的列 例如 而不是 Col1 Col2 1 a 2 a 3 a 4 a 5 b 6 b 7 b 8 b
  • 将 XSL-FO 转换为 HTML

    我有一组用于 PDF 生成的 XSL FO 文档 我还需要将相同的输出数据 PDF 格式 导出为 HTML 文件 此外 我需要 HTML 具有与 PDF 类似的样式 有没有办法使用 C 将 XSL FO 转换为 XHTML NOTE 我知道
  • div 中的中心文本?

    我有一个div 30px高和500px宽的 这div可以包含两行文本 一行在一行 并相应地设置样式 填充 但有时它只包含一行 我希望它居中 这可能吗 要水平居中 请使用text align center 要垂直居中 只能使用vertical
  • 固定 div 位于居中 div 旁边

    我有一个网页 其中有可滚动的内容 此内容包含在 content 内 位于页面的中心 现在我希望导航栏出现在内容左侧 50 像素处 该栏应具有固定位置 不应滚动 这是我到目前为止所尝试过的 nav position fixed top 50
  • 如何在Yii框架中向Form添加类?

    我在 Yii 中有一个表单 我想向该表单添加一个类
  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • javascript 选择自定义光标 (svg)

    我正在动态地将光标更改为悬停时的本地 svg element on mouseover function this css cursor url svgs pointer svg 9 30 auto 工作正常 但我想选择该 svg 来操纵其
  • 如何使使用 css 调整大小的图像在 IE 中看起来不错?

    当使用 css 宽度 高度或属性宽度 高度缩放图像时 IE6 和 IE7 无法很好地缩放网页中的图像 我不确定它默认使用哪种算法 但这不好 在这些浏览器中缩放时 缩放图像会显示锯齿伪影 幸运的是 有一种方法可以通过简单的 css 规则强制
  • 如何通过单击链接来更改 div 的内容?

    这是我的网页的 修改后的 jsfiddle 它还有很多 而且定位是正确的 与此相反 http jsfiddle net ry0tec3p 1 http jsfiddle net ry0tec3p 1 a href class btn1 st
  • 如何在模态打开时防止主体滚动

    我在用着W3schools 模态脚本 https www w3schools com howto tryit asp filename tryhow css modal我想添加一个功能 防止模型打开时整个主体滚动 我根据我的需要对原始脚本做
  • 如何始终将焦点保持在文本框中

    我创建了一个包含两个 div 的 HTML 页面 左侧的 div 页面的 90 是 ajax 结果的目标 右侧的 div 页面的 10 包含一个文本框 该页面的想法是在文本框中输入零件编号 通过条形码扫描仪 并显示与该零件编号匹配的绘图 显
  • 如何停止TinyMCE删除span标签?

    在我的工作中 前一位程序员决定使用公司网站上精彩的TinyMCE 我遇到的数千个问题之一是 如果原文有的话span标签 当我按下退格键删除一行 p仅标签 全部span标签已从文本中删除 这个错误比另一个错误更具体 我可以删除anything
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • 使用 CSS 的响应式图像

    我发现调整图像大小以使其具有响应能力很棘手 我正在开发一个 php 应用程序来自动将网站转换为响应式版本 我有点被图像困住了 我已经成功地为网站上的每个图像添加了一个包装类 并且可以很好地调整图像的大小 我的问题在于自然小于窗口的图像 例如
  • 如何使用 JavaScript 或 jQuery 克隆 HTML 元素的样式对象?

    我正在尝试克隆元素的样式对象 这应该允许我在更改后重置所述元素的样式 例如 el style left 50px curr style left 50px Modify the elements style The cloned style
  • 使用 CSS 折叠和展开元素

    我正在尝试构建一个页面 加载时仅可见标题 并且 当用户单击标题时 每个标题下方的表格会在隐藏和显示状态之间切换 我的限制是只能在 CSS 中执行此操作 这是我到目前为止想到的 https jsfiddle net Argoron c1ypx

随机推荐