【问题标题】:Boootstrap 3 lightbox using modal使用模态的 Bootstrap 3 灯箱
【发布时间】:2016-03-26 11:13:00
【问题描述】:

我正在我的网站上使用引导程序实现一个画廊,但是当我点击图片时,灯箱没有为我弹出。我看不到任何错误,也许你可以。我可以让画廊中的图像显示出来,但是当我点击它时,什么也没有发生。当点击图片时,应该会出现一个带有图片和控件的灯箱。

        <!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta name="description" content="">
        <meta name="author" content="">
        <meta name="viewport" content="width=device-width; initial-scale=1.0">

        <!-- Replace favicon.ico & apple-touch-icon.png in the root of your domain and delete these references -->
        <link rel="shortcut icon" href="/favicon.ico">
        <link rel="apple-touch-icon" href="/apple-touch-icon.png">

        <!-- CSS: implied media=all -->
  <!-- CSS concatenated and minified via ant build script-->
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css">
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
      <link rel="stylesheet" href="css/bootstrap.min.css">
      <link rel="stylesheet" href="css/bootstrap-theme.min.css">
      <link rel="stylesheet" href="css/style.css">

  <style type="text/css">

    .modal-dialog {}

    .thumbnail {margin-bottom:6px;}

    .carousel-control.left,.carousel-control.right{
      background-image:none;
      margin-top:10%;
      width:5%;
    }

  </style>

  <script type="text/javascript">

    $(document).ready(function(){
      /* copy loaded thumbnails into carousel */
    $('.row .thumbnail').on('load', function() {

    }).each(function(i) {
      if(this.complete) {
        var item = $('<div class="item"></div>');
        var itemDiv = $(this).parents('div');
        var title = $(this).parent('a').attr("title");

        item.attr("title",title);
        $(itemDiv.html()).appendTo(item);
        item.appendTo('.carousel-inner'); 
        if (i==0){ // set first item active
         item.addClass('active');
        }
      }
    });

    /* activate the carousel */
        $('#modalCarousel').carousel({interval:false});

    /* change modal title when slide changes */
        $('#modalCarousel').on('slid.bs.carousel', function () {
          $('.modal-title').html($(this).find('.active').attr("title"));
        });

    /* when clicking a thumbnail */
        $('.row .thumbnail').click(function(){
            var idx = $(this).parents('div').index();
            var id = parseInt(idx);
            $('#myModal').modal('show'); // show the modal
            $('#modalCarousel').carousel(id); // slide carousel to selected

        });
    });

  </script>
    </head>

    <body>          
        <div id="main" role="main">
            <br />
            <div class="page_title">
            <div class="container">
                <h1 align="center">ZZ ZZ</h1>
            </div>
            </div>
        </div>

        <div class="container">
            <div class="row">
              <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 1" href="#"><img class="thumbnail img-responsive" src="img/123.jpg"></a></div>
              <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 2" href="#"><img class="thumbnail img-responsive" src="img/carousel1.jpg"></a></div>
              <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 3" href="#"><img class="thumbnail img-responsive" src="//placehold.it/600x350/449955/FFF"></a></div>
              <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 4" href="#"><img class="thumbnail img-responsive" src="//placehold.it/600x350/992233"></a></div>
              <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 5" href="#"><img class="thumbnail img-responsive" src="//placehold.it/600x350/2255EE"></a></div>
              <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 6" href="#"><img class="thumbnail img-responsive" src="//placehold.it/600x350/449955/FFF"></a></div>
              <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 8" href="#"><img class="thumbnail img-responsive" src="//placehold.it/600x350/777"></a></div>
              <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 9" href="#"><img class="thumbnail img-responsive" src="//placehold.it/600x350/992233"></a></div>
              <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 10" href="#"><img class="thumbnail img-responsive" src="//placehold.it/600x350/EEE"></a></div>
              <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 11" href="#"><img class="thumbnail img-responsive" src="//placehold.it/600x350/449955/FFF"></a></div>
              <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 12" href="#"><img class="thumbnail img-responsive" src="//placehold.it/600x350/DDD"></a></div>
              <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 13" href="#"><img class="thumbnail img-responsive" src="//placehold.it/600x350/992233"></a></div>
           </div>
        </div>
<div class="modal" id="myModal" role="dialog">
  <div class="modal-dialog">
  <div class="modal-content">
    <div class="modal-header">
        <button class="close" type="button" data-dismiss="modal">×</button>
        <h3 class="modal-title"></h3>
    </div>
    <div class="modal-body">
        <div class="carousel" id="modalCarousel">

          <div class="carousel-inner">



          </div>

          <a class="carousel-control left" href="#modaCarousel" data-slide="prev"><i class="glyphicon glyphicon-chevron-left"></i></a>
          <a class="carousel-control right" href="#modalCarousel" data-

    slide="next"><i class="glyphicon glyphicon-chevron-right"></i></a>

            </div>
        </div>
        <div class="modal-footer">


        <button class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
       </div>
      </div>
    </div>
    <br />
    <br />

        <!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline -->
      <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
      <script>window.jQuery || document.write('<script src="js/libs/jquery-2.1.1.min"><\/script>')</script>
      <script src="js/libs/modernizr-2.0.6.min.js"></script>
      <script src="js/libs/bootstrap.min.js"></script>
      <script defer src="js/plugins.js"></script>
      <script>
         (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
         m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
         })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

         ga('create', '', 'auto');
         ga('send', 'pageview');

      </script>
    </body>
</html>

