2014-01-21 3 views
0

Я сделал вращающийся слайдер в javascript и css. Функция Javascript делает его поворотным. Когда я в первый раз загружаю страницу, она работает нормально, но когда я перехожу к какой-либо другой странице, а затем возвращаюсь обратно, вызывается функция js, но слайдер не останавливается на повороте мыши. Я сделал функцию JS, что при наведении указателя мыши на DIV остановки вращения, когда она выходит из функции называется again.Here мой JS кодПочему функция javascript перестает работать после возвращения?

var timer; 
     window.onload = function() 
     { 
      myTimer(); 
     }; 

var $i=1; 
function myTimer(){ 
       timer=setInterval(function(){ 
        if($i<6){ 
         closeTab(); 
         openTab($i); 
         $i++; 
        } 
        else 
        {$i=1;} 
       },2000); 
      } 
closeTab(); 

      var selectedSlider ; 
      function closeTab() 
      { 
       var $this = $('#accordion > li'); 
       //$width=$(window).width(); 
       //$this.stop().animate({'width':'110px'},500); 
       $this.stop().animate({'width':'7%'},500); 
       $('.heading',$this).stop(true,true).fadeIn(); 
       $('.description',$this).stop(true,true).fadeOut(500); 
       $('.bgDescription',$this).stop(true,true).slideUp(700); 
      } 
      function openTab(id) 
      { 
       var $this = $('.bg'+id);           
       //$this.stop().animate({'width':'450px'},500); 
       $this.stop().animate({'width':'70%'},500); 
       $('.heading',$this).stop(true,true).fadeOut(); 
       $('.bgDescription',$this).stop(true,true).slideDown(500); 
       $('.description',$this).stop(true,true).fadeIn(); 
      } 

openTab(1); 
      $(function() { 
       $('#accordion > li').hover(
       function() { 
        console.log("in mouse hover"); 
        var $this = $(this); 
        selectedSlider = $this.attr("class").replace("bg", ""); 
        closeTab(); 
        openTab(selectedSlider); 
        clearInterval(timer); 
       }, 

       function() { 

       } 
      ); 
      }); 
$('#accordion > li').mouseleave(function(){ 
       console.log("in mouse leave"); 
       myTimer(); 
      }); 
+0

Что-то подобное произошло со мной однажды, потому что браузер кешировал javascript (неправильный путь). –

+0

так Дэвид какое решение вы реализовали для решения этого? –

+0

Я изменил настройки кэширования в файле .htaccess на моем сервере Apache. @jailedabroad –

ответ

0

Как @David сказал браузер был кэширование JavaScript, поэтому код для эффекта зависания не работает, как вы выразились таким образом, что при вызове js-файла событие hover - это огонь, но здесь js-файл уже кэшируется.

Вы можете попробовать это, вместо того, чтобы использовать функцию зависания анонимно, положите его внутри window.onload.

+0

такой же результат ...... –

+0

Вы очистили свой кеш браузера до внедрения изменений? –

+0

yes i have ............. –

Смежные вопросы