Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS

Moderador: web

 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 76
Sexo: Masculino
Localização: Porto Alegre
Contato:

Como faço um intervalo neste js?

26-04-2009 01:39

Olá, não sou muito fã de js mas fiz esse script (painel rotativo) e preciso que ele funcione. Bom ele já funciona mas não consigo fazer ele parar (religiosamente) de página em página um certo tempo.

painelrotativo.html
<html><head> <script language="JavaScript"> var routerPainel_width = 195; var routerPainel_height = 300; var routerPainel_lock = true; // parar sob o ponteiro var routerPainel_interval = 5; // intervalo em segundos var routerPainel_speed = 1; var routerPainel_stoped = true; // iniciar parado var routerPainel_play = routerPainel_speed; var routerPainel_pause = (routerPainel_lock==0)? routerPainel_play: 0; var routerPainel_body = new Array(); var routerPainel_page = new Array(); var d = document; function routerPainel(w,h) { if(w) routerPainel_width = w; if(h) routerPainel_height = h; // DIV BASE d.write( '<div id=painel_rotativo onMouseover="routerPainel_play=routerPainel_pause" onMouseout="routerPainel_play=routerPainel_speed" style="' +'background:#FFFFFF;' +'border:1px solid;' +'padding:5px;' +'width:'+routerPainel_width+'px;' +'height:'+routerPainel_height+'px;' +'z-index:6;' +'">' ); d.write('<div style="position:relative; padding:0px; width:'+routerPainel_width+'; height:'+routerPainel_height+'; overflow:hidden;">'); for(i=0; i < routerPainel_body.length; i++) d.write('<div id=routerPainel_page'+i+' style="position:absolute; left:0; top:0; width:100%;"></div>'); d.write('</div>'); window.onload = routerPainel_maker; } function routerPainel_maker() { for(i=0; i < routerPainel_body.length; i++) { routerPainel_page[i] = document.getElementById('routerPainel_page'+i); routerPainel_page[i].style.top = routerPainel_height*i; routerPainel_page[i].innerHTML = '<div style="background:#99FF99; padding:0px; height:'+routerPainel_height+';">'+routerPainel_body[i]+'</div>'; } tempo = setInterval('routerPainel_mov()',1); } function routerPainel_mov() { if(!routerPainel_stoped) { for(i=0; i < routerPainel_body.length; i++) { if(parseInt(routerPainel_page[i].style.top) > -routerPainel_height) { routerPainel_page[i].style.top = parseInt(routerPainel_page[i].style.top) - routerPainel_play; } else { routerPainel_page[i].style.top = routerPainel_height*(routerPainel_body.length-1); routerPainel_stoped = true; } if(parseInt(routerPainel_page[i].style.top) <= -routerPainel_height) routerPainel_stoped = true; } document.getElementById('showinfo').innerHTML = 'TOP do bloco1: '+parseInt(routerPainel_page[0].style.top)+'px'; // informativo } else { setTimeout('routerPainel_stoped=false',routerPainel_interval*1000); } } </script> </head><body bgcolor="#c0c0c0"> <div id=showinfo>TOP do bloco1: 0px</div> <!-- informativo --> <script language="JavaScript"> routerPainel_body[0] = '111111111111111111111111 111111111111111111111111'; routerPainel_body[1] = '222222222222222222222222 222222222222222222222222'; routerPainel_body[2] = '333333333333333333333333 333333333333333333333333'; routerPainel_body[3] = '444444444444444444444444 444444444444444444444444'; routerPainel(195,300); </script> </body> </html>

no intervalo que eu fiz ele nem sempre para os 5 segundos e nem em todas as páginas. :sheepish
preciso que sejá religiosamente em todas as páginas e o tempo correto.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17227
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como faço um intervalo neste js?

26-04-2009 11:13

Esse intervalo seria uma parada na sequência dos números?

Porque eu defini
var routerPainel_interval = 1; // intervalo em segundos

E parou em todos os números.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 76
Sexo: Masculino
Localização: Porto Alegre
Contato:

Como faço um intervalo neste js?

26-04-2009 16:15

realmente... com routerPainel_interval=1 ele para em todos como eu queria que fosse. mas com mais delay ele já começa a caducar e pula alguns, e em alguns nem para por 5 segundos como no exemplo.

Preciso dar mais delay entre as rotações.

O que acontece?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17227
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como faço um intervalo neste js?

26-04-2009 18:32

Tenta o seguinte:

routerPainel_interval=1;

E

setTimeout('routerPainel_stoped=false',routerPainel_interval*4000); // 4000 = 4 segundos

Testei aqui parece que funcionou OK.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 76
Sexo: Masculino
Localização: Porto Alegre
Contato:

Como faço um intervalo neste js?

26-04-2009 19:25

é funcionou.. mas outro valor em routerPainel_interval já começa a caducar de novo.
Não posso alterar livremente o intervalo, routerPainel_interval=2 (que no seu exemplo seria 8sec) já não funciona.


Qual a lógica? Porque acontece isso?

grato :star
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17227
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como faço um intervalo neste js?

26-04-2009 19:38

Parece ter uma relação com o número de blocos, em todo caso, procura onde você baixou o script se o autor não informa sobre esse problema.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 76
Sexo: Masculino
Localização: Porto Alegre
Contato:

Como faço um intervalo neste js?

26-04-2009 19:41

Foi eu que fiz o script! :blush

fiquei o dia inteiro ontem tentando entender essa lógica mas não acho. Por isso postei aqui.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17227
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como faço um intervalo neste js?

26-04-2009 20:06

Dei uma olhada, também não achei nada, pergunte para quem montou o script.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 76
Sexo: Masculino
Localização: Porto Alegre
Contato:

Como faço um intervalo neste js?

26-04-2009 20:22

Amigo, eu que criou totalmente esse script de painel rotativo, não tirei nada de nenhum lugar, fiz com o conhecimento que tenho em javascript!
Estou desenvolvendo ele com bastante variáveis para ser bem adaptativo (pois pretendo utilizar para futuramente para outros sites). Este também ficará em um arquivo externo.

Não me entendo com java's por detalhes como esse.

Agradeço a ajuda, quando eu terminar de desenvolver ele postarei aqui no fórum para desfrutarem. :heart
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17227
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como faço um intervalo neste js?

26-04-2009 20:43

Faz uma busca aqui no fórum, deve ter algum exemplo pronto de slide que você possa ter uma idéia. Eu também não sou Expert em JavaScript, sei o necessário, mas, como você fez, tem que destrinchar linha por linha para entender o funcionamento.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado