2016-10-27 4 views
0

Ich versuche, die #lienImghref zu ändern, wenn die .product_thumbnailsli a geklickt wird, aber es scheint nicht zu funktionieren. Merkwürdigerweise wird die .primary_image aktualisiert ...Jquery ändern .prop href

<script type="text/javascript" charset="utf-8"> 
 
    $(document).ready(function() { 
 
    $(".product_thumbnails li a").click(function(e) { 
 
     var imglink = $(this).attr("href"); 
 
     return e.preventDefault(); 
 
     $("#lienImg").prop("href", imglink); 
 
     $(".primary_image").attr("src", imglink); 
 
     $(".product_thumbnails li").removeClass("active"); 
 
     $(this).parent().addClass("active"); !1 
 
    }) 
 
    }); 
 
    </script>
<div class="product_images"> 
 
    <a href="https://images.bigcartel.com/product_images/187353065/produit_08-294HR.jpg?auto=format&amp;fit=max&amp;w=1200" class="MagicZoom" rel="zoom-position: inner" id="lienImg" title="" style="position: relative; display: inline-block; text-decoration: none; outline: 0px; width: 576px;"><img src="https://images.bigcartel.com/product_images/187353089/produit_08-304HR.jpg?auto=format&amp;fit=max&amp;h=1000&amp;w=1000" alt="Image of Bol Or" class="primary_image" style="opacity: 1;"><div class="MagicZoomBigImageCont MagicBoxShadow" style="overflow: hidden; z-index: 100; top: -100000px; position: absolute; width: 576px; height: 384px; left: 0px; opacity: 0;"><div class="MagicZoomHeader" style="position: relative; z-index: 10; left: 0px; top: 0px; padding: 3px; display: none; visibility: hidden;"></div><div style="overflow: hidden;"><img src="https://images.bigcartel.com/product_images/187353065/produit_08-294HR.jpg?auto=format&amp;fit=max&amp;w=1200" style="padding: 0px; margin: 0px; border: 0px; width: auto; height: auto; position: relative; left: -350px; top: -413px;"></div><div style="color: rgb(255, 0, 0); font-size: 10px; font-weight: bold; font-family: Tahoma; position: absolute; width: 100%; display: none; left: 0px; top: 364px;">Please upgrade to full version of Magic Zoom™</div></div><div class="MagicZoomPup" style="z-index: 10; position: absolute; overflow: hidden; display: none; visibility: hidden; width: 276px; height: 184px; opacity: 0.5; left: 193px; top: 200px;"></div><div class="MagicZoomHint" style="display: block; overflow: hidden; position: absolute; visibility: visible; z-index: 1; left: 2px; right: auto; top: 2px; bottom: auto; opacity: 0.75; max-width: 572px;">Zoom</div></a> 
 
    
 
    <ul class="product_thumbnails"> 
 
     
 
     <li class=""><a href="https://images.bigcartel.com/product_images/187353065/produit_08-294HR.jpg?auto=format&amp;fit=max&amp;h=1000&amp;w=1000"><img src="https://images.bigcartel.com/product_images/187353065/produit_08-294HR.jpg?auto=format&amp;fit=max&amp;w=300" alt="Image of Bol Or"></a></li> 
 
     
 
     <li class="active"><a href="https://images.bigcartel.com/product_images/187353089/produit_08-304HR.jpg?auto=format&amp;fit=max&amp;h=1000&amp;w=1000"><img src="https://images.bigcartel.com/product_images/187353089/produit_08-304HR.jpg?auto=format&amp;fit=max&amp;w=300" alt="Image of Bol Or" data-pin-nopin="true"></a></li> 
 
     
 
     <li><a href="https://images.bigcartel.com/product_images/187353110/produit_08-311HR.jpg?auto=format&amp;fit=max&amp;h=1000&amp;w=1000"><img src="https://images.bigcartel.com/product_images/187353110/produit_08-311HR.jpg?auto=format&amp;fit=max&amp;w=300" alt="Image of Bol Or" data-pin-nopin="true"></a></li> 
 
     
 
    </ul> 
 
    
 
</div>

Antwort

0

Warum Rückkehr mit vor dem Code? Debug in der Konsole ausgeführt wird, werden Sie das Problem finden. Update-Code wie unten, Es funktioniert gut.

+0

Danke, aber es funktioniert nicht in seinem Kontext ... Siehe hier: http://www.marieevedompierre.com/product/bol-golden –

0

Da Web-Entwickler sagte preventDefault() -Funktion nicht benötigt, um zurückgegeben werden, müssen Sie auch auf die IMG innerhalb Ihrer div zeigen.

