import React, { useState, useEffect } from 'react'
import styles from './style.less'
const data = [{ name: '夜曲', vid: 'BV1tA411q7xi' },{ name: '以父之名', vid: 'BV1mp4y1C7ja' },{ name: '晴天', vid: 'BV1Ag4y1q7tP' },{ name: '七里香', vid: 'BV1AA411q7a8' },
]
const index = () =>
{const [vid, setVid] = useState('BV1tA411q7xi')  // 默认 Vidconst [underline, setUnderline] = useState(0)  // 默认切换useEffect(() =>{  // 发送数据请求 设置订阅/启动定时器 手动更改 DOM 等 ~initColor()return () =>{  // 组件卸载之前 做一些收尾工作 比如清楚定时器/取消订阅 等 ~}}, [])  // 检测数组内变量 如果为空 则监控全局const initColor = () =>{let score = new Date().getHours()let color = nullswitch (true){case score >= 18 && score <= 24:color = 'rgb(64, 123, 224,.4)'break;case score >= 12 && score <= 24:color = 'rgba(189, 22, 72, 0.4)'break;case score >= 6 && score <= 24:color = 'rgb(47, 154, 158,.4)'break;case score >= 0 && score <= 24:color = 'rgb(160, 53, 133,.4)'break;default:color = 'rgb(0, 0, 0,.4)'}return color}const liClick = (data, index) =>{setVid(data.vid)setUnderline(index)}return (<div style={{ backgroundColor: initColor() }} className={styles.container}><nav className={styles.nav}><ul>{data.map((data, index) => (<li key={index} style={underline === index ? { color: 'red' } : null} className={underline === index ? styles.underline : null} onClick={() => { liClick(data, index) }}>{data.name}</li>))}</ul></nav><a target="_blank" className={styles.github_corner} href="https://blog.csdn.net/chuan0106"><img src="https://img0.baidu.com/it/u=686268762,471219961&fm=26&fmt=auto" alt="" /></a><div className={styles.center}><iframe allowFullScreen={true} width="100%" height="450" scrolling="no"sandbox="allow-top-navigation allow-same-origin allow-forms allow-scripts"src={`//player.bilibili.com/player.html?aid=541205956&bvid=${vid}&cid=208099724&page=1&as_wide=1&high_quality=1&danmaku=1`}frameBorder="0"></iframe></div></div >)
}export default index

CSS

