簡體   English   中英

照片打開后如何在照片上放置鏈接?

[英]how to put a link on the photo after the photo opens?

希望您不介意幫助我使用此代碼。 我正在使用引導程序,並且我有這個html:

   <div class="gallery">
       <div class="container">
        <div class="row">
            <div class="col-xs-3 gallery-item">
                <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery">
                    <img src="images/port1.jpg" class="img-responsive img-gallery" alt="Projekti i pare">
                </a>
            </div> <!-- /.col -->

            <div class="col-xs-3 gallery-item">
                <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery">
                    <img src="images/port2.jpg" class="img-responsive img-gallery" alt="Projekti i dyte">
                </a>
            </div> <!-- /.col -->

            <div class="col-xs-3 gallery-item">
                <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery">
                    <img src="images/port3.jpg" class="img-responsive img-gallery" alt="Projekti i trete">
                </a>
            </div> <!-- /.col -->

            <div class="col-xs-3 gallery-item">
                <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery">
                    <img src="images/port4.jpg" class="img-responsive img-gallery" alt="Projekti i katert">
                </a>
            </div> <!-- /.col -->
            <div class="col-xs-3 gallery-item">
                <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery">
                    <img src="images/port4.jpg" class="img-responsive img-gallery" alt="Projekti i peste">
                </a>
            </div> <!-- /.col -->
            <div class="col-xs-3 gallery-item">
                <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery">
                    <img src="images/port4.jpg" class="img-responsive img-gallery" alt="Projekti i gjashte">
                </a>
            </div> <!-- /.col -->
            <div class="col-xs-3 gallery-item">
                <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery">
                    <img src="images/port4.jpg" class="img-responsive img-gallery" alt="Projekti i shtate">
                </a>
                   </div> <!-- /.col -->
              </div> <!--/.row  -->
            </div> <!-- /.container -->
        </div> <!-- /.gallery -->

       <div class="modal fade" id="modalGallery" tabindex="-1" role="dialog" aria-labelledby="modalGalleryLabel" aria-hidden="true">
       <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                <h4 class="modal-title" id="modalGalleryLabel">Gallery</h4>
            </div> <!-- /.modal-header -->

            <div class="modal-body">
                <div id="carouselGallery" class="carousel slide" data-ride="carousel" data-interval="false">
                    <div class="carousel-inner">
                    </div> <!-- /.carousel-inner -->
                </div> <!-- /.carousel -->
            </div> <!-- /.modal-body -->

            <div class="modal-footer">
                <ul class="pagination">
                </ul>
            </div> <!-- /.modal-footer -->
        </div> <!-- /.modal-content -->
    </div> <!-- /.modal-dialog -->
</div> <!-- /.modal -->

這是我的CSS:

   .gallery{
margin-top: 100px;
     }
  .gallery-item{
   margin-bottom: 30px;
     }
    .modal-footer{
     text-align: center;
   }
    .pagination{
    margin: 0;
    }

