Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.11.2013, 17:57
Аватар для VINRARUS
Аспирант
Отправить личное сообщение для VINRARUS Посмотреть профиль Найти все сообщения от VINRARUS
 
Регистрация: 01.07.2013
Сообщений: 36

Поворот изображения несколько раз
Доброй ночи.
Нужно что бы возле изображения была кнопка которая бы каждый раз после нажатия переворачивала его на 90 градусов (всего 4 позиции).

Нашел вот скрипт который переворачивает картинку: jQueryRotate

Нужно его заставить срабатывать несколько раз. У меня вот не получилось, срабатывает только 1 раз:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript" src="http://www.xiper.net/examples/js-plugins/effects/jqueryrotate/js/jqueryrotate.2.1.js"></script>
<img src="http://vinrarus.ucoz.net/D.png" alt="" id="rotateImg"/>


<script type="text/javascript">
function BODIX(){
var BODI = 0;
if (BODI == 0){
var BODI = 1;
jQuery("#rotateImg").rotate({animateTo:90});
}
else if (BODI == 1){
var BODI = 2;
jQuery("#rotateImg").rotate({animateTo:180});
}
else if (BODI == 2){
var BODI = 3;
jQuery("#rotateImg").rotate({animateTo:270});
}
else if (BODI == 3){
var BODI = 0;
jQuery("#rotateImg").rotate({animateTo:360});
}}
</script>
<BR>
<a onclick="BODIX()" href="javascript://">90</a>
<BR><BR>
<a onclick="jQuery('#rotateImg').rotate({animateTo:0})" href="javascript://">Возврат</a>

Последний раз редактировалось VINRARUS, 11.11.2013 в 18:01.
Ответить с цитированием
  #2 (permalink)  
Старый 11.11.2013, 18:23
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

проблемма в том что каждый раз перезаписываете переменную BODI

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript" src="http://www.xiper.net/examples/js-plugins/effects/jqueryrotate/js/jqueryrotate.2.1.js"></script>
<img src="http://vinrarus.ucoz.net/D.png" alt="" id="rotateImg"/>


<script type="text/javascript">
var BODI = 0;
function BODIX(){
if (BODI == 0){
 BODI = 1;
jQuery("#rotateImg").rotate({animateTo:90});
}
else if (BODI == 1){
 BODI = 2;
jQuery("#rotateImg").rotate({animateTo:180});
}
else if (BODI == 2){
 BODI = 3;
jQuery("#rotateImg").rotate({animateTo:270});
}
else if (BODI == 3){
 BODI = 0;
jQuery("#rotateImg").rotate({animateTo:360});
}}
</script>
<BR>
<a onclick="BODIX()" href="javascript://">90</a>
<BR><BR>
<a onclick="jQuery('#rotateImg').rotate({animateTo:0})" href="javascript://">Возврат</a>
Ответить с цитированием
  #3 (permalink)  
Старый 11.11.2013, 18:33
Аватар для VINRARUS
Аспирант
Отправить личное сообщение для VINRARUS Посмотреть профиль Найти все сообщения от VINRARUS
 
Регистрация: 01.07.2013
Сообщений: 36

Сообщение от animhotep
проблемма в том что каждый раз перезаписываете переменную BODI
Аа, спасибо.
Смешная наверно ошибка.
Ответить с цитированием
  #4 (permalink)  
Старый 11.11.2013, 18:50
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

не такая и смешная. понять области видимости переменных это не jQuery подключить)
Ответить с цитированием
  #5 (permalink)  
Старый 11.11.2013, 19:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

а может достаточно одной таблетки ... ?
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript" src="http://www.xiper.net/examples/js-plugins/effects/jqueryrotate/js/jqueryrotate.2.1.js"></script>
<img src="http://vinrarus.ucoz.net/D.png" alt="" id="rotateImg"/>
<script type="text/javascript">
var BODI = 0, angle = 0;
function BODIX(){
jQuery("#rotateImg").rotate({animateTo: angle+=90 % 360});
}
</script>
<BR>
<a onclick="BODIX()" href="javascript://">90</a>
<BR><BR>
<a onclick="jQuery('#rotateImg').rotate({animateTo:0})" href="javascript://">Возврат</a>

</body>

</html>

Последний раз редактировалось рони, 11.11.2013 в 19:17.
Ответить с цитированием
  #6 (permalink)  
Старый 11.11.2013, 19:22
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

А что, такой способ не работает?
jQuery("#rotateImg").rotate({animateTo: '+=90'});
Ответить с цитированием
  #7 (permalink)  
Старый 11.11.2013, 19:31
Аватар для VINRARUS
Аспирант
Отправить личное сообщение для VINRARUS Посмотреть профиль Найти все сообщения от VINRARUS
 
Регистрация: 01.07.2013
Сообщений: 36

Сообщение от рони
а может достаточно одной таблетки ... ?
Не, так запросто можно забыть начальную ориентацию.
А в предыдущем варианте видно когда картинка возвращается в начальную ориентацию (только "animateTo:360" в коде сменить на "animateTo:0").
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При повторении несколько раз animate - рассинхрон... Petja jQuery 4 21.05.2013 12:58
HTML5 Canvas. Поворот изображения Valdemor Элементы интерфейса 3 29.04.2013 18:12
Confirm несколько раз. prowoke jQuery 3 05.09.2012 17:14
[GM] Нежалательный запуск скрипта несколько раз VitAl2013 Firefox/Mozilla 5 01.08.2012 11:58
Обработчик click вызывается несколько раз или не всегда вызывается OlegJquery jQuery 2 21.07.2011 20:37