我正在尝试使用 bootstrap4轮播进行两个步骤:
我想在通过javascript代码移动到下一张幻灯片之前检查用户ID和密码是否有效。我有.carousel('pause')
但是我无法阻止移动到下一张幻灯片。此外,我不想有额外的按钮来检查内容。
$('#myCarousel').on('slide.bs.carousel', function (e) {
// authentication check here
if (isAuth === false)
{
// stay on this slide
}
else
{
// move the next one
}
})
有没有办法做到这一点?
注意:我通过设置data-interval="false"
禁用了自动滑动功能。用户手动在幻灯片之间导航,即通过单击或按箭头键。
答案 0 :(得分:2)
要在触发slide.bs.carousel
事件后停止幻灯片,请在事件变量上调用preventDefault()
。这适用于自动和手动触发的幻灯片事件。
$('#myCarousel').on('slide.bs.carousel', function (e) {
// checks here
if (stop) {
e.preventDefault();
}
})
有关Bootstrap源的相关位,请参阅here。
如果启用了自动循环,这也可以让您暂停旋转木马,因为它不会在以后的幻灯片功能中自动恢复(参见here)。
请参阅here获取示例(JSFiddle)。
答案 1 :(得分:1)
使用这种方式:
$('#myCarousel').on('slide.bs.carousel', function (e) {
// authentication check here
if (isAuth === false)
{
$('#myCarousel').carousel('pause');
return false; // stay on this slide
}
else
{
$('#myCarousel').carousel('cycle');
return true; // move the next one
}
})