daz*_*ola 6 javascript jquery carousel twitter-bootstrap
我有一个Bootstrap轮播,其中包含一个简单的表格.您可以将旋转木马设置为悬停时暂停.但是,如果光标在输入中键入时离开Carousel区域,则轮播将恢复为其默认周期和5000ms的间隔.
我希望将其设置为在输入焦点和输入焦点重启循环期间保持暂停.
<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>
Run Code Online (Sandbox Code Playgroud)
看起来,一旦最初调用旋转木马(并设置了间隔),您就无法改变该间隔或旋转木马的行为.
任何见解都会很棒.
cfs*_*cfs 15
你需要像这样调用暂停函数:$("#myCarousel").carousel('pause');.这是按照jQuery UI约定在引导程序组件上调用所有方法的方法.
您可以通过监听blur事件然后调用cycle方法来重新启动轮播.您还需要在$(function() {...});包装器中移动事件处理程序.这确保了所有DOM元素都存在并且可以随时操作.
所以你的暂停/骑车代码看起来像:
$(function(){
$('#myCarousel.slide').carousel({
interval: 5000,
pause: "hover"
});
$('input').focus(function(){
$("#myCarousel").carousel('pause');
}).blur(function() {
$("#myCarousel").carousel('cycle');
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20088 次 |
| 最近记录: |