2013-02-15 2 views
1

У меня возникла проблема, заключающаяся в том, чтобы сделать паузу ProgressBar при наведении курсора мыши и играть в мыши с помощью Flexslider. Когда я приостанавливаю Flexslider, всегда есть изображение с задержкой и изображение Flexslider и ProgressBar. Как я могу сделать изображение ProgressBar и Flexslider нагрузки одновременно.Проблема с приостановкой FlexBlayer ProgressBar

ВОТ КОД: http://jsfiddle.net/rhPWJ/39/

jQuery(window).load(function() { 
jQuery('.flexslider').flexslider({ 
animation: "fade", 
controlNav: false, 
useCSS: false, 
controlNav: false, 
directionNav: false, 
pauseOnHover: true, 
smoothHeight: true, 

animationSpeed: 1800, 

after: function(slider) { 
jQuery('.slide-caption').show("slide", { direction: "down" }, 700); 
}, 

before: function(slider) { 
jQuery('.slide-caption').hide("fade", 1800); 
}, 

}); 
}); 

jQuery(window).load(function() { 
function run() { 
jQuery('.progress_bar').animate({'width': "50%"}, 4000, run).width(0); 
} 
run(); 

    jQuery('.flexslider').hover(
     function() { 
     jQuery('.flexslider').flexslider('pause'); 
     jQuery('.progress_bar').pause(); 
     }); 

     jQuery('.flexslider').mouseout(
     function() { 
     jQuery('.flexslider').flexslider('play'); 
     jQuery('.progress_bar').resume(); 
     }); 
}); 
+0

Я думаю, что проблема FlexSlider. если вы используете «play», он перезапускает таймер для анимации, поэтому индикатор прогресса не синхронизирован. Я не вижу, как можно исправить это, за исключением некоторого кода. например, вы проверяете время с самого начала и устанавливаете время анимации на разницу между вашим определенным временем и временем, прошедшим til hover. Но не забудьте сбросить время запуска нового слайда. – gulty

+0

Я посмотрю, спасибо. – user2014114

ответ

0

я, наконец, получил эту работу, КОД: http://jsfiddle.net/rhPWJ/92/

jQuery(window).load(function() { 
    jQuery('.flexslider').flexslider({ 

      animation: "fade", 
      easing: "jswing", 
      controlNav: false, 
      useCSS: false, 
      pauseOnAction: false, 
      pauseOnHover: true, 
      smoothHeight: true, 
      controlNav: false, 
      directionNav: false, 
      slideshowSpeed: 5000, 
      animationSpeed: 1800, 

      // animate caption 
      after: function(slider) { 
      jQuery('.slide-caption').show("slide", { direction: "down"}, 700); 
      }, 

      before: function(slider) { 
      jQuery('.slide-caption').hide("fade", 1800); 
      }, 

      // image loader 
      start: function(slider) { 
      slider.removeClass('loading'); 
      } 
      }); 

      jQuery('.slide-caption').show("slide", { direction: "down"}, 700); 

      function run() { 
      jQuery('.progress_bar').animate({'width': "300px"}, 5000, run).width(0); 
      } 
      run(); 

     jQuery('.flexslider').hover(
     function() { 
     jQuery('.progress_bar').pause(); 
     }); 

     jQuery('.flexslider').mouseout(
     function() { 
     jQuery('.progress_bar').animate({'width': "300px"}, 5000, run).width(0); 
     }); 
     });