优化阅读体验、前台编辑、播放器等

This commit is contained in:
anian
2026-07-22 01:54:46 +08:00
parent 041fd0f7cf
commit 32bf39f733
20 changed files with 896 additions and 653 deletions
-22
View File
@@ -9,22 +9,6 @@ function modify_m_bottom_music_button_link() {
});
}
// 视频默认正方形,播放恢复比例(接入灯箱后已无用)
// function modify_moment_video_size() {
// const videos = document.querySelectorAll('.pix_video');
// videos.forEach(video => {
// if (!video.hasAttribute('data-video-events-bound')) {
// video.addEventListener('play', () => {
// video.classList.add('is-playing');
// });
// video.addEventListener('ended', () => {
// video.classList.remove('is-playing');
// });
// video.setAttribute('data-video-events-bound', 'true');
// }
// });
// }
// 登录逻辑
let csrfToken = '';
let publicKey = '';
@@ -160,9 +144,6 @@ login_loginBtn.addEventListener('click', async () => {
cocoMessage.success('署名成功,正在跳转...');
login_loginBtn.textContent = '跳转中...';
const currentScrollTop = window.scrollY || document.documentElement.scrollTop;
// $.cookie('scrollParam', currentScrollTop, { path: '/', domain: 'anian.cc' });
// $.cookie('load_type', 'login', { path: '/', domain: 'anian.cc' });
$.cookie('scrollParam', currentScrollTop, { path: '/' });
$.cookie('load_type', 'login', { path: '/' });
window.location.reload();
} else if (finalUrl.includes('error=invalid-credential')) {
@@ -236,9 +217,6 @@ async function customLogout() {
closeLoading();
cocoMessage.success('您已成功退出登录');
const currentScrollTop = window.scrollY || document.documentElement.scrollTop;
// $.cookie('scrollParam', currentScrollTop, { path: '/', domain: 'anian.cc' });
// $.cookie('load_type', 'logout', { path: '/', domain: 'anian.cc' });
$.cookie('scrollParam', currentScrollTop, { path: '/' });
$.cookie('load_type', 'logout', { path: '/' });
window.location.reload();
} else {
+448 -338
View File
File diff suppressed because it is too large Load Diff
+45 -13
View File
@@ -384,20 +384,52 @@ $(document).on('mouseleave', '.footer_nav_box .right_inner', function (event) {
}, 2000);
});
//音乐进度条跳转
function getMousePosition(e) {
var e = e || window.event;
var x = e.pageX;
var y = e.pageY;
return { 'left': x, 'top': y }
//音乐进度条跳转/拖动
var draggingPlayerBar = null;
function getProgressPointerX(event) {
var originalEvent = event.originalEvent || event;
if (originalEvent.touches && originalEvent.touches.length > 0) {
return originalEvent.touches[0].pageX;
}
if (originalEvent.changedTouches && originalEvent.changedTouches.length > 0) {
return originalEvent.changedTouches[0].pageX;
}
return event.pageX || originalEvent.pageX || 0;
}
$(document).on('click', '.player_bar', function () {
var long = (getMousePosition().left) - ($('.progress').offset().left);
$('.progress').width(long);
allTime = parseInt(audiobox[0].duration);
var nowtime = (long / $('.player_bar').width()) * allTime;
audiobox[0].currentTime = nowtime;
function seekPlayerByEvent(event, playerBar) {
var duration = audiobox[0].duration;
if (!duration || !isFinite(duration)) return;
var $playerBar = $(playerBar);
var barWidth = $playerBar.width();
if (!barWidth) return;
var long = getProgressPointerX(event) - $playerBar.offset().left;
long = Math.max(0, Math.min(long, barWidth));
$playerBar.find('.progress').width(long);
audiobox[0].currentTime = (long / barWidth) * duration;
}
$(document).on('mousedown touchstart', '.player_bar', function (event) {
event.preventDefault();
event.stopPropagation();
draggingPlayerBar = this;
seekPlayerByEvent(event, draggingPlayerBar);
});
$(document).on('mousemove touchmove', function (event) {
if (!draggingPlayerBar) return;
event.preventDefault();
seekPlayerByEvent(event, draggingPlayerBar);
});
$(document).on('mouseup touchend touchcancel', function (event) {
if (!draggingPlayerBar) return;
event.preventDefault();
draggingPlayerBar = null;
});
//音量调节 m_volume
@@ -695,4 +727,4 @@ audiobox[0].addEventListener("pause", function () {
function syncFooterWithAudioState() {
var isPlaying = !!(audiobox && audiobox[0] && !audiobox[0].paused && !audiobox[0].ended);
updateFooterMusicIcon(isPlaying);
}
}