Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   отмена повторного выполнения события (https://javascript.ru/forum/events/32144-otmena-povtornogo-vypolneniya-sobytiya.html)

frant32 05.10.2012 23:50

сделал это так

<html>
<body>
<style>
body {height:1000px;}
div { width:100px; height:50px; background:#000; position:fixed;}
</style>
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>

<div id = "id1"> dfdf </div>

<script>
var doc = $(document);
var i = 0;
doc.scroll(function(){
  if(i>0){ 
     return 
  }
  
  if(doc.scrollTop() == 0){
	 i++;
	 $('#id1').css('opacity','1');
	 $('#id1').stop().animate({height:50},500);
  }else{
     i--;
     $('#id1').css('opacity','0.4');
     $('#id1').stop().animate({height:10},500);	 
  }
});


</script>

</body>
</html>


не знаю на сколько это правильно , но работает так как хочу)))

и кто мне обьяснить почему без stop(); анимация работает не правильно ?

Your 06.10.2012 07:22

<!DOCTYPE html>
<html>
<head>
	<style type="text/css">
		html, body{height:1000px;}
		.block{width:300px;height:300px;background:#000000;position:fixed;}
	</style>
	<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
	<script type="text/javascript">
		$(window).scroll(function(){
			var scrolls=$.browser.msie?document.body.scrollTop:$(this).scrollTop();
			if(0<scrolls) {
				$('.block').css('opacity','0.5');
			} else {
				$('.block').css('opacity','1');
			}
		});
	</script>
</head>
<body>
	<div class="block"></div>
</body>
</html>

frant32 06.10.2012 12:23

Цитата:

Сообщение от Your (Сообщение 208487)
<!DOCTYPE html>
<html>
<head>
	<style type="text/css">
		html, body{height:1000px;}
		.block{width:300px;height:300px;background:#000000;position:fixed;}
	</style>
	<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
	<script type="text/javascript">
		$(window).scroll(function(){
			var scrolls=$.browser.msie?document.body.scrollTop:$(this).scrollTop();
			if(0<scrolls) {
				$('.block').css('opacity','0.5');
			} else {
				$('.block').css('opacity','1');
			}
		});
	</script>
</head>
<body>
	<div class="block"></div>
</body>
</html>

спаибо но этот скрипт выполняет $('.block').css('opacity','0.5'); на протяжении всего скрола , не один рас..

cyber 06.10.2012 12:25

это не особо страшно


Часовой пояс GMT +3, время: 12:50.