Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rikaschmitt

Alerta de "Uncaught RangeError: Maximum call stack size exceeded&#

Recommended Posts

Pessoal, está dando o alerta de "Uncaught RangeError: Maximum call stack size exceeded" no console do meu site.

O que pode ser?

 

Acredito que seja num efeito que fiz, para uma setinha ficar mexendo toda hora...

 

jQuery do efeito:

 

//======================================================
// Efeito seta que mexe
var imgSETABAIXO = jQuery('#seta');
jQuery(function() {
  function setaShake() {
     if (imgSETABAIXO.css('display') != 'none') {
     imgSETABAIXO.animate({"padding":"30px 0"},600).animate({"padding":"24px 0"},400).delay(1500);
     setaShake();
 }
  }
  setaShake();
});
O efeito ocorre e tudo mais, mas esse alerta está me incomodando, parece (e deve ter) algo de errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

 

var imgSETABAIXO = jQuery('#seta');
jQuery(function() {
  function setaShake() {
     if (imgSETABAIXO.css('display') != 'none') {
     imgSETABAIXO.animate({"padding":"30px 0"},600).animate({"padding":"24px 0"},400).delay(1500);
     setTimeout(setaShake,1);
 }
  }
  setaShake();
  
});

Coloquei um setTimeout(setaShake,1); provavelmente é porque não tava com timeout ae geralmente da esse erro tenta colocar o setTimeout em outras parte do jquery caso não funcione ae fiz o teste aqui e funcionou normalmente.

 

Sou novo nisso caso não seja isso ae me fale que tento outras coisas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho coloquei aq e nao deu este erro vc tem a imagem que esta usando ou site hospedado? pra eu tentar com as mesmas coisas que vc está usando para ver se ocorre o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, o que eu posso fazer é colar todo o meu jQuery:

 

jQuery(document).ready(function(){


//======================================================
// Ajuste automático da altura do background do header
var header = jQuery('#header'),
bg = jQuery('#bg'),
altura_janela = jQuery(window).height(),
altura_final = altura_janela - 125;


bg.css({ 'height': altura_final+'px' });








//======================================================
// Menu fixo
var headerBottom = 200;
    jQuery(window).scroll(function() {
            var scrollTop = jQuery(window).scrollTop(), menufixo = jQuery("#menu-fixo");
            if (scrollTop > headerBottom) {
                if (menufixo.is(":visible") == false) {
                    menufixo.fadeIn(300);
                }
            } else {
                if (menufixo.is(":visible")) {
                    menufixo.fadeOut(300);
                }
            }
    });








//======================================================
// Botão voltar ao topo
jQuery(window).scroll(function(){
var scrollTop2 = jQuery(window).scrollTop(), backtop = jQuery("#back-top");
if (scrollTop2 > 500) {
             if (backtop.is(":visible") == false) {
                  backtop.fadeIn(200);
             }
        } else {
             if (backtop.is(":visible")) {
                  backtop.fadeOut(100);
             }
        }
});








//======================================================
// Efeito âncoras
jQuery('a[href^="#"]').on('click',function(e){
e.preventDefault();


var target = this.hash;


if (target == '') { e.preventDefault(); }
else if (target == '#topo') { 
jQuery('html, body').stop().animate({ 'scrollTop': 0 }, 900, 'swing');
}
else if (target == "#maisconteudo") {
jQuery('html, body').stop().animate({ 'scrollTop': 700 }, 900, 'swing');
}
else {
var Starget = jQuery(target),
   alturadolink = Starget.offset().top,
   alturaefeito = (alturadolink - 70);


jQuery('html, body').stop().animate({ 'scrollTop': alturaefeito }, 900, 'swing');
}


});








//======================================================
// Efeito seta que mexe
var imgSETABAIXO = jQuery('#seta');
jQuery(function() {
  function setaShake() {
     if (imgSETABAIXO.css('display') != 'none') {
     imgSETABAIXO.animate({"padding":"30px 0"},600).animate({"padding":"24px 0"},400);
     setTimeout(setaShake(),1500);
 }
  }
  setaShake();
});








//======================================================
// Carousel de notícias
var carousel = jQuery('#carousel');
carousel.cycle({
fx: 'carousel',
carouselVisible: '3',
next: '.carousel-next',
prev: '.carousel-prev',
slides: '> .carousel-post',
timeout: '20000',
pager: '.carousel-pager',
pagerTemplate: '<a href="#">A</a>'
});


});

 

Talvez o erro não esteja nessa seta, mas tenho quase certeza que sim.. porque no aviso que dá, se eu clicar na setinha para expandir, lista vááááários "setaShake".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui esta funcionando não sei mais o que pensar me desculpe sou novo por aqui, mas se tivesse que dar uma ideia faz um gif sei la pensa em outra coisa,eu pelo menos não sei como tirar essa msg ou tenta em forum gringo de Jquery eles podem te ajudar tbm.

 

eu recomendo:

http://bugs.jquery.com/

http://stackoverflow.com/

 

 

=D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas está funcionando o efeito que eu quero..

Eu só queria retirar esse aviso de "maximum call stack size".. porque me parece que algo não está certo.. e está me incomodando ver esse alerta vermelho no console HAHAHAHA...

 

:(

 

mas valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.