我有一个 Bootstrap 轮播,其中包含一个简单的表单。您可以将轮播设置为在悬停时暂停。但是,如果在输入中键入时光标离开轮播区域,轮播将恢复到其默认周期和 5000 毫秒的间隔。
我希望将其设置为在输入焦点期间保持暂停并在输入焦点输出时重新启动循环。
<div id="myCarousel" class="carousel slide">
<div class="carousel-inner">
<div id="slide1" class="item">
This is a test slide.
</div>
<div id="slide2" class="item" >
<input type="text" placeholder="name" name="full_name" />
</div>
</div>
<!-- Carousel nav -->
<a class="carousel-control left" href="#myCarousel" data-slide="prev">‹</a>
<a class="carousel-control right" href="#myCarousel" data-slide="next">›</a>
</div>
<script>
!function ($) {
$(function(){
$('#myCarousel.slide').carousel({
interval: 5000,
pause: "hover"
})
})
}(window.jQuery)
$('input').focus(function(){
$("#myCarousel").pause()
}) /* Will worry about restarting carousel on mouseout if I could get this pause working */
</script>
似乎一旦最初调用了轮播(并设置了间隔),您就无法更改该间隔或轮播行为。
任何见解都会很棒。