carousel - Bootstrap Carousel 将触发更改为晚?
问题描述
我有一个 ASP.Net Core MVC Web 应用程序,在我看来我有一个引导轮播。我正在捕获更改事件,以便获取图像显示的其他信息。我的问题是图像变化不够快。当更改事件触发并且我得到唯一的图像名称时,它仍然在第一张图像上,而不是正在显示的图像上,这意味着我得到的附加信息是错误的。
下面是我的引导轮播:-
<div id="divCarousel" class="carousel slide" data-interval="false" data-ride="carousel">
<ul class="carousel-indicators">
@{
int Pos = 0;
}
@foreach (var photo in Model.PhotosList)
{
if (Pos == 0)
{
<li data-target="=#divCarousel" data-slide-to=@photo.Id class="active"></li>
}
else
{
<li data-target="=#divCarousel" data-slide-to=@photo.Id></li>
}
Pos++;
}
</ul>
<!-- The slideshow -->
<div class="carousel-inner">
@{
Int16 i = 0;
}
@foreach (var photo in Model.PhotosList)
{
var photoPath = "~/Photos/" + photo.PhotoPath;
if (i == 0)
{
<div class="carousel-item active">
<img class="photoSize" src="@photoPath" alt="No Photo" asp-append-version="true">
</div>
}
else
{
<div class="carousel-item">
<img class="photoSize" src="@photoPath" alt="No Photo" asp-append-version="true">
</div>
}
i++;
}
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev" href="#divCarousel" data-slide="prev">
<span class="carousel-control-prev-icon"></span>
</a>
<a class="carousel-control-next" href="#divCarousel" data-slide="next">
<span class="carousel-control-next-icon"></span>
</a>
</div>
这是我的javascript来捕获更改事件:-
@section Scripts {
<script>
function showPhotoDetails() {
var url = $('.carousel-item.active img').attr('src');
var photopath = url.split('?');
photopath[0] = photopath[0].substring(8, photopath[0].length);
$.ajax({
type: 'POST',
url: "/Photos/GetValue?path=" + photopath[0],
dataType: "json",
async: false,
success: function (data) {
$("input#txtCreatedBy").val(data.createdBy);
$("input#txtDateCreated").val(data.dateCreated);
$("textarea#txtNotes").val(data.notes);
}
});
}
$(document).ready(function () {
showPhotoDetails();
$('.custom-file-input').on("change", function () {
var fileLabel = $(this).next('.custom-file-label');
var files = $(this)[0].files;
if (files.length > 1) {
fileLabel.html(files.length + ' files selected.');
} else if (files.length == 1) {
fileLabel.html(files[0].name);
}
});
$('.carousel-control-previous').on("click", function () {
showPhotoDetails();
});
$('.carousel-control-next').on("click", function () {
showPhotoDetails();
});
});
</script>
}
我基本上需要在幻灯片事件之后获取图像名称。非常感谢任何帮助。
谢谢,
解决方案
A设法得到这个排序。基本上,我使用 slid.bs.carousel 类,而不是捕获前一个和下一个的单击事件。现在一切正常。
推荐阅读
- php - 通过 Web 套接字服务器与特定用户 [Android 设备] 连接
- javascript - 使用 ajax 将点击计数发送到 django 视图
- java - Firebase 实时数据库:有没有办法避免在删除值时调用 onDataChange?
- sap - 如何使用 SAP Fiori Client Android App 访问 SAP Fiori Launchpad?引发 SSL 错误
- javascript - 使用 react-redux 和 ASP.NET Core 时运行时出现未定义错误
- powershell - Powercli 问题在远程机器上启动 Internet Explorer
- prebid.js - 在 prebid.js 中,如何在发送请求时为每个投标人设置底价?
- scala - scala中的滚动时间窗口数据
- node.js - 从 AWS Lambda 调用 API 的结果不一致
- node.js - 如何在 Microsoft Bot Framework 上获取用户名?