HTML将要显示的页面放到当前页面Div标签展示

要实现如图所示效果

在这里插入图片描述

一、我们可以使用<iframe>标签和a标签的target属性来实现

在这里插入图片描述
实现方式一主页代码,其中index2.html页面代码就是实现方式2的主页代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        #container {
            display: flex;
        }

        #top {
            color: blueviolet;
            margin: 0 auto;
            line-height: 150px;
            font-family: 楷体;
            font-size: 24px;
            width: 100vw;
            height: 150px;
            text-align: center;
            border-bottom: solid 5px black;
        }

        #left {
            width: 150px;
            height: 800px;
            border-right: solid 5px black;
            text-align: center;
            float: left;
        }

        #right {
            box-sizing: border-box;
            width: 100%;
            height: 800px;
        }

        #container2 {
            width: 100%;
            height: 800px;
        }

        * {
            padding: 0;
            margin: 0;
        }
    </style>
</head>
<body>
<div id="top">将son1、son2、son3链接在一个页面中</div>
<div id="container">
    <div id="left">
        <div style="height: 50px; width: auto;"></div>
        <ul>
            <li><a href="son1.html" target="mainFrame">打开页面1</a></li>
            <br/>
            <li><a href="son2.html" target="mainFrame">打开页面2</a></li>
            <br/>
            <li><a href="son3.html" target="mainFrame">打开页面3</a></li>
            <br/>
        </ul>
    </div>
    <div id="right">
        <div>
            <iframe src="index2.html" id="container2" name="mainFrame"></iframe>
        </div>
    </div>
</div>
</body>
</html>

子页代码类似
在这里插入图片描述
效果展示在这里插入图片描述

二、实现方式二:可以用js

在这里插入图片描述
实现方式二主页代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" lang="java">
        function func(obj){
            let myFrame="mainFrame" + obj.value;
            //alert(myFrame); //mainFrame1
            //alert(obj.title);   //son1.html
            window.open(obj.title,myFrame);
        }
    </script>

    <style>
        #all{
            margin: 0 auto;
            width: 1300px;
        }

        #top {
            color: blueviolet;
            margin: 0 auto;
            line-height: 150px;
            font-family: 楷体;
            font-size: 24px;
            width: 100vw;
            height: 150px;
            text-align: center;
            border-bottom: solid 5px black;
        }

        #left{
            width: 150px;
            height: 800px;
            border-right: solid 5px black;
            text-align: center;
            float: left;
        }

        #left ul{
            list-style-type: none;
        }
        #left ul li{
            cursor: pointer;
        }

        #right{
            width: 1000px;
            height: 750px;
            float: left;
        }

        .my_class{
            width: 1000px;
            height: 250px;

        }

        *{
            padding: 0;
            margin: 0;
        }

    </style>
</head>
<body>
<div id="all">
    <div id="top">将son1、son2、son3链接在一个页面中</div>
    <div id="left">
        <div style="height: 50px; width: auto;"></div>
        <ul>
            <li title="son1.html" onclick="func(this)" value="1">打开页面1</li><br />
            <li title="son2.html" onclick="func(this)" value="2">打开页面2</li><br />
            <li title="son3.html" onclick="func(this)" value="3">打开页面3</li><br />
        </ul>
    </div>
</div>
<div id="right">
    <div class="my_class"><iframe name="mainFrame1" style="width: 100%; height: 100%;"></iframe></div>
    <div class="my_class"><iframe name="mainFrame2" style="width: 100%; height: 100%;"></iframe></div>
    <div class="my_class"><iframe name="mainFrame3" style="width: 100%; height: 100%;"></iframe></div>
</div>
</div>
</body>
</html>

