「每月同图」12月场,正式开启!
<BR><BR>
十二月的门轻轻推开,我们带着承诺,如期而至。<BR><BR>
感谢您的守候,在过去的一周休憩里,我们悉心准备,今天,我们就把一份更从容的创作体验交到您手里。<BR><BR>
不再追赶星期天的钟声,我们拥有了整整一个月的辰光,不必再匆忙交卷,这一次,我们诚心邀请你,把脑海里那个盘旋已久的念头,稳稳地接住,然后看着它在你掌心抽枝、散叶,最后开出那朵你早已预见的花。<BR><BR>
为此,我们精心挑选了五张素材图集(素材挑选:绿蔷薇),作为我们重逢的礼物。<BR><BR>
你可以选择其中之一,沉浸其中,讲述一个极致的故事;也可以大胆地将它们串联,构筑一个只属于你的浩瀚宇宙。<BR><BR><BR><BR><BR>
【一些温柔的提醒】<BR>
时间很宽裕:从今天 (12月1日)到12月30日19点,你都可以慢慢地琢磨。<BR>
发布老地方:完成后请发表在相应的版块。<BR>
标题请注明:【云荷十二月同图】+ 你的标题,例如:【云荷十二月同图】回家吧;并在图片上注明:【云荷X月同图】<BR><BR><BR><BR><BR>
我们始终相信,好的作品需要时间的滋养。<BR><BR>
窗外或许风寒天冷,但愿你心中的那片创作天地,始终温暖如春,这个十二月,让我们用一幅幅精心孕育的作品,彼此陪伴,温暖度过。<BR><BR>
画卷已展,「云荷同图」静候你来。
<BR><BR><BR><BR>
云荷音画论坛管理团队<BR>
2025年12月01日<BR>
https://www.yhyhlt.com/data/attachment/forum/202511/10/111517q713mp7ds3h87h00.gif
<BR><BR>
<style>
@import 'https://638183.freep.cn/638183/web/mod/mp3splayer.css';
#tz {
margin: 30px 0 30px calc(0% - 0px);
width: 650px;
height: 650px;
background: url('https://www.yhyhlt.com/data/attachment/forum/202511/30/195612ejeeyne95c0y89uy.jpg') no-repeat center/cover;
overflow: hidden;
position: relative;
}
.vid {
position: absolute;
width: 100%;
height: 110%;
object-fit: cover;
top:-80px;
mix-blend-mode: screen;
pointer-events: none;
opacity: .45;
}
/* 自定义顺序播放器样式 - 修改隐藏效果 */
#customPlayer {
position: absolute;
bottom: 40px;
left: 50%;
transform: translateX(-50%);
background: rgba(87, 97, 137, 0.85);
padding: 12px 20px;
border-radius: 10px;
color: snow;
width: 380px;
min-height: auto;
height: auto;
font-family: Arial, sans-serif;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
backdrop-filter: blur(5px);
opacity: 1;
transition: all 0.5s ease-in-out;
}
/* 隐藏状态 - 完全透明 */
#customPlayer.hidden {
opacity: 0;
transform: translateX(-50%) translateY(10px);
}
/* 鼠标悬停时显示 */
#customPlayer:hover {
opacity: 1;
transform: translateX(-50%) translateY(0);
}
#playerControls {
display: flex;
align-items: center;
margin-bottom: 10px;
justify-content: center;
}
#customPlayer button {
background: #92dcb9;
border: none;
padding: 6px 12px;
margin: 0 6px;
border-radius: 20px;
cursor: pointer;
color: #2c3e50;
font-size: 11px;
font-weight: bold;
transition: all 0.3s ease;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}
#customPlayer button:hover {
background: #7bc5a5;
transform: translateY(-2px);
}
#currentSong {
text-align: center;
font-size: 13px;
font-weight: bold;
margin: 8px 0;
padding: 6px;
background: rgba(255, 255, 255, 0.1);
border-radius: 5px;
min-height: 16px;
}
/* 进度条样式 */
#progressContainer {
width: 100%;
height: 5px;
background: rgba(255, 255, 255, 0.3);
border-radius: 3px;
margin: 8px 0 6px 0;
cursor: pointer;
transition: height 0.3s;
}
#progressContainer:hover {
height: 6px;
}
#progressBar {
height: 100%;
background: linear-gradient(90deg, #92dcb9, #7bc5a5);
border-radius: 3px;
width: 0%;
transition: width 0.1s;
box-shadow: 0 0 5px rgba(146, 220, 185, 0.5);
}
/* 时间显示 */
#timeDisplay {
display: flex;
justify-content: space-between;
font-size: 10px;
color: rgba(255, 255, 255, 0.8);
margin-bottom: 8px;
}
/* 播放列表 */
#playlist {
max-height: 80px;
overflow-y: auto;
margin-top: 8px;
border-top: 1px solid rgba(255, 255, 255, 0.2);
padding-top: 8px;
}
.playlist-item {
padding: 4px 8px;
cursor: pointer;
border-radius: 4px;
margin: 2px 0;
font-size: 11px;
transition: all 0.3s ease;
display: flex;
align-items: center;
}
.playlist-item:before {
content: "♪";
margin-right: 6px;
opacity: 0.6;
font-size: 10px;
}
.playlist-item:hover {
background: rgba(146, 220, 185, 0.2);
transform: translateX(3px);
}
.playlist-item.active {
background: #92dcb9;
color: #2c3e50;
font-weight: bold;
box-shadow: 0 1px 3px rgba(146, 220, 185, 0.3);
}
.playlist-item.playing {
background: rgba(146, 220, 185, 0.3);
color: #fff;
}
/* 滚动条样式 */
#playlist::-webkit-scrollbar {
width: 4px;
}
#playlist::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.1);
border-radius: 2px;
}
#playlist::-webkit-scrollbar-thumb {
background: #92dcb9;
border-radius: 2px;
}
/* 添加一个透明的悬停区域,确保鼠标移动到位置时能触发显示 */
#playerHoverArea {
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
width: 420px;
height: 60px;
z-index: 998;
opacity: 0;
}
#playerHoverArea:hover + #customPlayer,
#customPlayer:hover {
opacity: 1;
transform: translateX(-50%) translateY(0);
}
</style>
<div id="tz" class="pa">
<video class="vid" src="https://img.tukuppt.com/video_show/2269348/00/14/66/5e5a2fd36a145.mp4" autoplay loop muted></video>
<!-- 透明的悬停区域 -->
<div id="playerHoverArea"></div>
<!-- 自定义顺序播放器 -->
<div id="customPlayer">
<!-- 当前歌曲显示 -->
<div id="currentSong">选择歌曲</div>
<div id="playerControls">
<button id="prevBtn">◀◀ 上一首</button>
<button id="playPauseBtn">▶ 播放</button>
<button id="nextBtn">下一首 ▶▶</button>
</div>
<!-- 进度条 -->
<div id="progressContainer">
<div id="progressBar"></div>
</div>
<!-- 时间显示 -->
<div id="timeDisplay">
<span id="currentTime">0:00</span>
<span id="duration">0:00</span>
</div>
<!-- 播放列表 -->
<div id="playlist"></div>
<audio id="audioPlayer"></audio>
</div>
</div>
<script>
const musics = [
{ url: 'https://www.joy127.com/url/138833.mp3', name: '一纸行书 - 张含韵' },
{ url: 'https://www.joy127.com/url/138865.mp3', name: '月光不归 - HAHAHA' },
{ url: 'https://www.joy127.com/url/138864.mp3', name: '落了白 - 蒋雪儿' },
{ url: 'https://www.joy127.com/url/135263.mp3', name: '祝福 - 黄思婷' },
{ url: 'https://www.joy127.com/url/139127.mp3', name: '浮云渡 - 晓东' },
];
let currentIndex = 0;
let isPlaying = false;
let hideTimeout;
let inactivityTimer;
const audio = document.getElementById('audioPlayer');
const customPlayer = document.getElementById('customPlayer');
const playerHoverArea = document.getElementById('playerHoverArea');
const currentSongEl = document.getElementById('currentSong');
const prevBtn = document.getElementById('prevBtn');
const nextBtn = document.getElementById('nextBtn');
const playPauseBtn = document.getElementById('playPauseBtn');
const progressBar = document.getElementById('progressBar');
const progressContainer = document.getElementById('progressContainer');
const currentTimeEl = document.getElementById('currentTime');
const durationEl = document.getElementById('duration');
const playlistEl = document.getElementById('playlist');
// 隐藏播放器函数
function hidePlayer() {
customPlayer.classList.add('hidden');
}
// 显示播放器函数
function showPlayer() {
customPlayer.classList.remove('hidden');
// 重置隐藏计时器
resetHideTimer();
}
// 重置隐藏计时器
function resetHideTimer() {
clearTimeout(hideTimeout);
clearTimeout(inactivityTimer);
inactivityTimer = setTimeout(() => {
hideTimeout = setTimeout(hidePlayer, 3000); // 3秒后隐藏
}, 500); // 延迟500ms开始计时,避免频繁触发
}
// 初始化播放列表
function initPlaylist() {
playlistEl.innerHTML = '';
musics.forEach((music, index) => {
const item = document.createElement('div');
item.className = 'playlist-item';
item.textContent = music.name;
item.addEventListener('click', () => playSong(index));
playlistEl.appendChild(item);
});
}
// 播放指定歌曲
function playSong(index) {
if (index >= 0 && index < musics.length) {
currentIndex = index;
audio.src = musics.url;
currentSongEl.textContent = musics.name;
// 更新播放列表高亮
const items = playlistEl.querySelectorAll('.playlist-item');
items.forEach((item, i) => {
item.classList.remove('active', 'playing');
if (i === index) {
item.classList.add('active', 'playing');
}
});
audio.play();
isPlaying = true;
playPauseBtn.textContent = '❚❚ 暂停';
// 播放时显示播放器
showPlayer();
}
}
// 修复时间格式化函数
function formatTime(seconds) {
if (isNaN(seconds)) return "0:00";
const mins = Math.floor(seconds / 60);
const secs = Math.floor(seconds % 60);
return mins + ":" + (secs < 10 ? "0" : "") + secs;
}
// 更新进度条
function updateProgress() {
if (audio.duration && !isNaN(audio.duration)) {
const progressPercent = (audio.currentTime / audio.duration) * 100;
progressBar.style.width = progressPercent + '%';
currentTimeEl.textContent = formatTime(audio.currentTime);
durationEl.textContent = formatTime(audio.duration);
} else {
currentTimeEl.textContent = "0:00";
durationEl.textContent = "0:00";
}
}
// 设置进度条
function setProgress(e) {
const width = this.clientWidth;
const clickX = e.offsetX;
const duration = audio.duration;
if (duration && !isNaN(duration)) {
audio.currentTime = (clickX / width) * duration;
}
showPlayer(); // 点击进度条时显示播放器
}
// 事件监听
audio.addEventListener('loadedmetadata', updateProgress);
audio.addEventListener('timeupdate', updateProgress);
audio.addEventListener('ended', () => {
playSong((currentIndex + 1) % musics.length);
});
progressContainer.addEventListener('click', setProgress);
playPauseBtn.addEventListener('click', () => {
if (isPlaying) {
audio.pause();
playPauseBtn.textContent = '▶ 播放';
} else {
audio.play();
playPauseBtn.textContent = '❚❚ 暂停';
}
isPlaying = !isPlaying;
showPlayer(); // 点击按钮时显示播放器
});
prevBtn.addEventListener('click', () => {
playSong((currentIndex - 1 + musics.length) % musics.length);
});
nextBtn.addEventListener('click', () => {
playSong((currentIndex + 1) % musics.length);
});
// 鼠标事件 - 显示播放器
customPlayer.addEventListener('mouseenter', showPlayer);
customPlayer.addEventListener('mousemove', showPlayer);
playerHoverArea.addEventListener('mouseenter', showPlayer);
playerHoverArea.addEventListener('mousemove', showPlayer);
// 初始化
initPlaylist();
// 自动播放第一首
setTimeout(() => {
playSong(0);
// 10秒后开始隐藏计时
resetHideTimer();
}, 1000);
</script>
<BR><BR>
<BR>
*基于本次同图素材,推荐意境相合的《一纸行书》、《月光不归》、《落了白》、《祝福》
《浮云渡》五首歌曲,欢迎选用<BR>*歌曲链接:
{ https://www.joy127.com/url/138833.mp3',一纸行书 - 张含韵 },
{ https://www.joy127.com/url/138865.mp3',月光不归 - HAHAHA },
{ https://www.joy127.com/url/138864.mp3',落了白 - 蒋雪儿 },
{ https://www.joy127.com/url/135263.mp3',祝福 - 黄思婷 },
{ https://www.joy127.com/url/139127.mp3',浮云渡 - 晓东 },
*推荐歌曲并不是同图指定歌曲,只是给找蛐蛐困难的小伙伴提供便利,您尽可以使用您心仪的歌曲来配您的美图,我们只是做一个小小的尝试,如无人选用今后会取消推荐,绝不会打扰您的清净,和小伙伴们知会一声~~<BR><BR>{:S14:}
<BR><BR><BR>
十二月同图素材
素材挑选:绿蔷薇
素材分享:淥詶
*采纳小伙伴们的建议,月同图采用多图选择,这样可以让你的创作空间更大,多几个选项,或许就能少一点局限,多一分新鲜感。
*如果小伙伴们有好看中意的素材,也可以提供给我们,我们会优化组合,未来活动的素材,说不定就来自你的推荐。让我们一起丰富我们的活动吧,期待你的精彩。
https://www.yhyhlt.com/data/attachment/forum/202512/02/100632r4y9mcy91ytqmt6l.gif
先认真看看公告啊 看到播放器了 ,歌曲真好听啊! 期待在十二月的创作里,看见你掌心的花朵绽放。一起期待 破帅这小嘴真会说啊 ,
用词具有温度与美感:
“轻轻推开”“悉心准备”“稳稳接住” 等词语自带温柔,
“辰光”“抽枝散叶”“浩瀚宇宙” 等表达则增添了诗意,
使劲点赞送花 ! 每月同图活动来啦!:lol 兄弟想得这么周到,连歌曲链接都一并安排上了,辛苦啊。{:1_153:} 这么多美女挑花眼叻!
;P 辛苦了哈,帅哥!
{:1_153:}{:1_155:}