我已经阅读了几乎关于自举旋转木马的所有线索,但是没有找到我的问题的答案。 我在旋转木马上添加了两个控制按钮(播放/暂停),但每个按钮都会从默认/第一张幻灯片中激活该功能。我希望能够在点击事件发生时暂停当前幻灯片并从当前幻灯片播放。
这是我的代码:
<script src="/_catalogs/masterpage/UHN/js/bootstrap.min.js"></script>
<script>
$(function () {
$('.carousel').carousel({ interval:6000 });
$('#playButton').click(function () {
$('#homeCarousel').carousel('cycle');
});
$('#pauseButton').click(function () {
$('#homeCarousel').carousel('pause');
});
});
</script>
两个控件:
<!--Carousel controls -->
<button id="playButton">Play</button>
<button id="pauseButton">Pause</button>
答案 0 :(得分:15)
这应该有效。我会确保您的点击事件按照您的预期触发,因为引导轮播的某些元素可能会出现在您的元素上方并阻止点击。
如果您在 HTML 中添加以下控件:
<div id="carouselButtons">
<button id="playButton" type="button" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-play"></span>
</button>
<button id="pauseButton" type="button" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-pause"></span>
</button>
</div>
然后,以下 JavaScript 应该控制任何帧的开始和停止:
$('#playButton').click(function () {
$('#homeCarousel').carousel('cycle');
});
$('#pauseButton').click(function () {
$('#homeCarousel').carousel('pause');
});
与我的第一点相关,为了让它们在旋转木马中正确显示,您可以使用以下 CSS 设置按钮组的样式:
#carouselButtons {
margin-left: 100px;
position: absolute;
bottom: 0px;
}
为了使这个功能最有意义,你可能希望旋转木马继续移动,即使悬停在它上面(否则在进行游戏选择后,直到你移动鼠标才会再次启动循环行为)
选项 - 暂停
默认 - “悬停” - 在鼠标中心暂停旋转木马的循环,并在小鼠离开时恢复旋转木马的循环。
相反,请确保在初始化轮播时将其关闭,如下所示:
$('#homeCarousel').carousel({
interval:2000,
pause: "false"
});
答案 1 :(得分:1)
这是我的方法。您可以根据自己的需要设置.pause和.play类的样式,但我只是使用纯文本进行演示:
$('.carousel-control.pause').click(function() {
var controls = $(this);
if (controls.hasClass('pause')) {
controls.text('Resume').removeClass('pause').toggleClass('play');
$('#myCarousel').carousel('pause');
} else {
controls.text('Pause').removeClass('play').toggleClass('pause');
$('#myCarousel').carousel('cycle');
}
});
这是你的雷管
<a class="carousel-control pause" href="javascript:void(0);">Pause</a>
答案 2 :(得分:0)
对于那些希望关闭播放/暂停按钮的人。 jsFiddle example
<强>使用Javascript:强>
$("button").click(function() {
if ($(this).attr("id") === "pauseButton") {
$('#homeCarousel').carousel('pause');
$(this).attr("id", "playButton");
$("span", this).toggleClass("glyphicon-play glyphicon-pause");
} else {
$('#homeCarousel').carousel('cycle');
$(this).attr("id", "pauseButton");
$("span", this).toggleClass("glyphicon-pause glyphicon-play");
}
});
<强> HTML:强>
<div id="carouselButtons">
<button id="pauseButton" type="button" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-pause"></span>
</button>
</div>