Bootstrap 旋转木马滑块和锤子库
Bootstrap Carousel slider and hammer library
我正在使用锤子在 bootstrap 滑块中滑动:
我是这样做的:
<script>
$(document).ready(function() {
$("#myCarousel").swiperight(function() {
$("#myCarousel").carousel('prev');
});
$("#myCarousel").swipeleft(function() {
$("#myCarousel").carousel('next');
});
});
</script>
或者像这样:
<script>
$('#myCarousel').hammer().on('swipeleft', function(){
$('#myCarousel').carousel('next');
})
$('#myCarousel').hammer().on('swiperight', function(){
$('#myCarousel').carousel('prev');
})
</script>
html代码:
<div id="carousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carousel" data-slide-to="0" class="active"></li>
<li data-target="#carousel" data-slide-to="1" class=""></li>
<li data-target="#carousel" data-slide-to="2" class=""></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active" id="mobile-item1">
<img src="http://cdn.jssor.com/demos/img/landscape/01.jpg"/>
</div>
<div class="item" id="mobile-item2">
<img src="http://cdn.jssor.com/demos/img/landscape/01.jpg"/>
</div>
<div class="item" id="mobile-item3">
<img src="http://cdn.jssor.com/demos/img/landscape/01.jpg"/>
</div>
</div>
</div>
所以基本上我想做的是检测幻灯片 3 何时处于活动状态以停止向右滑动,或者第一张幻灯片何时处于活动状态以停止向左滑动,所以我这样做了:
$('.carousel').on('slid.bs.carousel', function() {
if ($('#mobile-item3').hasClass('active')) {
//disable swiping right
}
if ($('#mobile-item1').hasClass('active')) {
//disable swiping left
}
});
但我不知道如何使用锤子库禁用向右或向左滑动?请帮忙! My JSFIDDLE
您好只需将代码更新为以下内容,它将阻止滑动事件的默认行为。
官方文档:https://api.jquery.com/event.preventdefault/
<script>
$(document).ready(function() {
$("#myCarousel").swiperight(function(e) {
//Log the event object
console.log(e);
e.preventDefault();
$("#myCarousel").carousel('prev');
});
$("#myCarousel").swipeleft(function(e) {
e.preventDefault();
$("#myCarousel").carousel('next');
});
});
</script>
此外,如果您想检测当前幻灯片索引而不是记录滑块的对象,例如:
console.log(e)
希望对您有所帮助!
您可以在轮播中使用此 data-wrap="false"
:
<div id="carousel" class="carousel slide" data-ride="carousel" data-wrap="false">
我正在使用锤子在 bootstrap 滑块中滑动: 我是这样做的:
<script>
$(document).ready(function() {
$("#myCarousel").swiperight(function() {
$("#myCarousel").carousel('prev');
});
$("#myCarousel").swipeleft(function() {
$("#myCarousel").carousel('next');
});
});
</script>
或者像这样:
<script>
$('#myCarousel').hammer().on('swipeleft', function(){
$('#myCarousel').carousel('next');
})
$('#myCarousel').hammer().on('swiperight', function(){
$('#myCarousel').carousel('prev');
})
</script>
html代码:
<div id="carousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carousel" data-slide-to="0" class="active"></li>
<li data-target="#carousel" data-slide-to="1" class=""></li>
<li data-target="#carousel" data-slide-to="2" class=""></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active" id="mobile-item1">
<img src="http://cdn.jssor.com/demos/img/landscape/01.jpg"/>
</div>
<div class="item" id="mobile-item2">
<img src="http://cdn.jssor.com/demos/img/landscape/01.jpg"/>
</div>
<div class="item" id="mobile-item3">
<img src="http://cdn.jssor.com/demos/img/landscape/01.jpg"/>
</div>
</div>
</div>
所以基本上我想做的是检测幻灯片 3 何时处于活动状态以停止向右滑动,或者第一张幻灯片何时处于活动状态以停止向左滑动,所以我这样做了:
$('.carousel').on('slid.bs.carousel', function() {
if ($('#mobile-item3').hasClass('active')) {
//disable swiping right
}
if ($('#mobile-item1').hasClass('active')) {
//disable swiping left
}
});
但我不知道如何使用锤子库禁用向右或向左滑动?请帮忙! My JSFIDDLE
您好只需将代码更新为以下内容,它将阻止滑动事件的默认行为。
官方文档:https://api.jquery.com/event.preventdefault/
<script>
$(document).ready(function() {
$("#myCarousel").swiperight(function(e) {
//Log the event object
console.log(e);
e.preventDefault();
$("#myCarousel").carousel('prev');
});
$("#myCarousel").swipeleft(function(e) {
e.preventDefault();
$("#myCarousel").carousel('next');
});
});
</script>
此外,如果您想检测当前幻灯片索引而不是记录滑块的对象,例如:
console.log(e)
希望对您有所帮助!
您可以在轮播中使用此 data-wrap="false"
:
<div id="carousel" class="carousel slide" data-ride="carousel" data-wrap="false">