Jump to content
programadorweb2016

setAttributeNode is not defined comando for

Recommended Posts

function atira(x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6){
	var t = [], att = [], attt = [];
	for(var i=0; i<7; i++){
		t[i] = document.createElement("div");
		att[i] = document.createAttribute("class");
		att[i].value = "tiroJog";
		t[i] = setAttributeNode(att[i]);
		attt[i] = document.createAttribute("style");
		attt[i].value = "top:"+y[i]+"px;left:"+x[i]+"px";
		t[i].setAttributeNode(attt[i]);
		document.body.appendChild(t[i]);
	}
}

Boa noite, estou estudando javascript e implementando meus conhecimentos tentando criar jogos, ai me deparei com esse seguinte erro, vi no console e esta dando o seguinte erro setAttributeNode is not defined, ja tentei colocar as variaveis fora da funçao mas acho que isso não tem nada a ver pq só uso essas variaves nessa funçao, estou tentando a um tempao entender o motivo do erro, se alguem puder me explicar fico muito grato!?

Share this post


Link to post
Share on other sites

@Maujor

Funciono a primeira linda da class, ja a do style não funciono, msm eu tirando a linha do style cria um style altomatico com apenas o top, isso é normal?

 

Sem o for funciona normal mas o código fica muito grande ...

 

function atira(x,y,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6){
	
	
	var t = document.createElement("div");
	var t1 = document.createElement("div");
	var t2 = document.createElement("div");
	var t3 = document.createElement("div");
	var t4 = document.createElement("div");
	var t5 = document.createElement("div");
	var t6 = document.createElement("div");
	
	var att1 = document.createAttribute("class");
	var att2 = document.createAttribute("class");
	var att3 = document.createAttribute("class");
	var att4 = document.createAttribute("class");
	var att5 = document.createAttribute("class");
	var att6 = document.createAttribute("class");
	var att7 = document.createAttribute("class");
	att1.value = "tiroJog";
	att2.value = "tiroJog";
	att3.value = "tiroJog";
	att4.value = "tiroJog";
	att5.value = "tiroJog";
	att6.value = "tiroJog";
	att7.value = "tiroJog";
	t.setAttributeNode(att1);
	t1.setAttributeNode(att2);
	t2.setAttributeNode(att3);
	t3.setAttributeNode(att4);
	t4.setAttributeNode(att5);
	t5.setAttributeNode(att6);
	t6.setAttributeNode(att7);
	
	var attt1 = document.createAttribute("style");
	var attt2 = document.createAttribute("style");
	var attt3 = document.createAttribute("style");
	var attt4 = document.createAttribute("style");
	var attt5 = document.createAttribute("style");
	var attt6 = document.createAttribute("style");
	var attt7 = document.createAttribute("style");
	attt1.value = "top:"+y+"px;left:"+x+"px";
	attt2.value = "top:"+y1+"px;left:"+x1+"px";
	attt3.value = "top:"+y2+"px;left:"+x2+"px";
	attt4.value = "top:"+y3+"px;left:"+x3+"px";
	attt5.value = "top:"+y4+"px;left:"+x4+"px";
	attt6.value = "top:"+y5+"px;left:"+x5+"px";
	attt7.value = "top:"+y6+"px;left:"+x6+"px";	
	t.setAttributeNode(attt1);
	t1.setAttributeNode(attt2);
	t2.setAttributeNode(attt3);
	t3.setAttributeNode(attt4);
	t4.setAttributeNode(attt5);
	t5.setAttributeNode(attt6);
	t6.setAttributeNode(attt7);
	
	document.body.appendChild(t);
	document.body.appendChild(t1);
	document.body.appendChild(t2);
	document.body.appendChild(t3);
	document.body.appendChild(t4);
	document.body.appendChild(t5);
	document.body.appendChild(t6);
}

 

Share this post


Link to post
Share on other sites

@Maujor

