Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
o código abaixo serve para chamar determinados links dentro de um iframe
preciso q a cada click a src='http://www.google.com.br'; mude para outros links
<script type="text/javascript">
function display()
{
document.getElementById("Sponsors").src='http://www.google.com.br';
}
</script>
</head>
<body>
<form>
<a href="#"><input type="button" value="Click me!" onclick="display()" /></a>
</form>
<iframe id="Sponsors"></iframe>não funcionou
Cara você pode usar Jquery, só o cód. abaixo deve bastar
function display(div, url){
$(div).load(url);
}
<input type="button" value="Click me!" onclick="display("#ID_OU_CLASS_DA_DIV", "[http://www.uol.com.br/"](http://www.uol.com.br/))" /> <- O botão deve ficar desta maneirae as urls
tem pelomenos umas 20 aqui que deve se alternar a cada clique
mostrando um local diferente no iframe.
para facilitar o entendimento
tenho um site php e nos links dele quero por uma chamada para uma função q joga um outro link dentro de um iframe sem interferir no destino do link principal.
os links a serem jogados no iframe são diferentes, em torno de uns 20 q devem se alternar entre si a cada clique.
você testou a função que eu escrevi?
>
e as urls
tem pelomenos umas 20 aqui ...
para facilitar o entendimento
tenho um site php e nos links dele quero por uma chamada para uma função q joga um outro link dentro de um iframe sem interferir no destino do link principal.
os links a serem jogados no iframe são diferentes, em torno de uns 20 q devem se alternar entre si a cada clique.
Facilitar??? Não deu para entender nada!
Se você não for claro na pergunta ninguém poderá adivinhar o que você quer e ajudá-lo.
ta bem vou simplificar ainda mais
esse é um botão
<a href="[http://www.meusite.com/pag1.html">
href é a pagina q o visitante deseja entrar
onclické a função que lança um link dentro de um iframe
a cada clique que é feito em um dos botões o onclick deve mudar o link a ser disparado no iframe
na função display() são 20 links para se alternarem entre si
e cada vez q a função for ativada ela dispare um link diferente do click anterior
Já que JavaScript não bem a minha praia, baseio minha resposta em uma versão adaptada de array_rand() do PHP, distribuída como parte do projeto PHPJS.
Essa função faz exatamente o mesmo que no PHP. Dado um array como argumento, ela te retorna aleatoriamente uma chave desse array.
Com essa chave armazenada em uma variável local à função Display(), você "escolhe" esse índice no array de links e joga no IFrame.
Lembre-se apenas denão especificar o segundo parâmetro dessa função, para que seja retornado apenas um índice de cada vez.
Puts, tá bem difícil de entender mesmo hauehuahe.
Mas acho que o que você quer é o seguinte:
<script>
function Display(){
//array com sites que serão exibidos randomicamente
arrLinks = ['google.com','ibm.com','twitter.com'];
//pegando um dos sites acima randomicamente
urlDes = arrLinks[Math.floor(Math.random()*arrLinks .length)]
//carregando no iframe
document.getElementById("Sponsors").src='http://' + urlDes;
}
</script>
<a href="[http://www.meusite.com/pag1.html"](http://www.meusite.com/pag1.html) onclick='Display()'>LInk 1</a>
<a href="[http://www.meusite.com/pag2.html"](http://www.meusite.com/pag2.html) onclick='Display()'>Link 2</a>
Ou seja, seu título do tópico tá errado hauehau
Você não quer um getElementById randomico (afinal o sponsors é um só).
Você quer é o SRC DO IFRAME randomico.
Seja mais claro no próximo tópico hehehe
Funcionou direitinho do jeito que queria,
esse script ai adaptado de phpjs tem como postar um exemplo em funcionamento
<script>
function Display(){
arrLinks = ['google.com','ibm.com','twitter.com'];
urlDes = arrLinks[Math.floor(Math.random()*arrLinks .length)]
document.getElementById("Sponsors").src='http://' + urlDes;
}
</script>
<a href="#" onclick='Display()'>LInk 1</a>
<iframe id="Sponsors"></iframe>
tendo em vista q devo chamar essa função em todos os links
como faço isso sem ter q adcionar a função dysplay em cada um dos links,
lembro q a uns dois anos eu usava um script jquery que chamava uma função em todos os links..
Cara, não entendi quase nada do que falou (novamente).
Use pontuação por favor. Senão fica difícil a galera te ajudar.
Quando for perguntar algo, termine com um "?".
Pra colocar uma função em todos os links, você pode fazer algo assim:
<script>
function Display(){
arrLinks = ['google.com','ibm.com','twitter.com'];
urlDes = arrLinks[Math.floor(Math.random()*arrLinks .length)]
document.getElementById("Sponsors").src='http://' + urlDes;
}
document.body.onload = function(){
var as = document.getElementsByTagName('a');
var aslen = as.length;
for(var i=0; i<aslen; i++){
as[i].onclick=Display; //aqui vai sem o parenteses mesmo
}
}
</script>
Nem testei mas acho que é isso aí mesmo.>
href é a pagina q o visitante deseja entrar
onclické a função que lança um link dentro de um iframe
Se eu trocar de página, o iFrame "morre". Você quer criar um iFrame com sources aleatórios?
window.onload = function(){
var sponsors = ['http://google.com','http://ibm.com','http://twitter.com'];
document.getElementById("Sponsors").src = sponsors[Math.floor(Math.random()*sponsors.length)];
}
cria uns if's ai...