$(document).ready(function() { 
 
    $(".product_thumbnails li a").click(function(e) { 
 
     e.preventDefault(); 
 
     var imglink = $(this).attr("href"); 
 
    \t $("#lienImg > img").prop("src", imglink); 
 
      // Notice you need to point to a image 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div class="product_images"> 
 
    <a href="https://images.bigcartel.com/product_images/187353065/produit_08-294HR.jpg?auto=format&amp;fit=max&amp;w=1200" class="MagicZoom" rel="zoom-position: inner" id="lienImg" title="" style="position: relative; display: inline-block; text-decoration: none; outline: 0px; width: 576px;"><img src="https://images.bigcartel.com/product_images/187353089/produit_08-304HR.jpg?auto=format&amp;fit=max&amp;h=1000&amp;w=1000" alt="Image of Bol Or" class="primary_image" style="opacity: 1;"><div class="MagicZoomBigImageCont MagicBoxShadow" style="overflow: hidden; z-index: 100; top: -100000px; position: absolute; width: 576px; height: 384px; left: 0px; opacity: 0;"><div class="MagicZoomHeader" style="position: relative; z-index: 10; left: 0px; top: 0px; padding: 3px; display: none; visibility: hidden;"></div><div style="overflow: hidden;"><img src="https://images.bigcartel.com/product_images/187353065/produit_08-294HR.jpg?auto=format&amp;fit=max&amp;w=1200" style="padding: 0px; margin: 0px; border: 0px; width: auto; height: auto; position: relative; left: -350px; top: -413px;"></div><div style="color: rgb(255, 0, 0); font-size: 10px; font-weight: bold; font-family: Tahoma; position: absolute; width: 100%; display: none; left: 0px; top: 364px;">Please upgrade to full version of Magic Zoom™</div></div><div class="MagicZoomPup" style="z-index: 10; position: absolute; overflow: hidden; display: none; visibility: hidden; width: 276px; height: 184px; opacity: 0.5; left: 193px; top: 200px;"></div><div class="MagicZoomHint" style="display: block; overflow: hidden; position: absolute; visibility: visible; z-index: 1; left: 2px; right: auto; top: 2px; bottom: auto; opacity: 0.75; max-width: 572px;">Zoom</div></a> 
 
    
 
    <ul class="product_thumbnails"> 
 
     
 
     <li class=""><a href="https://images.bigcartel.com/product_images/187353065/produit_08-294HR.jpg?auto=format&amp;fit=max&amp;h=1000&amp;w=1000"><img src="https://images.bigcartel.com/product_images/187353065/produit_08-294HR.jpg?auto=format&amp;fit=max&amp;w=300" alt="Image of Bol Or"></a></li> 
 
     
 
     <li class="active"><a href="https://images.bigcartel.com/product_images/187353089/produit_08-304HR.jpg?auto=format&amp;fit=max&amp;h=1000&amp;w=1000"><img src="https://images.bigcartel.com/product_images/187353089/produit_08-304HR.jpg?auto=format&amp;fit=max&amp;w=300" alt="Image of Bol Or" data-pin-nopin="true"></a></li> 
 
     
 
     <li><a href="https://images.bigcartel.com/product_images/187353110/produit_08-311HR.jpg?auto=format&amp;fit=max&amp;h=1000&amp;w=1000"><img src="https://images.bigcartel.com/product_images/187353110/produit_08-311HR.jpg?auto=format&amp;fit=max&amp;w=300" alt="Image of Bol Or" data-pin-nopin="true"></a></li> 
 
     
 
    </ul> 
 
    
 
</div>

+0

#lienImg ist ein Link kein Bild ... Sie können den Code in sehen sein Kontext hier: http://www.marieevedompierre.com/product/bol-golden –

0

Entfernen Sie die Rückkehr e.preventDefault(); da es Ihren Code sofort nach der Initialisierung des var imglink bricht.

$(".product_thumbnails li a").click(function(e) { 
    e.preventDefault(); 
    var imglink = $(this).prop("href"); 
    $("#lienImg").prop("href", imglink); 
    // ... extra code 
}); 

Diese Zeile im Code:

$("#lienImg").prop("href", imglink); 

bereits verändert das href Attribut lienImg auf den geklickt product_thumbnails Link.

Auf der anderen Seite der .primary_image aufgrund dieser Zeile aktualisiert:

$(".primary_image").attr("src", imglink); 

es wird nicht das primary_image Image Änderung des geklickt product_thumbnails Bild machen zu entfernen.