2015-04-10 4 views
-1

Im пытаясь создать эффект масштабирования, как этот http://jsfiddle.net/SWDhG/ Но я стараюсь, чтобы открыть <a href="imglink"> ссылки не на <img src=""> тег, так что мне нужна сомы помощь с JQuery.продукта Увеличить Эффект WooCommerce

HTML:

<div class="images"> 
    <a href="http://us.123rf.com/400wm/400/400/teddy2007b/teddy2007b0903/ 
     teddy2007b0903‌​00008/4539531-cup-and-bouquet-of-flowers-decorative-floral- 
     background-for-banner-‌​vector.jpg" class="zoom" title=""> 
    <img src="http://3.bp.blogspot.com/-BKBDFTVyTVs/TdmU9SuHU5I/AAAAAAAAASk/ 
     e7oUIN34cc4/s‌​320/blue+salvia.jpg" class="attachment-shop_single wp-post-image"/> 
    </a> 
</div> 

Это исходный код

$(function() { 
    $('li a').click(function() { 
     $('div img').attr('src', $(this).find('img').attr('src')); 
     $('div').show(); 
     return false; 
    }); 

    $('div').mousemove(function(e){ 
     var h = $(this).find('img').height(); 
     var vptHeight = $(document).height(); 
     var y = -((h - vptHeight)/vptHeight) * e.pageY; 

     $('div img').css('top', y + "px"); 
    }); 

    $('div').click(function(){ 
     $('div').hide(); 
    }); 
}); 
+0

Не могли бы вы также разместить свой html? – zfrisch

+0

'

' @zfrisch здесь! – Esster

+0

Эсстер, пожалуйста, обновите вопрос с помощью HTML-кода, а не публикуйте его как комментарий. –

ответ

0

Чтобы получить гиперссылкой адрес:

$('li a').click(function() { 
    var link = $(this).attr('href'); 
    // do something with it 
    return false; 
}); 
+0

Хорошо, можете ли вы создать jsfiddle с полным кодом эффекта масштабирования? – Esster

+0

@ Эстер вы можете попытаться включить полезный ответ, который я предоставил, в свою собственную скрипку? Я рад помочь вам с любыми проблемами, с которыми вы можете столкнуться. – wahwahwah

+0

@ Esster Я предоставил вам скрипку, потому что, по-моему, иногда это помогает увидеть, чтобы учиться, но я согласен с wahwahwah, вы обязательно должны заглянуть и посмотреть, какие изменения были сделаны и что они сделали. Не стесняйтесь задавать вопросы. – zfrisch

1

http://jsfiddle.net/SWDhG/36/

Вот скрипку, который делает то, что вы хотеть.

$(function() { 
$('li a').click(function() { 

//here's the change --> 
    $('div img').attr('src', $(this).attr('href')); 
// we change the information we take from the element to the 
// href attribute of the element, $(this), which is assigned 
// to the element that caused the event, the anchor tag 
    $('div').show(); 
    return false; 
}); 

$('div').mousemove(function(e){ 
    var h = $(this).find('img').height(); 
    var vptHeight = $(document).height(); 
    var y = -((h - vptHeight)/vptHeight) * e.pageY; 

    $('div img').css('top', y + "px"); 
}); 

$('div').click(function(){ 
    $('div').hide(); 
}); 
}); 

Для краткости я использовал свой собственный атрибут href для демонстрационного образа.

+0

вы можете достичь - '$ (this) .find ('img'). Parent(). Attr ('href');' с just - '$ (this) .attr ('href');' – wahwahwah

+0

@wahwahwah вы правы, и это, очевидно, быстрее, поэтому я обновляю свой ответ. – zfrisch

Смежные вопросы