Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: помогите разбораться с функцией step(progress)
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » помогите разбораться с функцией step(progress)

Страниц (1): [1]
 

1. p1us - 27 Апреля, 2012 - 07:45:41 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1.         <div id="poloska3"  style="width: 500px; height: 40px;"><div id="colored_poloska3" style="background-color: red; width: 10px; height: 40px;"></div></div>



CODE (javascript):
скопировать код в буфер обмена
  1.         $('#poloska3').click(function (){        
  2.   var to = 500;
  3.  
  4.  animate({
  5.     duration: 1000,
  6.     step: function(progress) { $('#colored_poloska3').css({'width': to*progress + "px"});
  7.     }
  8.   });
  9.  });
  10.  

мне несколько не знакома конструкция с animate в таком виде, знающие подскажите пожалуйста.
2. Viper - 27 Апреля, 2012 - 08:55:54 - перейти к сообщению
p1us пишет:
animate в таком виде
в api описано. http://api[dot]jquery[dot]com/animate/ второй метод вызова.
3. p1us - 27 Апреля, 2012 - 09:00:59 - перейти к сообщению
как раз тут и сижу, втыкаю)
4. Viper - 27 Апреля, 2012 - 11:13:57 - перейти к сообщению
p1us что конкретно непонятно или не получается?
5. p1us - 27 Апреля, 2012 - 12:39:20 - перейти к сообщению
вот теперь с delta не ясно, куда подевались наши now, fx?
и почему мы пишем duration: duration || 1000 и delta: delta...
CODE (javascript):
скопировать код в буфер обмена
  1. function move(elem, delta, duration) {
  2.   var to = 500;
  3.    
  4.   animate({
  5.     delay: 10,
  6.     duration: duration || 1000,
  7.     delta: delta,
  8.     step: function(delta) {
  9.       elem.style.left = to*delta + "px"  
  10.     }
  11.   });
  12.    
  13. }


а вообще хочу научиться делать сложные анимации. Закатив глазки
6. Viper - 27 Апреля, 2012 - 13:10:39 - перейти к сообщению
p1us

запись вида
означает что в метод будет передан параметр delta с значением delta(delta где-то выше определено через var delta = somevalue;).

Запись
CODE (htmlphp):
скопировать код в буфер обмена
  1. duration: duration || 1000
это сокращенный if. Т.е.
так же как и в php так и в javascript можно вместо
CODE (htmlphp):
скопировать код в буфер обмена
  1. if (cond || cond == 1 || cond != false) {
  2.         $var = 123;
  3. } else {
  4.         $var = 456;
  5. }

написать
CODE (htmlphp):
скопировать код в буфер обмена
  1. $var = (cond || cond == 1 || cond != false) ? 123 : 456;

p1us пишет:
а вообще хочу научиться делать сложные анимации
все в ваших руках Улыбка Ничего сложного тут нет. К тому же есть куча готовых эффектов в jQuery UI.
7. p1us - 28 Апреля, 2012 - 06:41:29 - перейти к сообщению
спасибо) будут вопросы обязательно еще задам)
(Добавление)
CODE (javascript):
скопировать код в буфер обмена
  1.     $("#poloska5").click(function(){
  2. elem1 = $('#colored_poloska5');
  3. elem1.animate({
  4. var from: 10;
  5. var to: 500,
  6. delay: 20,
  7. duration: 3000,
  8. delta: bounce,
  9. step: function(delta){
  10. var result = (to-from)*delta + from;
  11. elem1.css({'width', Math.ceil(result)+'px'});
  12.  
  13.  
  14. }
  15. });
  16.  
  17. });


не работает =( что не так?

и так попробовал, но все это извращения какие-то
CODE (javascript):
скопировать код в буфер обмена
  1.   $("#poloska5").click(function(){
  2. elem1 = $('#colored_poloska5');
  3. elem1.animate({
  4. var from: 10,
  5. var to: 500,
  6. delay: 20,
  7. duration: 3000,
  8. delta: bounce,
  9. step: function(delta){
  10. var result = (to-from)*delta + from};},{
  11. elem1.css({'width', Math.ceil(result)+'px'});
  12.  
  13.  
  14. }
  15. });
  16.  
  17. });

видимо просто не улавливаю суть, хм
8. Viper - 28 Апреля, 2012 - 09:03:19 - перейти к сообщению
p1us консоль показывает ошибки?
9. p1us - 28 Апреля, 2012 - 09:21:23 - перейти к сообщению
пробую

 

Powered by ExBB FM 1.0 RC1