我希望引导键盘的旋转木马在按下键盘的左右箭头时滑动

use*_*050 3 javascript asp.net-mvc jquery carousel twitter-bootstrap

我在模态窗口中有一个带有图像的轮播。当我按下键盘上的向左/向右箭头键时,我希望图像来回滑动。根据引导轮播文档,data-keyboard属性的默认值为true,但是当我按箭头键时什么也没有发生!因此,我尝试将属性放入代码中,但是当我按左/右箭头键时仍然没有任何反应。

问题-图片是否应该通过向左/向右键盘按下来自动前后滑动?如果是,那么我有些混乱了,如果没有,我是否需要捕获一些JS轮播事件,然后使用js / jquery手动滑动?

这是我的代码!

<div class="modal" id="profileImageModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">@*<span aria-hidden="true">&times;</span>*@<i class="fa fa-flag-o" aria-hidden="true"></i>
        </button>
        <h4 class="modal-title">Image Removal</h4>
      </div>
      <div class="modal-body" style="text-align: center;">
        <div id="carousel-example-generic" data-interval="false" data-keyboard="true" class="carousel slide">
          <!-- Indicators -->
          <ol class="carousel-indicators">
            @for (int i = 0; i
            < Model.YogaProfileImages.Count(); i++) { var profileImageId=@ Model.YogaProfileImages.ElementAt(i).YogaProfileImageId; <li data-target="#carousel-example-generic" data-slide-to="@i" class="@(ViewBag.SelectedImageId == profileImageId ? "
            active " : " ")">
              </li>
              }
          </ol>

          <!-- Wrapper for slides -->
          <div class="carousel-inner" role="listbox">
            @for (int i = 0; i
            < Model.YogaProfileImages.Count(); i++) { var profileImageId=@ Model.YogaProfileImages.ElementAt(i).YogaProfileImageId; <div id=@profileImageId class="item @(ViewBag.SelectedImageId == profileImageId ? " active " : " ")"
            data-profileId="@Model.Id">
              <img style="display: block; margin: auto; border-radius: 6px;" src="data:image/jpg;base64, @(Html.Raw(Convert.ToBase64String(Model.YogaProfileImages.ElementAt(i).CroppedImage)))" alt="profile image">
          </div>
          }
        </div>
      </div>
    </div>
    <div class="modal-footer" style="text-align: center; border-top: none;">
      <input id="deleteModalWarningClose" type="button" class="btn btn-lg btn-primary" value="Close" />
    </div>
  </div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

Mar*_* P. 5

请使您的代码示例工作以获得更好的答案。但是到目前为止,这似乎可以为您提供帮助:

$(document).keydown(function(e) {
    if (e.keyCode === 37) {
       // Previous
       $(".carousel-control.left").click();
       return false;
    }
    if (e.keyCode === 39) {
       // Next
       $(".carousel-control.right").click();
       return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 这与当您触发正确的按键时您到底在做什么无关。这是关于如何到达那里;) 仔细查看文档:https://v4-alpha.getbootstrap.com/components/carousel/#carouselprev 您可以通过删除 .click() 轻松匹配适合您情况的代码代码并将其替换为 .carousel('prev') 之类的内容,如链接文档中的“方法”下所示:) (2认同)

cat*_*cop 0

我会使用一些 jquery 事件侦听器,例如 .on('keyup', somefunction()) 请参阅此处的文档,在这个函数中,如果按下右箭头,我将增加一个索引,该索引将“引导”到我想要的轮播图像以显示。同样的情况也适用于按下左箭头,但在这种情况下我会减少索引。如果我没有正确理解您的问题,请告诉我。