Ir para conteúdo

POWERED BY:

Arquivado

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

programador php

mensagens rolando

Recommended Posts

Olá

Gostaria de criar uma função que fosse passando o conteudo das mensagens, uma a uma, essas mensagens virão do banco de dados.

quando o mouse for colocado em cima da mensagem, a mesma deve parar de rolar

 

pensei em usar o comando setTimeout

 

mas não sei onde onde começar, alguem poderia me ajudar neste problema

 

abraço

 

 

/********************** resolvido ***********************************/

 

<div id='caixa' onmouseover='stopR();' onmouseout='playR();'>
				<div id='marca'>

<script type="text/javascript">
var tamanhoBox= 200;
var linha=-200; 
var executa=1;
var msg = new Array();
var i=0;
function rodaMensagem(){
	if(linha == (200)){
		linha = (linha*-1);
		linha = (linha+1);
	} 
	linha++; 
<?php 
$i=0;
	$exec = seleciona("data, titulo, conteudo, fonte, link ", " public.mensagem ", " ", " ORDER BY data DESC");//consulta do banco
	while($linhaMsg = f_array($exec)){
		$titulo = $linhaMsg["titulo"];
		$data = $linhaMsg["data"];
		$conteudo = $linhaMsg["conteudo"];
		$fonte = $linhaMsg["fonte"];
		$link = $linhaMsg["link"];
	if($link != ""){
		echo "msg[".$i."]='<div id=\"titulo\">".$titulo."</div> <div id=\"fonte\">".$data."</div> <div id=\"linkado\"><a href=\"".$link."\" id=\"linkado\" target=\"blank\"> ".$conteudo."</a> </div> <div id=\"fonte\">Fonte:". $fonte.".</div>';\n";
	} else {
		echo "msg[".$i."]='<div id=\"titulo\">".$titulo."</div>  <div id=\"fonte\">".$data."</div> <div id=\"conteudo\">".$conteudo."</div> <div id=\"fonte\"> Fonte: ". $fonte.".</div>';\n";
	}
		$i++;
	}
?>	
	var total = <?php echo $i; ?>-1;
	document.getElementById('marca').innerHTML=msg[i];
	
	if(linha == 10){
		stopR();
		setTimeout("playR()", 5000);
	}
	
	if(linha == 200){
		document.getElementById('marca').innerHTML="";
		if(i == total) {
			i=0;
		} else {
			i++;
		}
	}		
	
	var marc = document.getElementById('marca');
	if(!marc) return false;
	marc.style.marginTop = -linha+"px";
	if(executa == 1){
		setTimeout("playR()", 50);
	}
}

function stopR(){
	executa = 0;
}

function playR(){
	executa = 1;
	setTimeout("rodaMensagem()", 50);
}
</script>
			
				</div>
			</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

neste topico acima não encontrei exatamente a solução do problema!!!

 

gostaria que cada mensagem ficasse uns segundos antes da outra rolar, e no codigo dele não consegui fazer nada parecido

 

 

mas vou dar uma lida e entendida

 

 

mesmo assim valeu pela dica

 

 

alguem mais poderia me ajudar?

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode adaptar esse código para sua necessidade...

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Teste</title>
<script>
num=1;
function mensagem(){
	
	if (num == 1){
		msg='Primeira Mensagem';
		num=2;
	}else if (num == 2){
		msg='Segunda Mensagem';
		num=3;
	}else{
		msg='Terceira Mensagem';
		num=1;
	}
	document.getElementById('linha').innerHTML=msg;
	setTimeout(mensagem,11000);
}
</script>
</head>
<body onLoad="mensagem()">
<marquee width=150 id="linha"></marquee>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

dei uma ajustada no topico do silverFox

 

 

abraçoo

 

 

<html>
<head>
<title>marquee css+js by silverfox</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<style rel="stylesheet" type="text/css">
/*<![CDATA[*/
#caixa{
background:#fc0;
width:200px;
height:200px;
overflow:hidden;
}
#marquee{
margin:0px;
}
/*]]>*/
</style>
<script type="text/javascript">
//<![CDATA[
var Rollar = "sim";
var roll = 0;
function Fmarquee(tmp,tipo){
	var Marquee = document.getElementById("Marquee");
	var Caixa = document.getElementById("caixa");
	var Altura = Caixa.clientHeight;
	roll++;
	if(Altura==roll){
		roll = (roll*-1);
		roll = (roll+100);
	}
	if(roll == 175){
		stopM();
		setTimeout("playM()", 3000);
	}

	if(tipo == "top"){
		Marquee.style.marginTop = roll+"px";
	} else if (tipo == "down"){
		Marquee.style.marginTop = roll+"px";
	} else if (tipo == "left"){
		Marquee.style.marginLeft = roll+"px";
	} else if (tipo == "right"){
		Marquee.style.marginRight = roll+"px";
	}
	
	if(Rollar == "sim"){
		setTimeout("Fmarquee("+tmp+",'"+tipo+"')",tmp);
	}
}
function playM(){
	Rollar = "sim";
	Fmarquee('50','top');
	//setTimeout(code,millisec)
}

function stopM(){
	Rollar = "nao";
}

function OnloadB(){
	Rollar = "sim";
	Fmarquee('50','top');
}

window.onload = OnloadB;
//]]>
</script>

</head>
<body>
  <div id="caixa" onmouseout="playM();" onmouseover="stopM();">
	<div id="Marquee">
		teste
	</div>

  </div>
</body>
</html>

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.