Проблемы с функцией JQuery Click

0

Новое в jQuery Я пытаюсь получить изображение, которое, когда я нажимаю на него, хочу переместиться на определенное количество пикселей, а затем, когда будет нажато другое изображение, вернитесь в исходное состояние?

до сих пор я пробовал это

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

Я просто не могу понять, как заставить его двигаться вниз до своего первоначального места.

  • 1
    Сделайте из этого скрипку и поделитесь с нами.
  • 0
    Вы имеете в виду, когда вы нажимаете снова, чтобы получить первоначальное значение для верхнего предела?
Теги:

6 ответов

0

По моему пониманию вашего вопроса. Я создал скрипку, чтобы помочь вам найти решение. Пожалуйста, посмотрите на скрипку и фрагмент кода ниже. Цените свое время.

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

Для лучшего просмотра используйте Jquery aimate

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

Попробуйте обернуть его в готовом()

И css() может не применять margins поэтому используйте javascript marginTop вроде,

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

Демо-версия

0

Стараться сделать:

$("img.wrap").click(function(){
    $("img.wrap").css("margin-top", "0px");
    $(this).css("margin-top", "-15px");
});
  • 2
    В этом случае нет разницы между $(".wrap") и $(this) .
  • 0
    Это другое, $(".wrap") все элементы с помощью класса wrap а $(this) будет нацелен только на .wrap элемент .wrap
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");
  }
});
0

Поместите его в document.ready и используйте последний исходный файл JQuery:

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

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

</script>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню