2012-05-26 4 views
0

Следующий скрипт отлично работает в большинстве браузеров, но совсем не в Firefox. Если у кого-то есть мысли, это будет большой помощью. Я включил jQuery Я пытаюсь создать кнопку спрайта.JavaScript не работает в Firefox. Может быть parseInt

<script type='text/javascript'> 
$(document).ready(function() { 

var intval=""; 
var rewind =""; 
$('#logo').hover(function(){ 
    if(intval==""){ 
     intval =window.setInterval(play_animation,30); 
    } 
},function(){ 
    window.clearInterval(intval); 
    intval=""; 
    if(rewind==""){ 
     rewind=window.setInterval(rewind_animation,30); 
    } 
}); 

function play_animation(){ 
    //retrieve background x-coordinate because IE only recognize 'background-position 
    var frame = $('#logo').css('background-position-x').split(' '); 
    var framei =parseInt(frame[0].split('px')); 
    if(framei > (-360)){ 
     var xpos =framei-40; 
     $('#logo').css({'backgroundPosition':xpos+'px 0px'}); 
    } 
} 

function rewind_animation(){ 
    var frame = $('#logo').css('background-position-x').split(' '); 
    var framei =parseInt(frame[0].split('px')); 
    //if background position exist, rewind back to starting point 
    if(framei){ 
     var xpos =framei+40; 
     $('#logo').css({'backgroundPosition':xpos+'px 0px'}); 
    } 
    //when animation returns to starting point clear out the interval function 
    if(framei==0){ 
     window.clearInterval(rewind); 
     rewind=""; 
    } 
} 

}); 
</script> 

И первоначальный CSS:

#logo{ 
background:url(circles2.jpg) 0px 0px no-repeat; 
height:40px; 
width:40px; 
display:block; 
} 
+1

Можете ли вы быть более конкретным, чем «совсем не в Firefox»? Вы получаете сообщение об ошибке? У вас есть одна из надстроек разработчика Firefox (например, webdeveloper), чтобы вы могли видеть специфику ошибки? –

ответ

3

Где у вас есть var frame = $('#logo').css('background-position-x').split(' ');

Я думаю, что вы на самом деле хотите var frame = $('#logo').css('background-position').split(' '); (удалить "-x"). Это исправляет это для меня.

+0

спасибо, я дам ему – user1418753

+0

отлично работает. спасибо большое – user1418753

+0

Да. В спецификации нет свойства CSS background-position-x'. Некоторые браузеры просто сотворили это. –

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