优化阅读体验、前台编辑、播放器等
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user