Ir para conteúdo
Fórum Script Brasil
  • 0

Texto aleatório ao clicar


DaviMelo

Pergunta

Gostaria de ter um texto aleatório ao clicar sem atualizar a página. O código abaixo faz o que eu quero mas só com dois texto. Eu queria com 250. Será que é possível?

<script>
function troca(id,valor)
{
var insere = document.getElementById(id);
if(valor == "Check")
{
insere.innerHTML = '<a href="#" onclick=troca("link_check","Unheck");>Menssagem 1</a>';
}
else
{
insere.innerHTML = '<a href="#" onclick=troca("link_check","Check");>Menssagem 2</a>';
}
}
</script>
<div id="link_check"><a href="#" onclick="troca('link_check','Check');">Menssagem 1</a></div>

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Davi, não entendi direito o que você quer.

Você quer apenas um link na página, porém esse link ao ser clicado, mudará seu conteúdo para 1 dos 250 tipos de mensagens, só na hora em que for clicado.

Certo ?

Link para o comentário
Compartilhar em outros sites

  • 0

Nesse caso esse código que você tem não vai ser muito útil.

Tente criar um array com várias mensagens e gerar um número aleatório. Para gerar o número aleatório você pode aproveitar essa classe que o Eduardo postou: Objeto Random

O código Javascript pode ficar mais ou menos assim:

function Mensagem(){
mensagens = [
"Mensagem 1",
"Mensagem 2",
"Mensagem 3",
"Quarta mensagem",
"Mensagem 5"
]
this.innerHTML=mensagens[Random.get(mensagens.length)]
}
E o HTML:
<a href="#" onclick="Mensagem()">Clique para colocar a primeira mensagem</a>

Se funcionar posta aqui.

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz como você disse, o erro sumiu, mas não acontece nada, ou seja, não muda o texto. Veja o código abaixo:

<HTML><HEAD></HEAD><BODY>
<script>
/*
* Desenvolvido por: Eduardo Ottaviani
* Licença : Pública
* Email : edu.tata@gmail.com
* Obs : Métodos com underscore são métodos usados internamente pelo objeto Random, use-os apenas se entender o seu funcionamento.
* Url : [url=http://scriptbrasil.com.br/forum/index.php?showtopic=145754]http://scriptbrasil.com.br/forum/index.php?showtopic=145754[/url]
*/
var Random = {
    _run_ : function(range){ return Math.floor(Math.random() * range) },
    _aux_: { cont : 0 },
    
    pick : function(range){
        if( this._aux_.cont ++ >= range )
        return null
        
        var out = this._run_(range)                                 
            while(out in this._aux_)                                        
                out = this._run_(range)                    
            
        this._aux_[out] = null
        return out
    },
    
    reset : function(){ this._aux_ = {cont:0} },
    
    get : function(range){ return this._run_(range) },
    
    color : function(){
        var hexa = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "e", "f"]
        var ret = "#"
            for (var x = 0; x < 6; x++)                 
                ret += hexa[ this.get( hexa.length ) ]
        return ret
    }   
}

function Mensagem(){
mensagens = [
"Mensagem 1",
"Mensagem 2",
"Mensagem 3",
"Quarta mensagem",
"Mensagem 5"
]
this.innerHTML=mensagens[Random.get(mensagens.length)]
}
</script>
<div><a href="#" onclick="Mensagem()">Clique para colocar a primeira mensagem</a></div>
</BODY></HTML>

Link para o comentário
Compartilhar em outros sites

  • 0

Troque a função Mensagem para ficar assim:

function Mensagem(elemento) {
    mensagens = [
"Mensagem 1",
"Mensagem 2",
"Mensagem 3",
"Quarta mensagem",
"Mensagem 5"
]
    elemento.innerHTML = mensagens[Random.get(mensagens.length)]
}
E deixe o código HTML assim:
<a href="#" onclick="Mensagem(this)">Clique para colocar a primeira mensagem</a>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...