效果展示
在这里插入图片描述

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 好的,下面是 JavaScript 解析 lrc 歌词并匹配时间显示页面的代码: 首先,你需要获取歌词文件并将其转换为 JavaScript 可以处理的格式。这里假设你已经将歌词文件读取到了一个字符串中,并且该字符串被存储在变量 `lrc` 中。 ``` // 按行分割歌词字符串 const lines = lrc.split('\n'); // 将每行歌词转换为对象,并存储在数组中 const lyrics = lines.map(line => { // 解析出时间标签 const time = line.match(/\[(\d{2}:\d{2}\.\d{2})\]/); // 解析出歌词内容 const content = line.replace(/\[\d{2}:\d{2}\.\d{2}\]/, ''); // 如果没有时间标签或歌词内容,则忽略该行 if (!time || !content) return; // 返回对象 return { time: time[1], content }; }); ``` 接下来,你需要在播放音乐时,定时获取当前播放时间,并将歌词与当前时间进行匹配。下面是一个示例代码,假设你已经有了一个能够播放音乐的 `audio` 元素: ``` // 创建定时器 let timer = setInterval(() => { // 获取当前播放时间 const currentTime = audio.currentTime; // 循环检查每一行歌词 for (let i = 0; i < lyrics.length; i++) { // 获取当前歌词 const ### 回答2: JavaScript可以通过解析LRC歌词文件来匹配时间并在页面显示。下面是一个示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>LRC歌词解析示例</title> </head> <body> <div id="lyrics"></div> <script> // LRC歌词文件内容 var lrc = "[00:00.00] 歌曲名 - 歌手名\n[00:03.00] 第一句歌词\n[00:07.50] 第二句歌词\n[00:11.00] 第三句歌词"; // 解析LRC歌词 function parseLrc(lrc) { var lines = lrc.split("\n"); // 按行分割歌词 var lyrics = []; // 存储解析后的歌词 // 遍历每行歌词 for (var i = 0; i < lines.length; i++) { // 正则表达式匹配时间和歌词文本 var match = lines[i].match(/\[(\d{2}):(\d{2}\.\d{2})\](.+)/); if (match) { // 获取时间和歌词文本 var minutes = parseInt(match[1]); var seconds = parseFloat(match[2]); var text = match[3]; // 计算歌词显示时间(以秒为单位) var time = minutes * 60 + seconds; // 存储解析后的歌词 lyrics.push({ time: time, text: text }); } } return lyrics; } // 获取当前播放时间并匹配歌词 function displayLyrics(lyrics) { var currentTime = 5.5; // 假设当前播放时间为5.5秒 // 遍历解析后的歌词 for (var i = 0; i < lyrics.length; i++) { // 当前行歌词时间小于等于当前播放时间,且下一行歌词时间大于当前播放时间时显示该行歌词 if (lyrics[i].time <= currentTime && (i === lyrics.length - 1 || currentTime < lyrics[i + 1].time)) { document.getElementById('lyrics').innerText = lyrics[i].text; // 显示匹配的歌词 break; } } } // 解析并显示LRC歌词 var parsedLyrics = parseLrc(lrc); displayLyrics(parsedLyrics); </script> </body> </html> ``` 使用以上代码,可以通过解析LRC歌词文件并匹配当前播放时间,实时在页面显示匹配的歌词。请注意,示例中的时间和歌词文本仅做演示,您需要根据实际的LRC歌词文件和播放器等进行相应的调整。 ### 回答3: JavaScript可以解析和显示lrc歌词,通过以下示例代码来演示: ``` <!DOCTYPE html> <html> <head> <title>Lrc歌词解析和匹配时间显示</title> <script> function parseLrc(lrcText) { var lines = lrcText.split('\n'); var lrc = []; for(var i = 0; i < lines.length; i++) { var line = lines[i]; var matchTime = line.match(/\[(\d{2}):(\d{2}).(\d{2})\](.+)/); if(matchTime) { var minute = parseInt(matchTime[1]); var second = parseInt(matchTime[2]); var millisecond = parseInt(matchTime[3]); var content = matchTime[4]; var time = minute * 60 * 1000 + second * 1000 + millisecond; lrc.push({ time: time, content: content }); } } return lrc; } function showLrc(lrc) { var lrcContainer = document.getElementById('lrc-container'); for(var i = 0; i < lrc.length; i++) { var line = document.createElement('div'); line.innerHTML = lrc[i].content; lrcContainer.appendChild(line); } } // 歌词文本 var lrcText = '[00:00.00]第一句歌词\n[00:05.00]第二句歌词\n[00:10.00]第三句歌词'; // 解析歌词 var lrc = parseLrc(lrcText); // 显示歌词 showLrc(lrc); </script> </head> <body> <div id="lrc-container"></div> </body> </html> ``` 这段代码通过`parseLrc`函数来解析lrc歌词文本,将时间和歌词内容保存在数组`lrc`中。然后,使用`showLrc`函数将歌词内容逐行显示在id为`lrc-container`的div元素中。 你可以将歌词文本替换为你具体的lrc歌词文本,然后在浏览器中运行该页面,就可以看到歌词按照时间逐行显示页面上。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeRecently

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值