(一)轮播暂停上次说过,需要看轮播实现机制是否提供管理接口,它若不提供是无法控制的,或需要你加入可控 ...
好的,明白了,由衷感谢马老师悉心指导与热诚帮助{:4_190:} 马黑黑 发表于 2024-12-12 20:14
(一)轮播暂停上次说过,需要看轮播实现机制是否提供管理接口,它若不提供是无法控制的,或需要你加入可控 ...
请老师帮助看看此轮播实现机制是否提供有管理接口,或帮助加入可控机制呗;由衷感谢{:4_190:} 杨帆 发表于 2024-12-13 01:45
请老师帮助看看此轮播实现机制是否提供有管理接口,或帮助加入可控机制呗;由衷感谢
没有。但是它使用 setTimeout 定时器,你可以参考我的简单图片轮播演示改进版对他进行操作。 马黑黑 发表于 2024-12-13 18:41
没有。但是它使用 setTimeout 定时器,你可以参考我的简单图片轮播演示改进版对他进行操作。
好的,谢谢老师,我试试看{:4_190:} 马黑黑 发表于 2024-12-13 18:41
没有。但是它使用 setTimeout 定时器,你可以参考我的简单图片轮播演示改进版对他进行操作。
虽然它使用 setTimeout 定时器
可参考您的简单图片轮播演示改进版尝试了几次仍无果
请老师明示!谢谢{:4_190:} 本帖最后由 杨帆 于 2025-3-15 18:34 编辑
今天是315,问题终于得到解决!
感谢马老师指导,感谢DS的帮助!
源码及效果分享在下楼{:4_185:}
本帖最后由 杨帆 于 2025-3-15 18:43 编辑 <br /><br /><style>
#tz {margin: 130px 0 30px calc(50% - 720px);width: 1280px; height: 720px;position: relative;z-index:1;border-radius:32px;overflow: hidden; }
#btnFs {position: absolute;left:92%;top: 5%;padding: 6px;background: green;color: white;border: 2px solid white;border-radius: 8px;cursor: pointer;pointer-events: auto;z-index: 2;}
#player {position: absolute;width:100px;height:100px;top:10px;left:10px; mix-blend-mode: multiply;box-shadow: inset 0 0 15px var(--inset);animation: rot 10s linear infinite;cursor: pointer; pointer-events: auto; opacity: 0;}
#tz:hover #player{opacity: 0.9; }
@keyframes rot { to { transform: rotate(1turn); } }
</style>
<div id="tz">
<IMG style="FILTER: progid:DXImageTransform.Microsoft.Stretch(stretchStyle='POP')" height="100%" src="https://pic.imgdb.cn/item/674d8258d0e0a243d4dbf8b5.gif" width="100%" border="0" name="rittai" />
<img id="player" alt="" src="https://xlaj.cn/upfile/202411/16/ann.png" title="播放/暂停" />
<audio id="aud" src="https://www.joy127.com/url/118013.mp3" autoplay="" loop=""></audio>
<span id="btnFs"></span>
</div>
<script type="module">
import qp from 'https://638183.freep.cn/638183/web/mod/fscreen.js';
qp.fs('tz','btnFs');
</script>
<script>
var Ga = new Array();
Ga = "https://pic.imgdb.cn/item/674d8258d0e0a243d4dbf8b5.gif";
Ga = "https://pic.imgdb.cn/item/674d81d5d0e0a243d4dbf77e.gif";
Ga = "https://pic.imgdb.cn/item/674d81f8d0e0a243d4dbf7e1.gif";
Ga = "https://pic.imgdb.cn/item/674d8215d0e0a243d4dbf830.gif";
Ga = "https://pic.imgdb.cn/item/674d822ed0e0a243d4dbf862.gif";
Ga = "https://pic.imgdb.cn/item/674d8244d0e0a243d4dbf891.gif";
var hayasa = 4500;
var suu = 1;
var iTransNumber = 0;
var garTransitions = new Array();
garTransitions = "progid:DXImageTransform.Microsoft.Stretch(stretchStyle='push')";
garTransitions = "progid:DXImageTransform.Microsoft.Stretch(stretchStyle='pop')";
var kirikaeGa = new Array();
for (var kazu = 0; kazu < Ga.length; kazu++) {
kirikaeGa = new Image();
kirikaeGa.src = Ga;
}
var slideTimer; // 用于存储定时器的变量
var isSliding = true; // 轮播状态
var isAudioPlaying = true; // 音频状态
function kirikae() {
if (window.createPopup) rittai.style.filter = garTransitions;
iTransNumber++;
if (iTransNumber == garTransitions.length) iTransNumber = 0;
if (window.createPopup) rittai.filters.apply();
document.images.rittai.src = kirikaeGa.src;
if (window.createPopup) rittai.filters.play();
suu++;
if (suu == kirikaeGa.length) suu = 0;
slideTimer = setTimeout(kirikae, hayasa); // 重新设置定时器
}
// 初始化轮播
window.onload = function() {
slideTimer = setTimeout(kirikae, hayasa);
};
// 更新按钮状态文字和动画
function updateButtonState() {
if (isAudioPlaying && isSliding) {
player.title = "暂停";
player.style.animationPlayState = 'running';
} else if (!isAudioPlaying && !isSliding) {
player.title = "播放";
player.style.animationPlayState = 'paused';
} else if (isAudioPlaying && !isSliding) {
player.title = "暂停音频,继续轮播";
player.style.animationPlayState = 'paused';
} else if (!isAudioPlaying && isSliding) {
player.title = "播放音频,暂停轮播";
player.style.animationPlayState = 'running';
}
}
// 按钮点击事件
player.onclick = function() {
// 切换音频状态
if (aud.paused) {
aud.play();
isAudioPlaying = true;
} else {
aud.pause();
isAudioPlaying = false;
}
// 切换轮播状态
if (isSliding) {
clearTimeout(slideTimer);
isSliding = false;
} else {
slideTimer = setTimeout(kirikae, hayasa);
isSliding = true;
}
// 更新按钮状态
updateButtonState();
};
// 音频状态变化时更新按钮状态
aud.oncanplay = aud.onplaying = aud.onpause = function() {
isAudioPlaying = !aud.paused;
updateButtonState();
};
// 初始化按钮状态
updateButtonState();
</script>
页:
1
[2]