2017-04-04 32 views
0

我實現了這個真棒codepen到我的網站: https://codepen.io/ccrch/pen/yyarazJQuery的點擊目標

$('.display-image') 
.on('change', function(){ 
    $(this).children('img').css({'transform': 'scale('+ $(this).attr('data-scale') +')'}); 
}) 
.on('mouseover', function(){ 
    $(this).children('img').css({'transform': 'scale('+ $(this).attr('data-scale') +')'}); 
}) 
.on('mouseout', function(){ 
    $(this).children('img').css({'transform': 'scale(1)','transition': 'transform .3s ease-out'}); 
}) 
.on('mousemove', function(e){ 
    $(this).children('img').css({'transform-origin': ((e.pageX - $(this).offset().left)/$(this).width()) * 100 + '% ' + ((e.pageY - $(this).offset().top)/$(this).height()) * 100 +'%'}); 
}) 

問題是我指定一個漂亮的滑塊對象:當浮油過濾目標 http://kenwheeler.github.io/slick/

而且對象'.display-image'不再註冊這些點擊事件。我如何着手重新定位這個對象?

回答

0

考慮給滑塊一個ID,然後引用它作爲$('#id')而不是風格類(這是jQuery如何查找點顯示圖像)。

+0

在滑塊中的圖像在for循環中產生;所以我需要有唯一的ID。然後,jquery需要查看每個ID或通配符。這是否使它有所不同? – Tincdawg

+0

通配符應該可以工作。 Ex'$('img [name^=「startsWithSomething」]') – Iceman

+0

感謝冰人 - 但這是行不通的。還有其他建議嗎? – Tincdawg

0

我制定瞭解決方案。爲了使代碼看的而不必在事件監聽器的任何變化,:

$('.display-image').on('click', function() {*code here*}); 

我改成

$(document).on('click', '.display-image', function() {*code here*});