【问题讨论】:

    标签: jquery html css twitter-bootstrap-3 bootstrap-modal


    【解决方案1】:

    我似乎已经修复了它。您的代码存在一些(相对较小的)问题,最明显的是模态框的一些拼写错误以及 JavaScript 和 CSS 文件的冗余集。无论您从哪个来源导入引导文件,您都应该只导入一次。我认为这些问题加起来会让事情变得糟糕。请注意,我在下面的代码中注释掉了多余的行和public Gist I published for you, which might be easier to read:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <!-- Replace favicon.ico & apple-touch-icon.png in the root of your domain and delete these references -->
    <!-- <link rel="shortcut icon" href="/favicon.ico">
    <link rel="apple-touch-icon" href="/apple-touch-icon.png"> -->
    
    <!-- CSS: implied media=all -->
    <!-- CSS concatenated and minified via ant build script-->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css">
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
    <!-- <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="css/bootstrap-theme.min.css">
    <link rel="stylesheet" href="css/style.css"> -->
    
    <style type="text/css">
    
    .modal-dialog {}
    
    .thumbnail {margin-bottom:6px;}
    
    .carousel-control.left,.carousel-control.right{
    background-image:none;
    margin-top:10%;
    width:5%;
    }
    
    </style>
    
    <script type="text/javascript">
    
    $(document).ready(function(){
    /* copy loaded thumbnails into carousel */
    $('.row .thumbnail').each(function(i) {
      var item = $('<div class="item"></div>');
      var itemDiv = $(this).parents('div');
      var title = $(this).parent('a').attr('title');
    
      item.attr('title', title);
      item.append(itemDiv.html());
      $('.carousel-inner').append(item);
      if (i==0){ // set first item active
        item.addClass('active');
      }
    });
    
    /* activate the carousel */
    // $('#modalCarousel').carousel({interval:false});
    
    /* change modal title when slide changes */
    $('#modalCarousel').on('slid.bs.carousel', function () {
      $('.modal-title').html($(this).find('.active').attr("title"));
    });
    
    /* when clicking a thumbnail */
    $('.row .thumbnail').click(function(){
        var idx = $(this).parents('div').index();
        var id = parseInt(idx);
        $('#myModal').modal('show'); // show the modal
        $('#modalCarousel').carousel(id); // slide carousel to selected
    
    });
    });
    
    </script>
    </head>
    
    <body>
    <div id="main" role="main">
        <br />
        <div class="page_title">
        <div class="container">
            <h1 align="center">ZZ ZZ</h1>
        </div>
        </div>
    </div>
    
    <div class="container">
        <div class="row">
          <!-- <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 1" href="#"><img class="thumbnail img-responsive" src="img/123.jpg"></a></div>
          <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 2" href="#"><img class="thumbnail img-responsive" src="img/carousel1.jpg"></a></div> -->
          <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 3" href="#"><img class="thumbnail img-responsive" src="http://placehold.it/600x350/449955/FFF"></a></div>
          <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 4" href="#"><img class="thumbnail img-responsive" src="http://placehold.it/600x350/992233"></a></div>
          <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 5" href="#"><img class="thumbnail img-responsive" src="http://placehold.it/600x350/2255EE"></a></div>
          <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 6" href="#"><img class="thumbnail img-responsive" src="http://placehold.it/600x350/449955/FFF"></a></div>
          <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 8" href="#"><img class="thumbnail img-responsive" src="http://placehold.it/600x350/777"></a></div>
          <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 9" href="#"><img class="thumbnail img-responsive" src="http://placehold.it/600x350/992233"></a></div>
          <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 10" href="#"><img class="thumbnail img-responsive" src="http://placehold.it/600x350/EEE"></a></div>
          <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 11" href="#"><img class="thumbnail img-responsive" src="http://placehold.it/600x350/449955/FFF"></a></div>
          <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 12" href="#"><img class="thumbnail img-responsive" src="http://placehold.it/600x350/DDD"></a></div>
          <div class="col-lg-3 col-sm-4 col-xs-6"><a title="Image 13" href="#"><img class="thumbnail img-responsive" src="http://placehold.it/600x350/992233"></a></div>
       </div>
    </div>
    <div class="modal" id="myModal" role="dialog">
    <div class="modal-dialog">
    <div class="modal-content">
    <div class="modal-header">
    <button class="close" type="button" data-dismiss="modal">×</button>
    <h3 class="modal-title"></h3>
    </div>
    <div class="modal-body">
    <div class="carousel" id="modalCarousel">
    
      <div class="carousel-inner">
    
    
    
      </div>
    
      <a class="carousel-control left" href="#modalCarousel" data-slide="prev"><i class="glyphicon glyphicon-chevron-left"></i></a>
      <a class="carousel-control right" href="#modalCarousel" data-slide="next"><i class="glyphicon glyphicon-chevron-right"></i></a>
    
        </div>
    </div>
    <div class="modal-footer">
    
    
    <button class="btn btn-default" data-dismiss="modal">Close</button>
    </div>
    </div>
    </div>
    </div>
    <br />
    <br />
    
    <!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline -->
    <!-- <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script>window.jQuery || document.write('<script src="js/libs/jquery-2.1.1.min"><\/script>')</script>
    <script src="js/libs/modernizr-2.0.6.min.js"></script>
    <script src="js/libs/bootstrap.min.js"></script>
    <script defer src="js/plugins.js"></script>
    <script>
     (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
     (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
     m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
     })(window,document,'script','http://www.google-analytics.com/analytics.js','ga');
    
     ga('create', '', 'auto');
     ga('send', 'pageview');
    
    </script> -->
    </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多