2014-04-15 268 views
0

jquery新功能我想要一個圖像,當我點擊它時,我想向上移動一定數量的像素,然後當另一個圖像被點擊後又回到原始狀態?jquery點擊功能問題

到目前爲止,我已經嘗試過這種

$(".wrap").click(function(){ 
    $(this).css("margin-top", "-15px"); 
}); 

我只是無法弄清楚如何使它 由於向下移動到它原來的地方

+1

做它的小提琴,並與我們分享。 –

+0

你的意思是當你再次點擊獲得原始邊際值? –

回答

0

放置在document.ready並使用最新的JQuery源文件:

<script type="text/javascript> 
$(document).ready(function(){ 

$(".wrap").on('click',function(){ 
    $(this).css("margin-top", "-15px"); 
    }); 
}); 

</script> 
0

儘量做到:

$("img.wrap").click(function(){ 
    $("img.wrap").css("margin-top", "0px"); 
    $(this).css("margin-top", "-15px"); 
}); 
+2

在這種情況下'$(「。wrap」)'和'$(this)'沒有區別。 –

+0

不同的是,'$(「。wrap」)'選擇所有具有wrap類的元素,'$(this)'將只定位到被點擊的'.wrap'元素 – Felix

0

嘗試敷在ready()

而且css()可能不適margins所以使用JavaScript marginTop一樣,

$(function(){ 
    $(".wrap").click(function(){ 
     this.style.marginTop='-15px'; 
    }); 
}); 

Live Demo

0

爲了更好的外觀使用Jquery animate

$(".wrap").click(function() { 
$(this).animate({ 
top: "15px", 
}, 500); 
           }); 
0

根據我對你的問題的理解。我創建了一個fiddle來幫助您找到解決方案。請看下面的小提琴和代碼片段。欣賞你的時間。

$('.sample img').bind('click',function(){ 
    $('.sample img').removeAttr('style'); 
    $(this).css('top',-5);  
}); 
0

你想是這樣的:

var mt = $('.wrap').css('margin-top'); 
$(".wrap").click(function(){ 
    if($(this).css('margin-top') == '-15px'){ 
    $(this).css('margin-top',mt); 
    } else { 
    $(this).css("margin-top", "-15px"); 
    } 
});