宇宙小子 第五季 2017
7.0 |2025年06月14日 |已完结 共28集
简介:
宇宙小子第五季在《宇宙小子》的世界里,由一组宝石战士保护宇宙免遭邪恶力量的威胁。主人公小男孩史蒂文·宇宙继承了母亲的宝石力量,与其他三位宝石战士石榴,珍珠,紫晶一起生活。剧集围绕他们展开,讲述了史蒂文和三位宝石战士姐姐一起,在日常生活中拯救世界,以及探索自身神奇能力的成长故事。
猜你喜欢
换一换
首页
电影
连续剧
综艺
动漫
短剧大全
script type="text/javascript"> $(document).ready(function() { var player = $('.MacPlayer'); var playerContainer = player.closest('#PlayerVideoArea'); var originalPosition = playerContainer.offset().top; var isFloating = false; var scrollTimeout; var isDragging = false; var startX, startY, offsetX, offsetY; // 创建关闭按钮 var closeBtn = $('
'); // 创建拖动按钮 var dragBtn = $('
'); // 只在滚动停止时检测 $(window).scroll(function() { clearTimeout(scrollTimeout); scrollTimeout = setTimeout(function() { var scrollTop = $(window).scrollTop(); if (!isFloating && scrollTop > originalPosition + 300) { // 进入悬浮状态 enterFloatingMode(); } else if (isFloating && scrollTop <= originalPosition) { // 恢复原始状态 exitFloatingMode(); } }, 100); }); // 进入悬浮模式 function enterFloatingMode() { if(isFloating) return; // 保存原始位置和尺寸 playerContainer.data('original-style', { position: playerContainer.css('position'), top: playerContainer.css('top'), left: playerContainer.css('left'), width: playerContainer.css('width'), height: playerContainer.css('height'), margin: playerContainer.css('margin') }); playerContainer.addClass('floating-player'); playerContainer.append(closeBtn); playerContainer.append(dragBtn); isFloating = true; // 添加拖动功能 setupDrag(); // 滚动到原始位置 closeBtn.on('click', function() { $('html, body').animate({ scrollTop: originalPosition - 50 }, 300, function() { exitFloatingMode(); }); }); } // 退出悬浮模式 function exitFloatingMode() { if(!isFloating) return; // 恢复原始样式 var originalStyle = playerContainer.data('original-style'); playerContainer.removeClass('floating-player'); playerContainer.css({ position: originalStyle.position, top: originalStyle.top, left: originalStyle.left, width: originalStyle.width, height: originalStyle.height, margin: originalStyle.margin }); // 移除拖动事件 dragBtn.off('mousedown touchstart'); $(document).off('mousemove touchmove'); $(document).off('mouseup touchend'); closeBtn.off('click').remove(); dragBtn.remove(); isFloating = false; isDragging = false; } // 设置拖动功能 function setupDrag() { dragBtn.on('mousedown touchstart', function(e) { isDragging = true; // 获取初始位置 var containerOffset = playerContainer.offset(); offsetX = containerOffset.left; offsetY = containerOffset.top; // 获取鼠标/触摸初始位置 var clientX = e.type === 'touchstart' ? e.originalEvent.touches[0].clientX : e.clientX; var clientY = e.type === 'touchstart' ? e.originalEvent.touches[0].clientY : e.clientY; startX = clientX - offsetX; startY = clientY - offsetY; // 阻止默认行为和冒泡 e.preventDefault(); e.stopPropagation(); // 添加拖动时的类 playerContainer.addClass('dragging'); }); $(document).on('mousemove touchmove', function(e) { if (!isDragging) return; var clientX = e.type === 'touchmove' ? e.originalEvent.touches[0].clientX : e.clientX; var clientY = e.type === 'touchmove' ? e.originalEvent.touches[0].clientY : e.clientY; // 计算新位置 var newLeft = clientX - startX; var newTop = clientY - startY; // 限制在窗口范围内 var windowWidth = $(window).width(); var windowHeight = $(window).height(); var containerWidth = playerContainer.outerWidth(); var containerHeight = playerContainer.outerHeight(); newLeft = Math.max(0, Math.min(newLeft, windowWidth - containerWidth)); newTop = Math.max(0, Math.min(newTop, windowHeight - containerHeight)); // 应用新位置 playerContainer.css({ left: newLeft + 'px', top: newTop + 'px', right: 'auto', bottom: 'auto' }); e.preventDefault(); e.stopPropagation(); }); $(document).on('mouseup touchend', function() { if (isDragging) { isDragging = false; playerContainer.removeClass('dragging'); } }); } // 窗口大小变化时重新计算 $(window).resize(function() { if (!isFloating) { originalPosition = playerContainer.offset().top; } else { // 如果正在悬浮,确保播放器保持在可视范围内 var containerWidth = playerContainer.outerWidth(); var containerHeight = playerContainer.outerHeight(); var windowWidth = $(window).width(); var windowHeight = $(window).height(); var currentLeft = parseInt(playerContainer.css('left')); var currentTop = parseInt(playerContainer.css('top')); var newLeft = Math.max(0, Math.min(currentLeft, windowWidth - containerWidth)); var newTop = Math.max(0, Math.min(currentTop, windowHeight - containerHeight)); playerContainer.css({ left: newLeft + 'px', top: newTop + 'px' }); } }); }); -->