還有我的Javacsript

       $(document).ready(function(){
     $('.link-gallery').click(function(){
    var galleryId = $(this).attr('data-target');
    var currentLinkIndex = $(this).index('a[data-target="'+ galleryId +'"]');

    createGallery(galleryId, currentLinkIndex);
    createPagination(galleryId, currentLinkIndex);

    $(galleryId).on('hidden.bs.modal', function (){
        destroyGallry(galleryId);
        destroyPagination(galleryId);
    });

    $(galleryId +' .carousel').on('slid.bs.carousel', function (){
        var currentSlide = $(galleryId +' .carousel .item.active');
        var currentSlideIndex = currentSlide.index(galleryId +' .carousel .item');

        setTitle(galleryId, currentSlideIndex);
        setPagination(++currentSlideIndex, true);
    })
});

function createGallery(galleryId, currentSlideIndex){
    var galleryBox = $(galleryId + ' .carousel-inner');

    $('a[data-target="'+ galleryId +'"]').each(function(){
        var img = $(this).html();
        var galleryItem = $('<div class="item">'+ img +'</div>');

        galleryItem.appendTo(galleryBox);
    });

    galleryBox.children('.item').eq(currentSlideIndex).addClass('active');
    setTitle(galleryId, currentSlideIndex);
}

function destroyGallry(galleryId){
    $(galleryId + ' .carousel-inner').html("");
}

function createPagination(galleryId, currentSlideIndex){
    var pagination = $(galleryId + ' .pagination');
    var carouselId = $(galleryId).find('.carousel').attr('id');
    var prevLink = $('<li><a href="#'+ carouselId +'" data-slide="prev">«</a></li>');
    var nextLink = $('<li><a href="#'+ carouselId +'" data-slide="next">»</a></li>');

    prevLink.appendTo(pagination);
    nextLink.appendTo(pagination);

    $('a[data-target="'+ galleryId +'"]').each(function(){
        var linkIndex = $(this).index('a[data-target="'+ galleryId +'"]');
        var paginationLink = $('<li><a data-target="#carouselGallery" data-slide-to="'+ linkIndex +'">'+ (linkIndex+1) +'</a></li>');

        paginationLink.insertBefore('.pagination li:last-child');
    });

    setPagination(++currentSlideIndex);
}

function setPagination(currentSlideIndex, reset = false){
    if (reset){
        $('.pagination li').removeClass('active');
    }

    $('.pagination li').eq(currentSlideIndex).addClass('active');
}

function destroyPagination(galleryId){
    $(galleryId + ' .pagination').html("");
}

function setTitle(galleryId, currentSlideIndex){
    var imgAlt = $(galleryId + ' .item').eq(currentSlideIndex).find('img').attr('alt');

    $('.modal-title').text(imgAlt);
}
      });

當照片變大時,我想在照片中添加href鏈接。該怎么辦?

在分配galleryItem ,只需添加<a href=""></a> galleryItem

喜歡:

var galleryItem = $('<div class="item"><a href="your-link">'+ img +'</a></div>');

要將不同的鏈接添加到每個<a>中,請在鏈接中使用額外的屬性“數據鏈接”,

<a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery" data-link="your-link-1">

然后在JS中創建一個變量,然后通過.attr()函數獲取該鏈接,並將其附加到您的鏈接中,例如,

// Get the link from data attribute 'data-link'
var imgLink = $(this).attr('data-link');

// Append the link into the 'galleryItem'
var galleryItem = $('<div class="item"><a href="' + imgLink + '">'+ img +'</a></div>');