Agora deu certo, eu tinha tentado daquela forma acima que tinha me passado, mas nao estava dando acho que era por causa das aspas duplas, as var x y dava indefinido tb, acho que era pq nao tinha nenhum valor no array delas, agora funciono perfeitamente e ainda por cima me fez aprender coisas novas, muito obrigado por essa incrivel experiencia :thumbsup:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Anderson Maciel
      Boa tarde pessoal,

      Estou quebrando a cabeça para resolver um problema, tenho uma div dinâmica que carrega uma <table> em uma das colunas deveria apresentar o componente Switchery, esta <table> é montada a partir de uma função PHP que faz o select em uma tabela do banco de dados conforme abaixo:
       
      echo '<table class="table table-hover"> <thead> <tr> <th>Nome</th> <th>Agrupamento</th> <th>Ativo</th> </tr> </thead> <tbody>'; foreach($data as $row) { If ($row['ativo'] == 1) { $vativochk = "checked"; } else { $vativochk = ""; } echo '<tr> <td>'.$row['nome'].'</td> <td>'.$row['agrupamento'].'</td> <td><input type="checkbox" name="ativo_grid" class="js-switch" '.$vativochk.' disabled="disabled"></td> </tr>'; } echo '</tbody> </table>'; Aqui está o Ajax que chama e retorna atualizando a DIV:
       
      function atualiza_grid_graficos() { $.ajax({ type: "POST", url: "hubfuncind.php", data: { id_tabindicadores_paineis: $('#id_tabindicadores_paineis').val(), acao: "gridgraficos" }, success: function(data) { $('#conteudo').html(data); } }); } O retorno vem certinho, mas apenas o componente Switchery está vindo desconfigurado, ou seja vem um checkbox normal (html).

      O que é mais incrível é que neste mesmo formulário mais acima tenho este mesmo componente funcionando normalmente, somente dentro da DIV dinâmica é que fica desconfigurado conforme imagem anexa.

      Será que alguém já passou por isso?

    • By Pitag346
      Olá pessoal, tudo bem? 
      Estou com uma dúvida bem bobinha... mas gostaria que me ajudassem a solucionar.
       
      Alguns sites utilizam uma forma de carregar as imagens deixando elas embaçadas/desfocadas. Até que são carregadas e elas aparecerem normalmente...
       
      Exemplo básico seria esse site: https://www.redbull.com/br-pt/athletes
       
      Sabem me explicar como isso é feito, e pra que ? Meu site usa bastante imagens, gostaria de saber se tem algum benefício ou se seria somente estética ... Obrigado! 
       
      (Não sei se isso é feito em JavaScript, acredito que sim... perdão se publiquei na área errada).
    • By Emilio Saymon
      tenho um site que precisa que assim que eu aperte um botão ele verifiquei se a variavel sala for sala 1 ele abre no modal da sala1 se não abre no modal da sala2. Dei uma pesquisada e vi que da pra fazer com a função onclik(), mas não tenho noção como fazer. Aqui vai o código.
      botão <td><a href="#" class="btn btn-primary" data-toggle="modal" data-target="#modalLoginForm">XXX</a></td> <!-- sala 1 --> <div class="modal-body mx-3"> <div class="md-form mb-4"> <form method="POST" action="valida.php"> <h6>Sala 1</h6> <input type="password" class="form-control validate" name="senha"> </div> </div> <button type="submit" class="btn btn-primary" name="enviar">Entrar</button> </form> </div> </div> </div> </div> </div> <!-- sala 2 --> <div class="modal fade" id="modalLoginForm2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header text-center"> <h4 class="modal-title w-100 font-weight-bold">Senha</h4> <button type="btn-primary" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body mx-3"> <div class="md-form mb-4"> <form method="POST" action="valida.php"> <p>Sala 2</p> <input type="password" class="form-control validate" name="senha2"> </div> </div> <div class="modal-footer d-flex justify-content-center"> <button type="submit" class="btn btn-primary" name="enviar1">Entrar</button> </form> </div> </div> </div> </div>  
    • By joazinDev
      Estou tentando calcular duas horas e as vezes precisso que ela saia negativa tbm
      Exemplo:
      07:33 - 07:48 = -00:15
      Como faço isso utilizando php ?
    • By Filhote de Dev
      Estou fazendo um requisição HTTP e de retorno recebo um Json! Então eu quero pegar esse valor de Json e atribuir a outra variável para poder modificá-la e depois exibir as duas lado a lado para comparar. Então me deparei com 2 problemas o primeiro é que não estou conseguindo atribuir o valor httpRequest.responseText a uma variável, já tentei a função eval() e a toString() e quando eu peço para printar com um alert() para verificar me retorna undefined o segundo problema é que eu estava exibindo o resultado na dom por meio de appendChild(), estou exibindo apenas com os valores originais para teste, mas quando ele executa esse trexo do code, ele printa na dom e logo em seguida retira da dom, tipo uma piscadinha rápida. Ficaria grato se me ajudassem a resolver esse problema.
       
      o Json que ele recebe de uma pagina .html é esse:
      {"numero_casas":9,"token":"68c56aa784fe216ae92720b76386ea0995055074","cifrado":"fqnw rw mxdkc, unjen rc xdc. sxbqdj kuxlq","decifrado":"","resumo_criptografico":""}  
      o Script esta assim:
      var httpRequest function request(){ var url = 'test.html'//apagar depois if (window.XMLHttpRequest) { // Mozilla, Safari, ... httpRequest = new XMLHttpRequest() } else if (window.ActiveXObject) { // IE try { httpRequest = new ActiveXObject("Msxml2.XMLHTTP") } catch (e) { try { httpRequest = new ActiveXObject("Microsoft.XMLHTTP") } catch (e) {} } } if (!httpRequest) { alert('Giving up :( Cannot create an XMLHTTP instance') return false } httpRequest.onreadystatechange = alertContents httpRequest.open('GET', url, true) httpRequest.responseType = 'jason' httpRequest.send() httpRequest.onload = function(){ view(httpRequest) } } function alertContents() { if (httpRequest.readyState === 4) { if (httpRequest.status === 200) { alert(httpRequest.responseText) } else { alert('There was a problem with the request.') } } } function view(httpRequest){ var resposta = httpRequest.responseText.toString() alert(resposta.value) var box = document.querySelector('div#decoding') box.setAttribute('class', 'shadow') var challenge = document.createElement('fieldset') challenge.setAttribute('class', 'painting') var legendChallenge = document.createElement('legend') legendChallenge.innerHTML = 'Challenge' challenge.innerHTML = `Número de casas: ${httpRequest.response.numero_casa}<br> Token: ${httpRequest.response.token}<br> Cifrado: ${httpRequest.response.cifrado}<br> Decifrado: ${httpRequest.response.decifrado}<br> Resumo Criptografico: ${httpRequest.response.resumo_criptografico}` var answer = document.createElement('fieldset') answer.setAttribute('class', 'painting') var legendAnswer = document.createElement('legend') legendAnswer.innerHTML = 'Answer' answer.innerHTML = `Número de casas: ${httpRequest.response.numero_casas}<br> Token: ${httpRequest.response.token}<br> Cifrado: ${httpRequest.response.cifrado}<br> Decifrado: ${httpRequest.response.decifrado}<br> Resumo Criptografico: ${httpRequest.response.resumo_criptografico}` box.appendChild(challenge) box.appendChild(answer) challenge.appendChild(legendChallenge) answer.appendChild(legendAnswer) }  
       
      Index.html:
      <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="style.css"> <title>Caesar cipher</title> </head> <body> <header> <h1>Caesar cipher</h1> </header> <section> <div class="container"> <div class="box"> <div class="form"> <form action=""> <div> <fieldset class="shadow"> <legend><h1>Decoding</h1></legend> <button id="btntoken" onclick="request()">Fetch Encryption Challenge</button> </fieldset> </div> <div id="decoding" class="aling"></div> </form> </div> </div> </div> </section> <footer> </footer> <script type="text/javascript" src="script.js"></script> </body> </html>  
       
      e o style.css para dar sentido as class:
      /*zerando margein e padding de todos os elementos*/ *{ margin: 0; padding: 0; } /*definido estilo padrão*/ body{ font-family: 'Courier New', Courier, monospace; font-size: 16px; background-color: #F5F6FA; } /*Estilização e alinhamento do cabeçario*/ header{ background-color: #22212F; color: #FFF; height: 80px; font-size: 24px; align-items: center; display: flex; padding-left: 15px; } /*Alinhamento das tags presentes na section*/ section,div.form{ display: flex; justify-content: center; } div.container{ margin:5px; width: 800px; background-color: #FFF; padding: 15px; margin-top: 20px; } div.parag,div.box{ display: block; } div.form{ margin-top:30px; } p{ margin-top: 10px; } /*estilização do formulario principal*/ .shadow{ box-shadow: 5px 5px 5px 2px #22212F; } fieldset{ width: 500px; min-height:150px; padding: 10px; } legend{ font-size: 20px; } input#token{ font-size: 16px; width: 350px; height: 30px; } button#btntoken{ margin: 5px; margin-top:15px; width:480px; height: 50px; font-size: 24px; } /*estilização da resposta ao usuário*/ .aling{ margin: 20px; } .painting{ display: inline-block; width: 230px; min-height: 100px; }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.