javascript - bootstrap4 carousel - 在 'slide.bs.carousel' 事件中停止滑动

标签 javascript carousel bootstrap-4

我尝试使用 bootstrap4 carousel 执行两个步骤:

  • 第一个轮播项目用于身份验证(用户名和密码字段)
  • 第二个用于授权(列出用户有权访问的组并要求他选择一个)

我想在通过 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" 禁用了自动滑动。用户手动在幻灯片之间导航,即通过单击或使用箭头键。

最佳答案

要在触发 slide.bs.carousel 事件后停止幻灯片,请对事件变量调用 preventDefault()。这适用于自动和手动触发的幻灯片事件。

$('#myCarousel').on('slide.bs.carousel', function (e) {
    // checks here        
    if (stop) {
        e.preventDefault();
    }
})

参见here来自 Bootstrap 源的相关位。

如果您启用了自动循环,这还允许您暂停轮播,因为它不会在稍后的幻灯片功能中自动恢复(请参阅 here )。

参见here举个例子(JSFiddle)。

关于javascript - bootstrap4 carousel - 在 'slide.bs.carousel' 事件中停止滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42056936/

相关文章:

Javascript 减法返回 NaN

jquery - 如何在此示例中完全使用 bootstrap 3 创建多个可点击元素轮播

flutter - 如何将英雄小部件动画到另一个页面中轮播的第一个元素?

html - Bootstrap 4 将图标与 <a> 标签对齐

javascript - 工具提示数据放置 ="right"不工作[编辑]

carousel - Bootstrap 4 Carousel slider 不起作用

javascript - 在 JavaScript 中将子 <img> 附加到 <a>

javascript - 从 "abstract"基址 "class"调用构造函数

javascript - 如何将 javascript 文件插入 iframe 然后调用插入的 javascript 中的函数?

jquery - 轮播指示器不适用于 Bootstrap