javascript - 带有 Bootstrap 的图库,带有更大图像的缩略图

标签 javascript css html twitter-bootstrap

我正忙于使用 bootstrap 3 制作图片库。

因此,如果我单击图像,您将看到弹出窗口 - 这当然很好,但如果您单击其他地方/背景,弹出窗口不会消失 - 它会停留在屏幕上。

我的代码:

@model  ContosoUniversity.Models.UserProfile

@{
    ViewBag.Title = "Details";
}

@*<h2>Details</h2>*@

<link href="~/Content/ShowMoreImages.css" rel="stylesheet" />



<div class="container">

    <ul>
        <li><img src="~/Images/LCC_logo3.gif" alt="" height=150 width=200 /></li>
    </ul>

    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-body">
                </div>
            </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->
    @*</ul>*@
</div> 



    <script>
        $(document).ready(function () {

            $('li img').on('click', function () {
                var src = $(this).attr('src');
                var img = '<img src="' + src + '" class="img-responsive"/>';
                $('#myModal').modal();
                $('#myModal').on('shown.bs.modal', function () {
                    $('#myModal .modal-body').html(img);
                });
                $('#myModal').on('hidden.bs.modal', function () {
                    $('#myModal .modal-body').html('');

                });
            });

            $("#myModal").mouseup(function (e) {
                if (e.target !== this) return;
                $('#myModal').modal('hide');
            });

        });


</script>

最佳答案

您的 HTML 标记还不够,如果您可以 F12 并在预览模式下提供该模式的 DOM 结构,那就更好了。看看你的代码,我想到了这个,在你的脚本中添加了第二个函数,在 $("#myModal") 上调用了 Mouseup

<script>
$(document).ready(function () {

    $('li img').on('click', function () {
        var src = $(this).attr('src');
        var img = '<img src="' + src + '" class="img-responsive"/>';
        $('#myModal').modal();
        $('#myModal').on('shown.bs.modal', function () {
            $('#myModal .modal-body').html(img);
        });
        $('#myModal').on('hidden.bs.modal', function () {
            $('#myModal .modal-body').html('');

        });
    });

    $("#myModal").mouseup(function (e){
        if( e.target !== this ) return;
        $('#myModal').modal('hide');
    });             

});


</script>

如果您单击褪色的(模态框外)部分,它将隐藏模态窗口。


根据您的意见,我猜标记本身有问题。正如在具有相同模态 ID 等的多个元素中一样。 看看
Bootstrap 3 Lightbox
提供了非常详细的信息、应用程序和示例,创建图库应该不难。

关于javascript - 带有 Bootstrap 的图库,带有更大图像的缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27971705/

相关文章:

html - 在 Bootstrap 中,如何让单个工具提示不换行

java - Spring MVC : Return CSS

javascript - Handlebars 模板未呈现 - 可以在 Firefox Inspector 中查看 HTML

javascript - 在 JavaScript 的 if 语句中声明变量是错误的吗?

javascript - JavaScript 中使用装饰器时箭头函数和函数的区别

javascript - 一次选择一张图像

html - 表格中的全高 div

javascript - 如何获得每行8列? [Javascript, Bootstrap ]

javascript - JavaScript 中的闭包和原型(prototype)设计有什么区别?

javascript - 无法检索数据以在浏览器中显示