看看下面的代碼片段:

 $(document).ready(function(){ $('.link-gallery').click(function(){ var galleryId = $(this).attr('data-target'); var currentLinkIndex = $(this).index('a[data-target="'+ galleryId +'"]'); var imgLink = $(this).attr('data-link'); createGallery(galleryId, currentLinkIndex, imgLink); createPagination(galleryId, currentLinkIndex); $(galleryId).on('hidden.bs.modal', function (){ destroyGallry(galleryId); destroyPagination(galleryId); }); $(galleryId +' .carousel').on('slid.bs.carousel', function (){ var currentSlide = $(galleryId +' .carousel .item.active'); var currentSlideIndex = currentSlide.index(galleryId +' .carousel .item'); setTitle(galleryId, currentSlideIndex); setPagination(++currentSlideIndex, true); }) }); function createGallery(galleryId, currentSlideIndex, imgLink){ var galleryBox = $(galleryId + ' .carousel-inner'); $('a[data-target="'+ galleryId +'"]').each(function(){ var img = $(this).html(); var galleryItem = $('<div class="item"><a href="' + imgLink + '">'+ img +'</a></div>'); galleryItem.appendTo(galleryBox); }); galleryBox.children('.item').eq(currentSlideIndex).addClass('active'); setTitle(galleryId, currentSlideIndex); } function destroyGallry(galleryId){ $(galleryId + ' .carousel-inner').html(""); } function createPagination(galleryId, currentSlideIndex){ var pagination = $(galleryId + ' .pagination'); var carouselId = $(galleryId).find('.carousel').attr('id'); var prevLink = $('<li><a href="#'+ carouselId +'" data-slide="prev">«</a></li>'); var nextLink = $('<li><a href="#'+ carouselId +'" data-slide="next">»</a></li>'); prevLink.appendTo(pagination); nextLink.appendTo(pagination); $('a[data-target="'+ galleryId +'"]').each(function(){ var linkIndex = $(this).index('a[data-target="'+ galleryId +'"]'); var paginationLink = $('<li><a data-target="#carouselGallery" data-slide-to="'+ linkIndex +'">'+ (linkIndex+1) +'</a></li>'); paginationLink.insertBefore('.pagination li:last-child'); }); setPagination(++currentSlideIndex); } function setPagination(currentSlideIndex, reset = false){ if (reset){ $('.pagination li').removeClass('active'); } $('.pagination li').eq(currentSlideIndex).addClass('active'); } function destroyPagination(galleryId){ $(galleryId + ' .pagination').html(""); } function setTitle(galleryId, currentSlideIndex){ var imgAlt = $(galleryId + ' .item').eq(currentSlideIndex).find('img').attr('alt'); $('.modal-title').text(imgAlt); } }); 
 .gallery{ margin-top: 100px; } .gallery-item{ margin-bottom: 30px; } .modal-footer{ text-align: center; } .pagination{ margin: 0; } 
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> <div class="gallery"> <div class="container"> <div class="row"> <div class="col-xs-3 gallery-item"> <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery" data-link="your-link-1"> <img src="http://placehold.it/200x200" class="img-responsive img-gallery" alt="Projekti i pare"> </a> </div> <!-- /.col --> <div class="col-xs-3 gallery-item"> <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery" data-link="your-link-2"> <img src="http://placehold.it/200x200" class="img-responsive img-gallery" alt="Projekti i dyte"> </a> </div> <!-- /.col --> <div class="col-xs-3 gallery-item"> <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery" data-link="your-link-3"> <img src="http://placehold.it/200x200" class="img-responsive img-gallery" alt="Projekti i trete"> </a> </div> <!-- /.col --> <div class="col-xs-3 gallery-item"> <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery" data-link="your-link-4"> <img src="http://placehold.it/200x200" class="img-responsive img-gallery" alt="Projekti i katert"> </a> </div> <!-- /.col --> <div class="col-xs-3 gallery-item"> <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery" data-link="your-link-5"> <img src="http://placehold.it/200x200" class="img-responsive img-gallery" alt="Projekti i peste"> </a> </div> <!-- /.col --> <div class="col-xs-3 gallery-item"> <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery" data-link="your-link-6"> <img src="http://placehold.it/200x200" class="img-responsive img-gallery" alt="Projekti i gjashte"> </a> </div> <!-- /.col --> <div class="col-xs-3 gallery-item"> <a href="#galleryImg1" class="link-gallery" data-toggle="modal" data-target="#modalGallery" data-link="your-link-7"> <img src="http://placehold.it/200x200" class="img-responsive img-gallery" alt="Projekti i shtate"> </a> </div> <!-- /.col --> </div> <!--/.row --> </div> <!-- /.container --> </div> <!-- /.gallery --> <div class="modal fade" id="modalGallery" tabindex="-1" role="dialog" aria-labelledby="modalGalleryLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="modalGalleryLabel">Gallery</h4> </div> <!-- /.modal-header --> <div class="modal-body"> <div id="carouselGallery" class="carousel slide" data-ride="carousel" data-interval="false"> <div class="carousel-inner"> </div> <!-- /.carousel-inner --> </div> <!-- /.carousel --> </div> <!-- /.modal-body --> <div class="modal-footer"> <ul class="pagination"> </ul> </div> <!-- /.modal-footer --> </div> <!-- /.modal-content --> </div> <!-- /.modal-dialog --> </div> <!-- /.modal --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> 

希望這可以幫助!

請用javascript替換一行

 var galleryItem = $('<div class="item"><a href="http://google.com">'+ img +'</a></div>'); 

希望你能得到。

是的,如果您希望將http://google.com替換為另一個,則可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM