Javascript.RU

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

jQuery метод hover()
Добрый день уважаемые. Подскажите, пожалуйста, почему мой метод hover() работает не адекватно, и как его поправить?

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Preloader</title>
	<style type="text/css">
.circle {
position: relative;
width: 76px;
height: 76px;
border-bottom: 1px solid #d7d7d5;
border-radius: 50%;
background-color: #E1E1E1;
opacity: .9;
z-index: 1;
}

.innerArcOrange{
   width: 74px;
   height: 74px;
   border-radius: 50%;
   background: linear-gradient(to top, #FF7D00 5%,  #FB7E01 50%, #FC5200 51%, #FC5101);
	overflow: hidden;
	opacity: .99;
	z-index: 6;
}

.hid {	
	margin-left: 40px;
	margin-top: -15px;
	width: 50px;
	height: 50px;
	transform-origin: left bottom; 
	perspective: 34px;
	transform: rotate(45deg);
	background-color: white;
 	z-index: -1;
}


	</style>
	  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<div class="circle">	
	<div class="innerArcOrange">
		<div class="hid"></div>
	</div>
</div>	
<script type="text/javascript">
	window.onload = function () { 

	console.log("Evresing good");
	var $circle= $('.circle'),
		  $firstArc =$('.hid');
 $circle.hover( function(){
 	console.log("IN");

		rotate(45);
       function rotate(degree) {
           // For webkit browsers: e.g. Chrome
          $firstArc.css({ WebkitTransform: 'rotate(' + degree + 'deg)'});
           // For Mozilla browser: e.g. Firefox
          $firstArc.css({ '-moz-transform': 'rotate(' + degree + 'deg)'});
           setTimeout(function() { rotate(degree + 10); }, 60);  
       }
;}, 

 	function(){
 	console.log("OUT");	
    $firstArc.css({ WebkitTransform: 'rotate(' + 45 + 'deg)'});
 	$firstArc.css({ '-moz-transform': 'rotate(' + 45 + 'deg)'});
 });  
}
</script>
</body>
</html>

Я хочу что б при выходи курсора из объекта мой элемент $firstArc плавно возвращался в его начальные 45град. При этом, если на текущем этапе угол <180 +количество оборотов 2Pi он это б делал против часовой стрелки, а если >=180 +количество оборотов 2Pi то за часовой стрелкой
Ещё вопрос, как правильно поставить break? что б оно мне не прибавляло +10градусов когда курсор не в объекте?
Ответить с цитированием
  #2 (permalink)  
Старый 26.11.2016, 12:37
Аватар для dd_smol
Кандидат Javascript-наук
Отправить личное сообщение для dd_smol Посмотреть профиль Найти все сообщения от dd_smol
 
Регистрация: 08.03.2015
Сообщений: 131

Сей конструкцией зацикливаете в бесконечность.
setTimeout(function() { rotate(degree + 10); }, 60);
Ответить с цитированием
  #3 (permalink)  
Старый 26.11.2016, 13:37
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

Сообщение от dd_smol
Сей конструкцией зацикливаете в бесконечность.
Эммм, а как это дело поправить ? Через
setInterval(function() { rotate(degree + 10); }, 60);
оно дикую ерись выдает), или тут как-то через цикл надо писать ?
Ответить с цитированием
  #4 (permalink)  
Старый 26.11.2016, 22:13
Аватар для dd_smol
Кандидат Javascript-наук
Отправить личное сообщение для dd_smol Посмотреть профиль Найти все сообщения от dd_smol
 
Регистрация: 08.03.2015
Сообщений: 131

Хрен редьки не слаще ...

Есть готовый плагин jQueryRotate с решением данной задачи ... если в практических же целях интересуетесь то можете посмотреть в исходниках как автор это все реализует.
Ответить с цитированием
  #5 (permalink)  
Старый 27.11.2016, 11:07
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

Спасибо, за помощь
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery hover оставляет шлейф Floyd Элементы интерфейса 4 20.05.2014 16:25
Ни один скрипт и плагин не видит Jquery razorg1991 jQuery 5 30.03.2014 14:51
Динамически загружаемая jQuery и jQuery-функции в одном файле 67bytes Общие вопросы Javascript 6 06.03.2013 09:01
Установка цвета через функцию .css() сбрасывает цвет для :hover xintrea jQuery 4 18.08.2012 15:38
jquery preventDefault метод InviS jQuery 5 01.07.2010 08:22