.container {width: 100%;height: 100%;position: absolute;background-color: pink;
}.nav {margin: 25px 64px 0 0;position: absolute;right: 0;text-align: right;z-index: 10;color: #5698b5;font-size: 18px;color: #407be0
}.nav li,
.nav ul {display: inline-block;list-style: none;margin: 0;
}.nav li {position: relative;display: inline-block;margin: 0 1rem;padding: 5px 0;cursor: pointer;
}.underline::after {position: absolute;content: "";bottom: 0;right: 0;width: 100%;height: 4px;background: linear-gradient(90deg, #E40960, #3C85FF);border-radius: 2px;
}.github_corner {border-bottom: 0;position: fixed;right: 0;text-decoration: none;top: 0;z-index: 1;img {color: #fff;fill: var(--theme-color, #42b983);height: 80px;width: 80px;}
}iframe {display: block;border: 1px solid #eee;width: 1px;min-width: 100%;
}.center {width: 800px;margin-top: 200px;margin-right: auto;margin-left: auto;
}

实现iframe嵌套bilibili视频相关推荐

  1. 关于博客园内嵌入bilibili视频

    原文:https://www.cnblogs.com/wkfvawl/p/12268980.html 一.原理 使用iframe标签,更改其中src对应bilibili视频的aid和cid,组装新的H ...

  2. Wordpress网页直接插入bilibili视频方法

    Wordpress 网页直接插入 bilibili 视频方法 先在视频页将鼠标移到分享按钮,复制下方的嵌入代码: 在文章编辑页,插入自定义 html 模块,如图: 粘贴代码: <iframe s ...

  3. html中怎样插入视频博客园,关于博客园内嵌入bilibili视频

    一.原理 使用iframe标签,更改其中src对应bilibili视频的aid和cid,组装新的HTML源码,即可在文章内嵌入bilibili视频. 二.获取aid和cid aid为视频的av号,但是 ...

  4. 博客内插入bilibili视频

    原理 使用iframe标签,更改其中src的aid和cid,使其对应要插入的视频,即可在文章内插入bilibili视频 获取cid aid即为视频的av号,cid有两种获取方式,一是通过bilibil ...

  5. bilibili视频下载信息获取

    一.开发者工具 1. 开启方式 进浏览器后F12(这里以window为例,其他需要自行查询) 三个点的图标->更多工具->开发者工具(以Chrome版本 85.0.4183.121(正式版 ...

  6. Hexo博客Next主题bilibili视频Markdown插入文章

    问题及需求 B站视频无广告有弹幕,非常简洁,经常看B站视频,在文章引用B站的视频 在不用插件的情况下用官方的iframe方式引入视频,默认的方式导入视频屏幕会很小 一般我们都是自己改width和hei ...

  7. 最新哔哩bilibili视频弹幕播放器源码+完整无错带后台/亲测

    正文: 最新哔哩bilibili视频弹幕播放器源码+完整无错带后台/亲测,此款播放器源码添加及修复了很多功能,且所有源码均本地化,不存在外链的情况,测试环境:PHP7.0+MySQL5.6 播放器跨域 ...

  8. 仿bilibili视频弹幕播放器介绍搭建

    目录 仿bilibili视频弹幕播放器 播放器简介 功能特色 运行环境 播放器界面展示 安装步骤 使用方法 在线演示 源码下载 仿bilibili视频弹幕播放器 播放器简介 一款防bilibili的播 ...

  9. iframe嵌套网页

    把iframe嵌套的网页放在某一位置,只需在iframe外加个框,改变框的位置即可,如: <!doctype html> <htmllang="zh"> & ...

最新文章

  1. 【深度学习】逆卷积(Deconvolution)概述
  2. Python爬虫入门六Cookie的使用
  3. 神经网络的基本工作原理
  4. VB.NET写的简单图片缩放处理组件源代码,支持添加半透明效果小图标(转)
  5. [原创]jQuery动画弹出窗体支持多种展现方式
  6. LABJS的使用教程
  7. 基于GCN的推荐该怎么搞?
  8. 可变车道怎么走不违章_还记得这种车道怎么走吗?
  9. Unity Module Manager 模块管理器
  10. 第39级台阶 蓝桥杯
  11. 项目经理的职责和权限分别是什么?
  12. 5·29“爱脚日”,双驰“个性化量脚制鞋”以爱之名给你呵护
  13. nag在逆向中是什么意思_CrackMe003-如何理解透VB逆向中的4C大法(图文+视频)-重在思维方法...
  14. linux系统漏洞测试过程,Linux下bash破壳漏洞检测方法
  15. Process ‘command ‘C:/Program Files/Java/jdk1.8.0_192/bin/java.exe‘‘ finished with non-zero exit valu
  16. 数据不平衡问题解决方法——欠采样
  17. Spark机器学习管道--中文翻译
  18. Android 仿钉钉、微信 群聊组合头像 CombineBitmap
  19. 各版本Linux安装软件
  20. rk3288 开机动态切换lvds屏幕显示(三)主副屏幕设置

热门文章

  1. Apache httpd服务器下载及安装
  2. push()、pop()、shift()、unshift()方法简单整理
  3. typora:一些常用数学符号
  4. Some useful linux commands
  5. 记一次Windows10 home版文件共享步骤及问题处理
  6. openCV5-Threshold and Mask
  7. (转)Android单元测试
  8. Android下的单元测试
  9. 怎样大幅度地提升硬盘的速度
  10. grep命令 linux