現在你可以在藍圈外點擊,
如何防止這種情況?
我怎樣才能防止這種情況?
這樣,它就只能在點擊svg本身時打開?
意思是說,白色空間和svg內的所有東西?
這就是我所要做的。
防止點擊藍色SVG圓圈以外的地方。
我怎樣才能在代碼中做到這一點?
它是如何作業的?
它是如何作業的,在點擊藍色的svg后,它們會被打開。
https://jsfiddle.net/s5bzampu/
。const manageCover = (function makeManageCover() {
const config = {};
function show(el) {
el.classList.remove("hide"/span>)。
}
function hide(el) {
el.classList.add("hide"/span>)。
}
function hideAll(elements) {
elements.forEach(hide)。
}
function showCovers(playButton) {
const cover = playButton.parentElement;
cover.classList.add("active") 。
show(cover)。
}
function coverClickHandler(evt) {
hideAll(config.containers) 。
const cover = evt.currentTarget;
showCovers(cover)。
document.querySelector(' 。 outer').classList.add('isOpen')。
}
function addClickToButtons(playButtons) {
playButtons.forEach(function addEventHandler(playButton) {
playButton.addEventListener("click", coverClickHandler) 。
});
}
function addCoverHandler(coverSelector, handler) {
const cover = document.querySelector(coverSelector)。
cover.addEventListener("click", handler) 。
}
function init(selectors){
config.containers = document.querySelectorAll(selectors.container)。
const playButtons = document.querySelectorAll(selectors.playButton)。
addClickToButtons(playButtons)。
}
return {
addCoverHandler,
init,
顯示
};
}());
const videoPlayer = (function makeVideoPlayer() {
const players = [] 。
const tag = document.createElement("script")。
tag.src = "https://www.youtube.com/player_api"。
const firstScriptTag = document.getElementsByTagName("script") [0] 。
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag)。
function onPlayerReady(event) {
const player = event.target;
player.setVolume(100)。
}
function addPlayer(video, settings, videoIds = video.dataset.id) {
const videoId = !Array.isArray(videoIds) & & videoIds;
const playlist = Array.isArray(videoIds) & & videoIds;
const config = {
host: "https://www.youtube-nocookie.com",
videoId
};
config.playerVars = {
playlist: playlist || undefinedevents = {
"onReady"/span>: onPlayerReady
};
const defaultOptions = config;
const playerOptions = Object.assign({}, defaultOptions, settings)。
players.push(new YT.Player(視頻,playerOptions))。
}
return {
addPlayer
};
}());
const managePlayer = (function makeManagePlayer() {
const config = {
height: 600,
width: 360playerVars = {
autoplay: 0,
controls: 1,
disablekb: 1,
enablejsapi: 1,
fs: 0,
iv_load_policy: 3,
rel: 0function show(el) {
el.classList.remove("hide") 。
}
function createPlayerOptions(settings) {
function paramInOptions(opts, param) {
if (settings[param] !== undefined) {
opts[param] = settings[param];
delete settings[param]。
}
return opts;
}
const optionParams = ["width", "height", "playlist", "host", "videoid"】。]
const defaultOptions = config;
const preferred = optionParams.reduce(paramInOptions, {})。
const playerOptions = Object.assign({}, defaultOptions, preferred)。
//設定現在應該只包括playerVars。
const defaultVars = config.playerVars;
const playerVars = settings.playerVars;
config.playerVars = Object.assign({}, defaultVars, playerVars)。
return playerOptions;
}
function createPlayer(videoWrapper, settings = {}, videoIds = "" ) {
const video = videoWrapper.querySelector(".video") 。
if (!videoIds) {
videoIds = video.dataset.id。
}
const playerOptions = createPlayerOptions(設定)。
return videoPlayer.addPlayer(視頻,playerOptions,videoIds)。
}
function createCoverClickHandler(playerSettings, videoIds) {
return function coverClickHandler(evt){
const cover = evt.currentTarget;
const wrapper = cover.nextElementSibling;
show(wrapper)。
const player = createPlayer(wrapper, playerSettings, videoIds)。
wrapper.player = player。
};
}
function addPlayer(coverSelector, playerSettings, videoIds) {
const clickHandler = createCoverClickHandler(playerSettings, videoIds)。
manageCover.addCoverHandler(coverSelector, clickHandler)。
}
function addPlayerRandomVideo(coverSelector, playerSettings, videoIds) {
const index = Math.floor(Math. random() * videoIds.length) 。
const videoId = videoIds[index];
const clickHandler = createCoverClickHandler(playerSettings, videoId)。
manageCover.addCoverHandler(coverSelector, clickHandler)。
}
function init(playerOptions) {
Object.assign(config, playerOptions)。
}
return {
add: addPlayer,
addRandom: addPlayerRandomVideo,
激活
};
}());
function onYouTubeIframeAPIReady(/span>) {
managePlayer.init({
playerVars: {
autoplay: 0.
}
});
managePlayer.addRandom(" .playa", {
height: 207,
start: 45,
width: 277"0dgNc5S8cLI"/span>,
"mnfmQe8Mv1g",
"-Xgi_way56U",
"CHahce95B1g".
]);
managePlayer.add(".playb"/span>, {
height: 207,
width: 277addRandom(".playc"/span>, {
height: 207,
width: 277.
}, [
"0dgNc5S8cLI"/span>,
"-Xgi_way56U"。
"CHahce95B1g".
]);
managePlayer.add(".playd"/span>, {
height: 207,
width: 277add(".playe"/span>, {
height: 207,
width: 277add(".playf"/span>, {
height: 207,
width: 277add(".playg"/span>, {
height: 207,
width: 277add(".playh"/span>, {
height: 207,
width: 277add(".playi"/span>, {
height: 207,
width: 277init({
container: ".container",
playButton: ".thePlay"。
});
}
html,
body {
height: 100%;
margin: 0;
padding: 0;
}
body {
background: white;
animation: fade 2s ease 0s forwards;
}
@keyframes fade {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.outer {
display: flex;
flex-wrap: wrap;
min-height: 100%;
width: 310px;
box-sizing: border-box;
justify-content: center;
align-content: center;
margin: auto;
差距。20px;
/*list-style:none;*/
padding: 0;
}
.outer.isOpen {
display: flex;
width: auto;
align-content: stretch;
}
.container {
display: flex;
justify-content: center;
}
.container.active {
flex: 1 0 0;
animation: fadebody 5s ease 0s forward;
background-size: 165px 165px;
background-image: linear-gradient(teal 5px, #0000 5px), linear-gradient(90deg, 茶色5px, #0000 5px), linear-gradient(黑色10px, #0000 10px 160px, black 160px)。) linear-gradient(90deg, black 10px, #0000 10px 160px, 黑色160px), linear-gradient(橙色15px, #0000 15px 155px, orange 155px)。) linear-gradient(90deg, orange 15px, #0000 15px 155px, 橙色155px), linear-gradient(black 20px, #0000 20px 150px, black 150px)。) linear-gradient(90deg, black20px, #0000 20px 150px, 黑色150px), linear-gradient(teal 25px, #0000 25px 145px, teal 145px) 。linear-gradient(90deg, teal 25px, #0000 25px 145px, 茶色145px), linear-gradient(black 30px, #0000 30px 140px, black 140px),) linear-gradient(90deg, black 30px, #0000 30px 140px, 黑色140px), linear-gradient(橙色35px, #0000 35px 135px, orange 135px)。) linear-gradient(90deg, orange 35px, #0000 35px 135px, 橙色135px), linear-gradient(black 40px, #0000 40px 130px, black 130px)。) linear-gradient(90deg, black40px, #0000 40px 130px, 黑色130px), linear-gradient(teal 45px, #0000 45px 125px, teal 125px)。) linear-gradient(90deg, teal 45px, #0000 45px 125px, 茶色125px), linear-gradient(black 50px, #0000 50px 120px, black 120px)。) linear-gradient(90deg, black50px, #0000 50px 120px, 黑色120px), linear-gradient(橙色55px, #0000 55px 115px, orange 115px),) linear-gradient(90deg, orange 55px, #0000 55px 115px, 橙色115px), linear-gradient(black 60px, #0000 60px 110px, black 110px)。) linear-gradient(90deg, black 60px, #0000 60px 110px, 黑色110px), linear-gradient(teal 65px, #0000 65px 105px, teal 105px)。) linear-gradient(90deg, teal 65px, #0000 65px 105px, 茶色105px), linear-gradient(black 70px, #0000 70px 100px, black 100px)。) linear-gradient(90deg, black 70px, #0000 70px 100px, 黑色100px), linear-gradient(橙色75px, #0000 75px 95px, orange 95px),) linear-gradient(90deg, orange 75px, #0000 75px 95px, 橙色95px), linear-gradient(black 80px, #0000 80px 90px, 黑色90px), linear-gradient(90deg, 黑色80px, #0000 80px 90px, 黑色 90px), linear-gradient(teal, teal)。
}
.thePlay{
/*margin: auto 20px;*/{
width: 90px;
height: 90px;
border-radius: 50%;
cursor: 指標。
flex-shrink: 0;
填充:藍色。
}
/* 當容器處于活動狀態時,隱藏svg */。
.container.active .thePlay{
display: none;
}
.inner-container {
display: none;
}
/* 當容器處于活動狀態時,隱藏svg并顯示內部容器*/。
.container.active .thePlay{
display: none;
}
.container.active .inner-container {
display: flex;
}
.container.active .inner-container.curbtain {
display: block;
}
@keyframes fadebody {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.curtain {
position: relative;
max-width: 640px;
margin: auto;
flex: 1 0 0%。
}
.panel-left,
.panel-right {
position: absolute;
height: 100%;
width: calc(50% 1px) 。
/*四舍五入錯誤修復 */
top: 0%;
transition: all ease 10s;
/*background-image: url("https://picsum.photos/600");
background-size: cover;
background-repeat: no-repeat;
背景-位置:中心;*/
overflow: hidden;
}
.panel-left {
left: 0;
/*background-color: rgb(91, 96, 106);*/
}
.panel-right {
right: 0;
/*background-color: rgb(229, 211, 211);*/
}
.panel-left::before,
.panel-right::before {
content: ""。
position: absolute;
height: 100%;
width: 200%;
top: 0;
left: 0;
background-image: url("https://picsum.photos/id/26/1920/1080")。
background-size: auto;
background-repeat: no-repeat;
background-position: 0 0;
}
.curtain2 .panel-left: :before,
.curtain2 .panel-right::before {
background-image: url("https://picsum.photos/id/27/1920/1080") 。
}
.curtain3 .panel-left: :before,
.curtain3 .panel-right::before {
background-image: url("https://picsum.photos/id/27/1920/1080"/span>)。
}
.panel-right: :before {
left: -100%;
}
.container.active .curtain .panel-left{
animation: curtain1 8s forwards;
animation-delay: 1s;
}
@keyframes curtain1 {
to {
transform: translateX(-100%)。
}
}
.container.active .curtain .panel-right{
animation: curtain2 8s forwards;
animation-delay: 1s;
}
@keyframes curtain2 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain3 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain4 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain5 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain6 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain7 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain8 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain9 {
to {
transform: translateX(100%)。
}
}
.ratio-keeper {
position: relative;
height: 0;
padding-top: 56.25%;
border-radius: 25px;
margin: auto;
overflow: hidden;
}
.video-frame {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%。
}
.hide {
display: none;
}
<ul class="outer" >
<li class="container">
< svg class="playa thePlay" width="64" height="64" viewBox="0 0 64 64">
<g id="play">
<title>/span>Play</title>
<path d="M25。 6,46.4L44.8,32L25.6,17.6V46.4z M32,0C14.3,0,0,14.3,0,32s14.3,32,32,32s32-14.3,32-32S49.7,0,32,0z
M32,57.6C17.9,57.6,6.4,46.1,6.4,32S17.9,6.4,32,6.4S57.6,17.9,57.6,32S46.1,57.6,32,57.6z" />
</g>
</svg>/span>
<div class="inner-container curtain1">
<div class="rate-keeper">
<div class="wrapa"/span>>
<div class="video video-frame"/span>> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playb thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain2">
<div class="rate-keeper">
<div class="wrapb"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container with-curtain">/span>
< svg class="playc thePlay" width="64""64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain3">
<div class="rate-keeper">
<div class="wrapc"/span>>
<div class="video video-frame"/span>> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playd thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain4">
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playe thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain5">
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playf thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain6">
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playg thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain7">
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playh thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain8"/span>>
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playi thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain9"/span>>
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
</ul>/span>
<iframe name="sif1" sandbox="allow-form allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
你需要指定SVG的哪些元素接受指標事件。例如在頂層SVG中添加pointer-events="none",在路徑元素中添加pointer-events="visiblePainted",或者在你的案例中,由于中間的空白是空的,你可以在svg元素中添加一個circle并對其應用pointer-events="visiblePainted"。
< svg class="playa thePlay" width="64" 高度="64" viewBox="0 0 64 64" pointer-events="無" >
<g id="play">
<title>/span>Play</title>
< circle cx="32" cy="32" r="32" fill="transparent" pointer-events=" visiblePainted" />
<path d="M25。 6,46.4L44.8,32L25.6,17.6V46.4z M32,0C14.3,0,0,14.3,0,32s14.3,32,32,32s32-14.3,32-32S49.7,0,32,0z
M32,57.6C17.9,57.6,6.4,46.1,6.4,32S17.9,6.4,32,6.4S57.6,17.9,57.6,32S46.1,57.6,32,57.6z" />
</g>
</svg>
為了確保pointer-events="none"被傳遞給所有的svg元素,你可以通過css應用它。
svg.thePlay {
pointer-events: none;
const manageCover = (function makeManageCover() {
const config = {};
function show(el) {
el.classList.remove("hide"/span>)。
}
function hide(el) {
el.classList.add("hide"/span>)。
}
function hideAll(elements) {
elements.forEach(hide)。
}
function showCovers(playButton) {
const cover = playButton.parentElement;
cover.classList.add("active") 。
show(cover)。
}
function coverClickHandler(evt) {
hideAll(config.containers) 。
const cover = evt.currentTarget;
showCovers(cover)。
document.querySelector(' 。 outer').classList.add('isOpen')。
}
function addClickToButtons(playButtons) {
playButtons.forEach(function addEventHandler(playButton) {
playButton.addEventListener("click", coverClickHandler) 。
});
}
function addCoverHandler(coverSelector, handler) {
const cover = document.querySelector(coverSelector)。
cover.addEventListener("click", handler) 。
}
function init(selectors){
config.containers = document.querySelectorAll(selectors.container)。
const playButtons = document.querySelectorAll(selectors.playButton)。
addClickToButtons(playButtons)。
}
return {
addCoverHandler,
init,
顯示
};
}());
const videoPlayer = (function makeVideoPlayer() {
const players = [] 。
const tag = document.createElement("script")。
tag.src = "https://www.youtube.com/player_api"。
const firstScriptTag = document.getElementsByTagName("script") [0] 。
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag)。
function onPlayerReady(event) {
const player = event.target;
player.setVolume(100)。
}
function addPlayer(video, settings, videoIds = video.dataset.id) {
const videoId = !Array.isArray(videoIds) & & videoIds;
const playlist = Array.isArray(videoIds) & & videoIds;
const config = {
host: "https://www.youtube-nocookie.com",
videoId
};
config.playerVars = {
playlist: playlist || undefinedevents = {
"onReady"/span>: onPlayerReady
};
const defaultOptions = config;
const playerOptions = Object.assign({}, defaultOptions, settings)。
players.push(new YT.Player(視頻,playerOptions))。
}
return {
addPlayer
};
}());
const managePlayer = (function makeManagePlayer() {
const config = {
height: 600,
width: 360playerVars = {
autoplay: 0,
controls: 1,
disablekb: 1,
enablejsapi: 1,
fs: 0,
iv_load_policy: 3,
rel: 0function show(el) {
el.classList.remove("hide") 。
}
function createPlayerOptions(settings) {
function paramInOptions(opts, param) {
if (settings[param] !== undefined) {
opts[param] = settings[param];
delete settings[param]。
}
return opts;
}
const optionParams = ["width", "height", "playlist", "host", "videoid"】。]
const defaultOptions = config;
const preferred = optionParams.reduce(paramInOptions, {})。
const playerOptions = Object.assign({}, defaultOptions, preferred)。
//設定現在應該只包括playerVars。
const defaultVars = config.playerVars;
const playerVars = settings.playerVars;
config.playerVars = Object.assign({}, defaultVars, playerVars)。
return playerOptions;
}
function createPlayer(videoWrapper, settings = {}, videoIds = "" ) {
const video = videoWrapper.querySelector(".video") 。
if (!videoIds) {
videoIds = video.dataset.id。
}
const playerOptions = createPlayerOptions(設定)。
return videoPlayer.addPlayer(視頻,playerOptions,videoIds)。
}
function createCoverClickHandler(playerSettings, videoIds) {
return function coverClickHandler(evt){
const cover = evt.currentTarget;
const wrapper = cover.nextElementSibling;
show(wrapper)。
const player = createPlayer(wrapper, playerSettings, videoIds)。
wrapper.player = player。
};
}
function addPlayer(coverSelector, playerSettings, videoIds) {
const clickHandler = createCoverClickHandler(playerSettings, videoIds)。
manageCover.addCoverHandler(coverSelector, clickHandler)。
}
function addPlayerRandomVideo(coverSelector, playerSettings, videoIds) {
const index = Math.floor(Math. random() * videoIds.length) 。
const videoId = videoIds[index];
const clickHandler = createCoverClickHandler(playerSettings, videoId)。
manageCover.addCoverHandler(coverSelector, clickHandler)。
}
function init(playerOptions) {
Object.assign(config, playerOptions)。
}
return {
add: addPlayer,
addRandom: addPlayerRandomVideo,
激活
};
}());
function onYouTubeIframeAPIReady(/span>) {
managePlayer.init({
playerVars: {
autoplay: 0.
}
});
managePlayer.addRandom(" .playa", {
height: 207,
start: 45,
width: 277"0dgNc5S8cLI"/span>,
"mnfmQe8Mv1g",
"-Xgi_way56U",
"CHahce95B1g".
]);
managePlayer.add(".playb"/span>, {
height: 207,
width: 277addRandom(".playc"/span>, {
height: 207,
width: 277.
}, [
"0dgNc5S8cLI"/span>,
"-Xgi_way56U"。
"CHahce95B1g".
]);
managePlayer.add(".playd"/span>, {
height: 207,
width: 277add(".playe"/span>, {
height: 207,
width: 277add(".playf"/span>, {
height: 207,
width: 277add(".playg"/span>, {
height: 207,
width: 277add(".playh"/span>, {
height: 207,
width: 277add(".playi"/span>, {
height: 207,
width: 277init({
container: ".container",
playButton: ".thePlay"。
});
}
html,body { height: 100%; margin: 0; padding: 0;}body { background: white; animation: fade 2s ease 0s forwards;}@keyframes fade { 0% { opacity: 0; } 100% { opacity: 1; }}.outer { display: flex; flex-wrap: wra; min-height: 100%; width: 310px; box-sizing: border-box; justify-content: center; align-content: center; margin: auto; gap: 20px; /*list-style:none;*/ padding: 0;}.outer。 isOpen { display: flex; width: auto; align-content: stretch; }. container { display: flex; justify-content: center;}.container.active { {span class="hljs-attribute">flex: 1 0 0; animation: fadebody 5s ease 0s forward; background-size: 165px 165px; background-image: linear-gradient(teal 5px, #0000 5px), linear-gradient(90deg, 茶色5px, #0000 5px), linear-gradient(黑色10px, #0000 10px 160px, black 160px),) linear-gradient(90deg, black 10px, #0000 10px 160px, 黑色160px), linear-gradient(橙色15px, #0000 15px 155px, orange 155px)。) linear-gradient(90deg, orange 15px, #0000 15px 155px, 橙色155px), linear-gradient(black 20px, #0000 20px 150px, black 150px)。) linear-gradient(90deg, black20px, #0000 20px 150px, 黑色150px), linear-gradient(teal 25px, #0000 25px 145px, teal 145px) 。linear-gradient(90deg, teal 25px, #0000 25px 145px, 茶色145px), linear-gradient(black 30px, #0000 30px 140px, black 140px),) linear-gradient(90deg, black 30px, #0000 30px 140px, 黑色140px), linear-gradient(橙色35px, #0000 35px 135px, orange 135px)。) linear-gradient(90deg, orange 35px, #0000 35px 135px, 橙色135px), linear-gradient(black 40px, #0000 40px 130px, black 130px)。) linear-gradient(90deg, black40px, #0000 40px 130px, 黑色130px), linear-gradient(teal 45px, #0000 45px 125px, teal 125px)。) linear-gradient(90deg, teal 45px, #0000 45px 125px, 茶色125px), linear-gradient(black 50px, #0000 50px 120px, black 120px)。) linear-gradient(90deg, black50px, #0000 50px 120px, 黑色120px), linear-gradient(橙色55px, #0000 55px 115px, orange 115px),) linear-gradient(90deg, orange 55px, #0000 55px 115px, 橙色115px), linear-gradient(black 60px, #0000 60px 110px, black 110px)。) linear-gradient(90deg, black 60px, #0000 60px 110px, 黑色110px), linear-gradient(teal 65px, #0000 65px 105px, teal 105px)。) linear-gradient(90deg, teal 65px, #0000 65px 105px, 茶色105px), linear-gradient(black 70px, #0000 70px 100px, black 100px)。) linear-gradient(90deg, black 70px, #0000 70px 100px, 黑色100px), linear-gradient(橙色75px, #0000 75px 95px, orange 95px),) linear-gradient(90deg, orange 75px, #0000 75px 95px, 橙色95px), linear-gradient(black 80px, #0000 80px 90px, 黑色90px), linear-gradient(90deg, 黑色80px, #0000 80px 90px, 黑色90px),linear-gradient(茶色,茶色)。 }. thePlay{ /*margin:
auto 20px;*/ width: 90px; height: 90px; border-radius: 50%; cursor: pointer; flex-shhrink: 0; fill: blue;}/* when container is active hide the svg */. container.active .thePlay { display: none;}。 inner-container { display: none;}/* when container is active hide the svg and show the inner container*/。 container.active . thePlay { display: none;}.container。 active .inner-container { display: flex;}。 container.active .inner-container. curtain { display: block;}@keyframes fadebody { 0% { opacity: 0; } 100% { opacity: 1; }}.curtain { position: relative; max-width: 640px; margin: auto; flex: 1 0 0%; }. panel-left,.panel-right { position: absolute; height: 100%; width: calc(50% 1px); /*舍入錯誤修復 */ top: 0%; transition: all ease 10s; /*background-image: url("https://picsum. photos/600"); background-size: cover; background-repeat: no-repeat; background-position: center;*/ overflow: hidden;}.panel-left { {span class="hljs-attribute">left: 0; /*background-color: rgb(91, 96, 106);*/}.panel-right { right: 0; /*background-color: rgb(229, 211, 211);*/}. panel-left::before,.panel-right::before { content。""; position: absolute; height: 100%; width: 200%; top: 0; left: 0; background-image: url("https://picsum. photos/id/26/1920/1080"); background-size: auto; background-repeat: no-repeat; background-position: 0 0; }. curtain2 .panel-left::before,. curtain2 .panel-right::before { background-image: url("https://picsum.photos/id/27/1920/1080");}.curtain3 。 panel-left::before,.curtain3 . panel-right::before { background-image: url("https://picsum.photos/id/27/1920/1080"); }. panel-right::before { left: -100%; }。 container.active .curtain . panel-left { animation: curtain1 8sforwards; animation-delay: 1s;}@keyframes curtain1 { to { transform: translateX(-100%); }}.container.active 。 curtain .panel-right { animation: curtain2 8s forwards; animation-delay: 1s;}@keyframes curtain2 { to { transform: translateX(100%); }}@keyframes curtain3 { to { transform: translateX(100%); }}@keyframes curtain4 { to { transform: translateX(100%); }}@keyframes curtain5 { to { transform: translateX(100%); }}@keyframes curtain6 { to { transform: translateX(100%); }}@keyframes curtain7 { to { transform: translateX(100%); }}@keyframes curtain8 { to { transform: translateX(100%); }}@keyframes curtain9 { to { transform: translateX(100%); }}.ratio-keeper { position: relative; height: 0; padding-top: 56.25%; border-radius: 25px; margin: auto; overflow: hidden; }. video-frame { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}.hide { display: none;}
svg.thePlay {
pointer-events: none;
}
<ul class="outer">
<li class="container">
< svg class="playa thePlay" width="64" 高度="64" viewBox="0 0 64 64" pointer-events="無" >
<g id="play">
<title>/span>Play</title>
< circle cx="32" cy="32" r="26" fill="white" pointer-events=" visiblePainted" />
<path d="M25。 6,46.4L44.8,32L25.6,17.6V46.4z M32,0C14.3,0,0,14.3,0,32s14.3,32,32,32s32-14.3,32-32S49.7,0,32,0z
M32,57.6C17.9,57.6,6.4,46.1,6.4,32S17.9,6.4,32,6.4S57.6,17.9,57.6,32S46.1,57.6,32,57.6z"
pointer-events=" visiblePainted" />
</g>
</svg>/span>
<div class="inner-container curtain1">
<div class="rate-keeper">
<div class="wrapa"/span>>
<div class="video video-frame"/span>> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playb thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain2">
<div class="rate-keeper">
<div class="wrapb"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container with-curtain">/span>
< svg class="playc thePlay" width="64""64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain3">
<div class="rate-keeper">
<div class="wrapc"/span>>
<div class="video video-frame"/span>> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playd thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain4">
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playe thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain5">
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playf thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain6">
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playg thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain7">
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playh thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain8"/span>>
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playi thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain9"/span>>
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
</ul>/span>
<iframe name="sif2" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
在svg中,你需要在現有路徑的下方或上方添加一個與圖示相等的透明圓(或路徑),并將其填充設定為透明。
<circle fill=transparent cx="32" cy="32" r="32"/>/code>
然后也給svg里面的組添加一個獨特的類。我在組中添加了class="justTheIcon",這也是你在 manageCover.init 函式中的目標類。
manageCover.init({
容器。".container",
playButton: ".justTheIcon"
這是你的jsfiddle和嵌入式代碼的一個編輯過的例子:
const manageCover = (function makeManageCover() {
const config = {};
function show(el) {
el.classList.remove("hide"/span>)。
}
function hide(el) {
el.classList.add("hide"/span>)。
}
function hideAll(elements) {
elements.forEach(hide)。
}
function showCovers(playButton) {
const cover = playButton.parentElement;
cover.classList.add("active") 。
show(cover)。
}
function coverClickHandler(evt) {
hideAll(config.containers) 。
const cover = evt.currentTarget;
showCovers(cover)。
document.querySelector(' 。 outer').classList.add('isOpen')。
}
function addClickToButtons(playButtons) {
playButtons.forEach(function addEventHandler(playButton) {
playButton.addEventListener("click", coverClickHandler) 。
});
}
function addCoverHandler(coverSelector, handler) {
const cover = document.querySelector(coverSelector)。
cover.addEventListener("click", handler) 。
}
function init(selectors){
config.containers = document.querySelectorAll(selectors.container)。
const playButtons = document.querySelectorAll(selectors.playButton)。
addClickToButtons(playButtons)。
}
return {
addCoverHandler,
init,
顯示
};
}());
const videoPlayer = (function makeVideoPlayer() {
const players = [] 。
const tag = document.createElement("script")。
tag.src = "https://www.youtube.com/player_api"。
const firstScriptTag = document.getElementsByTagName("script") [0] 。
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag)。
function onPlayerReady(event) {
const player = event.target;
player.setVolume(100)。
}
function addPlayer(video, settings, videoIds = video.dataset.id) {
const videoId = !Array.isArray(videoIds) & & videoIds;
const playlist = Array.isArray(videoIds) & & videoIds;
const config = {
host: "https://www.youtube-nocookie.com",
videoId
};
config.playerVars = {
playlist: playlist || undefinedevents = {
"onReady"/span>: onPlayerReady
};
const defaultOptions = config;
const playerOptions = Object.assign({}, defaultOptions, settings)。
players.push(new YT.Player(視頻,playerOptions))。
}
return {
addPlayer
};
}());
const managePlayer = (function makeManagePlayer() {
const config = {
height: 600,
width: 360playerVars = {
autoplay: 0,
controls: 1,
disablekb: 1,
enablejsapi: 1,
fs: 0,
iv_load_policy: 3,
rel: 0function show(el) {
el.classList.remove("hide") 。
}
function createPlayerOptions(settings) {
function paramInOptions(opts, param) {
if (settings[param] !== undefined) {
opts[param] = settings[param];
delete settings[param]。
}
return opts;
}
const optionParams = ["width", "height", "playlist", "host", "videoid"】。]
const defaultOptions = config;
const preferred = optionParams.reduce(paramInOptions, {})。
const playerOptions = Object.assign({}, defaultOptions, preferred)。
//設定現在應該只包括playerVars。
const defaultVars = config.playerVars;
const playerVars = settings.playerVars;
config.playerVars = Object.assign({}, defaultVars, playerVars)。
return playerOptions;
}
function createPlayer(videoWrapper, settings = {}, videoIds = "" ) {
const video = videoWrapper.querySelector(".video") 。
if (!videoIds) {
videoIds = video.dataset.id。
}
const playerOptions = createPlayerOptions(設定)。
return videoPlayer.addPlayer(視頻,playerOptions,videoIds)。
}
function createCoverClickHandler(playerSettings, videoIds) {
return function coverClickHandler(evt){
const cover = evt.currentTarget;
const wrapper = cover.nextElementSibling;
show(wrapper)。
const player = createPlayer(wrapper, playerSettings, videoIds)。
wrapper.player = player。
};
}
function addPlayer(coverSelector, playerSettings, videoIds) {
const clickHandler = createCoverClickHandler(playerSettings, videoIds)。
manageCover.addCoverHandler(coverSelector, clickHandler)。
}
function addPlayerRandomVideo(coverSelector, playerSettings, videoIds) {
const index = Math.floor(Math. random() * videoIds.length) 。
const videoId = videoIds[index];
const clickHandler = createCoverClickHandler(playerSettings, videoId)。
manageCover.addCoverHandler(coverSelector, clickHandler)。
}
function init(playerOptions) {
Object.assign(config, playerOptions)。
}
return {
add: addPlayer,
addRandom: addPlayerRandomVideo,
激活
};
}());
function onYouTubeIframeAPIReady(/span>) {
managePlayer.init({
playerVars: {
autoplay: 0.
}
});
managePlayer.addRandom(" .playa", {
height: 207,
start: 45,
width: 277"0dgNc5S8cLI"/span>,
"mnfmQe8Mv1g",
"-Xgi_way56U",
"CHahce95B1g".
]);
managePlayer.add(".playb"/span>, {
height: 207,
width: 277addRandom(".playc"/span>, {
height: 207,
width: 277.
}, [
"0dgNc5S8cLI"/span>,
"-Xgi_way56U"。
"CHahce95B1g".
]);
managePlayer.add(".playd"/span>, {
height: 207,
width: 277add(".playe"/span>, {
height: 207,
width: 277add(".playf"/span>, {
height: 207,
width: 277add(".playg"/span>, {
height: 207,
width: 277add(".playh"/span>, {
height: 207,
width: 277add(".playi"/span>, {
height: 207,
width: 277init({
container: ".container",
playButton: ".justTheIcon".
});
}
html,
body {
height: 100%;
margin: 0;
padding: 0;
}
body {
background: #353198;
animation: fade 2s ease 0s forward;
}
@keyframes fade {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.outer {
display: flex;
flex-wrap: wrap;
min-height: 100%;
width: 310px;
box-sizing: border-box;
justify-content: center;
align-content: center;
margin: auto;
差距。20px;
/*list-style:none;*/
padding: 0;
}
.outer.isOpen {
display: flex;
width: auto;
align-content: stretch;
}
.container {
display: flex;
justify-content: center;
}
.container.active {
flex: 1 0 0;
animation: fadebody 5s ease 0s forward;
background-size: 165px 165px;
background-image: linear-gradient(teal 5px, #0000 5px), linear-gradient(90deg, 茶色5px, #0000 5px), linear-gradient(黑色10px, #0000 10px 160px, black 160px)。) linear-gradient(90deg, black 10px, #0000 10px 160px, 黑色160px), linear-gradient(橙色15px, #0000 15px 155px, orange 155px)。) linear-gradient(90deg, orange 15px, #0000 15px 155px, 橙色155px), linear-gradient(black 20px, #0000 20px 150px, black 150px)。) linear-gradient(90deg, black20px, #0000 20px 150px, 黑色150px), linear-gradient(teal 25px, #0000 25px 145px, teal 145px) 。linear-gradient(90deg, teal 25px, #0000 25px 145px, 茶色145px), linear-gradient(black 30px, #0000 30px 140px, black 140px),) linear-gradient(90deg, black 30px, #0000 30px 140px, 黑色140px), linear-gradient(橙色35px, #0000 35px 135px, orange 135px)。) linear-gradient(90deg, orange 35px, #0000 35px 135px, 橙色135px), linear-gradient(black 40px, #0000 40px 130px, black 130px)。) linear-gradient(90deg, black40px, #0000 40px 130px, 黑色130px), linear-gradient(teal 45px, #0000 45px 125px, teal 125px)。) linear-gradient(90deg, teal 45px, #0000 45px 125px, 茶色125px), linear-gradient(black 50px, #0000 50px 120px, black 120px)。) linear-gradient(90deg, black50px, #0000 50px 120px, 黑色120px), linear-gradient(橙色55px, #0000 55px 115px, orange 115px),) linear-gradient(90deg, orange 55px, #0000 55px 115px, 橙色115px), linear-gradient(black 60px, #0000 60px 110px, black 110px)。) linear-gradient(90deg, black 60px, #0000 60px 110px, 黑色110px), linear-gradient(teal 65px, #0000 65px 105px, teal 105px)。) linear-gradient(90deg, teal 65px, #0000 65px 105px, 茶色105px), linear-gradient(black 70px, #0000 70px 100px, black 100px)。) linear-gradient(90deg, black 70px, #0000 70px 100px, 黑色100px), linear-gradient(橙色75px, #0000 75px 95px, orange 95px),) linear-gradient(90deg, orange 75px, #0000 75px 95px, 橙色95px), linear-gradient(black 80px, #0000 80px 90px, 黑色90px), linear-gradient(90deg, 黑色80px, #0000 80px 90px, 黑色 90px), linear-gradient(teal, teal)。
}
#play{
/*margin: auto 20px;*/.
width: 90px;
height: 90px;
border-radius: 50%;
cursor: 指標。
flex-shrink: 0;
填充:藍色。
}
/* 當容器處于活動狀態時,隱藏svg */。
.container.active .thePlay{
display: none;
}
.inner-container {
display: none;
}
/* 當容器處于活動狀態時,隱藏svg并顯示內部容器*/。
.container.active .thePlay{
display: none;
}
.container.active .inner-container {
display: flex;
}
.container.active .inner-container.curbtain {
display: block;
}
@keyframes fadebody {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.curtain {
position: relative;
max-width: 640px;
margin: auto;
flex: 1 0 0%。
}
.panel-left,
.panel-right {
position: absolute;
height: 100%;
width: calc(50% 1px) 。
/*四舍五入錯誤修復 */
top: 0%;
transition: all ease 10s;
/*background-image: url("https://picsum.photos/600");
background-size: cover;
background-repeat: no-repeat;
背景-位置:中心;*/
overflow: hidden;
}
.panel-left {
left: 0;
/*background-color: rgb(91, 96, 106);*/
}
.panel-right {
right: 0;
/*background-color: rgb(229, 211, 211);*/
}
.panel-left::before,
.panel-right::before {
content: ""。
position: absolute;
height: 100%;
width: 200%;
top: 0;
left: 0;
background-image: url("https://picsum.photos/id/26/1920/1080")。
background-size: auto;
background-repeat: no-repeat;
background-position: 0 0;
}
.curtain2 .panel-left: :before,
.curtain2 .panel-right::before {
background-image: url("https://picsum.photos/id/27/1920/1080") 。
}
.curtain3 .panel-left: :before,
.curtain3 .panel-right::before {
background-image: url("https://picsum.photos/id/27/1920/1080"/span>)。
}
.panel-right: :before {
left: -100%;
}
.container.active .curtain .panel-left{
animation: curtain1 8s forwards;
animation-delay: 1s;
}
@keyframes curtain1 {
to {
transform: translateX(-100%)。
}
}
.container.active .curtain .panel-right{
animation: curtain2 8s forwards;
animation-delay: 1s;
}
@keyframes curtain2 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain3 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain4 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain5 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain6 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain7 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain8 {
to {
transform: translateX(100%)。
}
}
@keyframes curtain9 {
to {
transform: translateX(100%)。
}
}
.ratio-keeper {
position: relative;
height: 0;
padding-top: 56.25%;
border-radius: 25px;
margin: auto;
overflow: hidden;
}
.video-frame {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%。
}
.hide {
display: none;
}
<ul class="outer" >
<li class="container">
< svg class="playa thePlay" width="64" height="64" viewBox="0 0 64 64">
< g id="play" class="justTheIcon">
<title>Play</title>/span>
< circle fill=transparent cx="32" cy="32" r="32"/>
<path d="M25。 6,46.4L44.8,32L25.6,17.6V46.4z M32,0C14.3,0,0,14.3,0,32s14.3,32,32,32s32-14.3,32-32S49.7,0,32,0z
M32,57.6C17.9,57.6,6.4,46.1,6.4,32S17.9,6.4,32,6.4S57.6,17.9,57.6,32S46.1,57.6,32,57.6z" />
</g>
</svg>/span>
<div class="inner-container curtain1">
<div class="rate-keeper">
<div class="wrapa"/span>>
<div class="video video-frame"/span>> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playb thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain2">
<div class="rate-keeper">
<div class="wrapb"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container with-curtain">/span>
< svg class="playc thePlay" width="64""64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain3">
<div class="rate-keeper">
<div class="wrapc"/span>>
<div class="video video-frame"/span>> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playd thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain4">
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playe thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain5">
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playf thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain6">
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playg thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain7">
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playh thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain8"/span>>
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
<li class="container">
< svg class="playi thePlay" width="64" height="64" viewBox="0 0 64 64">
<use href="#play"/span> />
</svg>
<div class="inner-container curtain9"/span>>
<div class="rate-keeper">
<div class="wrapc"/span>>
< div class="video video-frame" data-id="0dgNc5S8cLI"> </div>>
</div>/span>
<div class="panel-left"/span>> </div>>
<div class="panel-right"/span>> </div>>
</div>/span>
</div>/span>
</li>
</ul>/span>
<iframe name="sif3" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/320126.html
標籤:
