Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.07.2016, 13:55
Аспирант
Отправить личное сообщение для Хан Посмотреть профиль Найти все сообщения от Хан
 
Регистрация: 20.07.2016
Сообщений: 45

Изменения стилей при втором клике
Всем привет! Есть такая задача: Нужно при клике на картинку сделать её больше в 7 раз (это уже сделано), а при втором клике вернуть исходный размер. Вот код:
<script type="text/javascript">
         $(document).ready(function() {
			$("img").bind("click", function(event) {
				$(event.target).animate( 
				{
					width: $(event.target).width() * 7,
					height: $(event.target).height() * 7
				},
				3000);
			});
		});
</script

<p class="img">
      <img src="images/straus.jpg" style="width: 100px; height: 100px;" alt="" />
</p>
Ответить с цитированием
  #2 (permalink)  
Старый 26.07.2016, 14:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Хан,
toggleClass это всё что вам нужно вместо строк 4-9
Ответить с цитированием
  #3 (permalink)  
Старый 26.07.2016, 14:15
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Ну так запиши исходный размер в какой-нить тег и восстанавливай.
Ответить с цитированием
  #4 (permalink)  
Старый 26.07.2016, 14:31
Аспирант
Отправить личное сообщение для Хан Посмотреть профиль Найти все сообщения от Хан
 
Регистрация: 20.07.2016
Сообщений: 45

А как toggleClass в код вставить? Чтобы при втором клике..?
Ответить с цитированием
  #5 (permalink)  
Старый 26.07.2016, 14:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Хан,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .img img { display: block; margin:  0 ;
     transition: all 3s ease-in-out;
     width: 100px;
     height: 100px;
  }
  .big{
    transform: scale(7);
    padding: 10% 48%;
  }
  .img {
    overflow: hidden;
  }
 .img img.b{
    margin: 0 25%;
     width: 700px;
     height: 700px;
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
   <script>
$(function() {
    $(".img img").on("click", function() {
    $(this).toggleClass("b")
})
});
  </script>
</head>

<body>

<p class="img">
      <img src="http://www.newyork.ru/ic/images.newsru.com/pict/id/large/796764_20051013122324.gif"  alt="" />
</p>




</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 26.07.2016, 14:51
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Хан, если 700% это вечное число, то пишешь правило

.enlarge-image{max-width:700%;max-height:700%;}



и переключаешь его по щелчку

image.addEventListener('click',function(e){
      this.classList.toggle('enlarge-image');
});



и все.
Ответить с цитированием
  #7 (permalink)  
Старый 26.07.2016, 15:47
Аспирант
Отправить личное сообщение для Хан Посмотреть профиль Найти все сообщения от Хан
 
Регистрация: 20.07.2016
Сообщений: 45

Ничего из всего представленного не подошло, но все ровно спасибо, тему не закрываю.
Ответить с цитированием
  #8 (permalink)  
Старый 26.07.2016, 16:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от Хан
не подошло
почему?
Ответить с цитированием
  #9 (permalink)  
Старый 26.07.2016, 16:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Хан,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .img img {
     width: 100px;
     height: 100px;
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
   <script>
$(window).on("load", function() {
    $(".img img").each(function(e, a) {
        a = $(a);
        var b = a.height(),
            c = a.width(),
            d = [{
                height: b,
                width: c
            }, {
                height: 7 * b,
                width: 7 * c
            }];
        a.on("click", function() {
            a.stop().animate(d.reverse()[0], 3E3)
        })
    })
});
  </script>
</head>

<body>

<p class="img">
      <img src="http://www.newyork.ru/ic/images.newsru.com/pict/id/large/796764_20051013122324.gif"  alt="" />
</p>




</body>
</html>
Ответить с цитированием
  #10 (permalink)  
Старый 26.07.2016, 18:03
Аспирант
Отправить личное сообщение для Хан Посмотреть профиль Найти все сообщения от Хан
 
Регистрация: 20.07.2016
Сообщений: 45

Ты крут! Получилось, у меня получалось, только без нажатия, т.е. картинка увеличивается и тут же обратно. А то что ты скинул работает прекрасно, теперь буду разбирать. Спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Удаление старой анимации при клике, и начало новой Megger Events/DOM/Window 0 05.02.2016 17:39
При клике на кнопку переход к якорю и открытие блока Galyanov Элементы интерфейса 19 11.12.2015 21:12
Изменение размера элемента при клике Derekovich Элементы интерфейса 25 05.12.2013 20:45
Изменение фона элемента при клике. psydo Элементы интерфейса 8 28.06.2012 23:53