Não consigo fazer este script funcionar !

  • Autor Autor RaikND
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
R

RaikND

Zeta
Social Media
Verificación en dos pasos activada
Hola a todos, soy muy muy nuevo en javascript y me gustaría que me echaran un cable... Ya que se imprimir por números, me gustaría hacer un cambio dinámico con objetos e instancias para editar el HTML y/o clases... por números y escrito por un formulario me sale, pero cuando lo hago ya todo "automático" ya configurado, no me llega a salir, curioso eh...

Aquí les dejo mi código:
HTML:
//Cambiar Estilo
function estiloPlantilla() {

	this.editarId = []
	this.editarTexto = []
	this.cambiar = function(imprimir) {

		resultado = document.getElementById(editarId[0]).style.background = editarTexto[0]

	}

}

var nuevoEstilo = new estiloPlantilla()
	nuevoEstilo.editarId = ['boxInterior']
	nuevoEstilo.editarTexto = ['#333']

function cambiarEstilo() {

	nuevoEstilo.cambiar(resultado)

}
//Fin cambio estilo

Y aqui el boton que uso para imprimir:
HTML:
<button onclick="cambiarEstilo()">Cambiar Estilo de Vista</button>

En un rato editare y lo pondré "online" por si os puedo facilitar el trabajo para comprender mi idea más rapidamente
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
No se bien que quisiste hacer...

Pero porque no lo haces así?

HTML:
function cambiarEstilo(elem) {
	elem.style.background = '#333';
}
HTML:
<button onclick="cambiarEstilo(this)">Cambiar Estilo de Vista</button>


O sinó:

HTML:
<button onclick="this.style.background='#333'">Cambiar Estilo de Vista</button>

- - - Actualizado - - -

Aaaahh, olvidá lo que puse ya entendí.
 
Última edição:
No se bien que quisiste hacer...

Pero porque no lo haces así?

HTML:
function cambiarEstilo(elem) {
	elem.style.background = '#333';
}
HTML:
<button onclick="cambiarEstilo(this)">Cambiar Estilo de Vista</button>


O sinó:

HTML:
<button onclick="this.style.background='#333'">Cambiar Estilo de Vista</button>

Hola crack, espero que todo bien y gracias por tu respuesta tan rapida...

Mi idea es hacer varios estilos "para que cambie de colores y etc la plantilla", lo que estoy haciendo actualmente es haciendo praticas para ir aumentando lo que seria mi experiencia en Javascript, asi que quiero ir por los métodos complicados y mas complejos.

El conversor de moneda esta ya listo de Dolares a Euros y de Pesos Argentinos a Euros, ahora quiero hacer lo mismo, pero con el cambio de estilo ya modificado y configurado desde el archivo .js... No se si me he explicado bien, igual te dejo el ejemplo aqui:
Documento sin titulo
 
___________________________

Así debería funcionarte.

HTML:
function estiloPlantilla() {
	this.cambiar = function() {
		document.getElementById(this.editarId[0]).style.background = this.editarTexto[0]
	}

}

var nuevoEstilo = new estiloPlantilla()
	nuevoEstilo.editarId = ['boxInterior']
	nuevoEstilo.editarTexto = ['#333']

function cambiarEstilo() {
	nuevoEstilo.cambiar()
}
 
___________________________

Así debería funcionarte.

HTML:
function estiloPlantilla() {
	this.cambiar = function() {
		document.getElementById(this.editarId[0]).style.background = this.editarTexto[0]
	}

}

var nuevoEstilo = new estiloPlantilla()
	nuevoEstilo.editarId = ['boxInterior']
	nuevoEstilo.editarTexto = ['#333']

function cambiarEstilo() {
	nuevoEstilo.cambiar()
}

ostia... que fallo... me olvidado del "THIS" y el lo que seria el print de "resultado" no hacia falta... Vale, muchas gracias [MENTION=42233]zcriptz[/MENTION], me acabas de quitar un peso de encima.

EDITO:
Me falta aprender un poco bastante jajajaja

RESUELTO:
Aqui os dejo el script entero, por si lo necesitan o algo:

Archivo .js
HTML:
//Cambiar Estilo
function estiloPlantilla() {

	this.editarId = []
	this.editarTexto = []
	this.cambiar = function() {

		document.getElementById(this.editarId[0]).style.background = this.editarTexto[0]
		document.getElementById(this.editarId[0]).style.color = this.editarTexto[1]
		document.getElementById(this.editarId[1]).style.background = this.editarTexto[1]
		document.getElementById(this.editarId[1]).style.color = this.editarTexto[0]

	}

}

var nuevoEstilo = new estiloPlantilla()
	nuevoEstilo.editarId = ['boxInterior', 'resultadoCambio']
	nuevoEstilo.editarTexto = ['#333', '#FFF']

var estiloOriginal = new estiloPlantilla()
	estiloOriginal.editarId = ['boxInterior', 'resultadoCambio']
	estiloOriginal.editarTexto = ['#FFF', '#000']

function cambiarEstilo(changeStyle) {

	if(changeStyle == "nuevoEstilo") {

		nuevoEstilo.cambiar()

	}else if (changeStyle == "estiloOriginal") {

		estiloOriginal.cambiar()

	}

}
//Fin cambio estilo
 
Última edição:
HTML:
function OBJ(id){
	return document.getElementById(id);
}

function cambiarEstilo(estilo){
	estilo = window[estilo];
	for(i = 0; i < estilo.Ids.length; i++){
		if(estilo.colorTexts[i]){
			OBJ(estilo.Ids[i]).style.color = estilo.colorTexts[i];
		}
		if(estilo.bgColors[i]){
			OBJ(estilo.Ids[i]).style.background = estilo.bgColors[i];
		}
	}
}

nuevoEstilo = new Array()
	nuevoEstilo.Ids = ['boxInterior', 'resultadoCambio'];
	nuevoEstilo.colorTexts = ['#FFFFFF', '#333333'];
	nuevoEstilo.bgColors = ['#333333', '#FFFFFF'];

estiloOriginal = new Array()
	estiloOriginal.Ids = ['boxInterior', 'resultadoCambio'];
	estiloOriginal.colorTexts = ['#FFFFFF', '#013970'];
	estiloOriginal.bgColors = ['#013970', '#FFFFFF'];

Así es más lindo jaja
 
Última edição:
HTML:
function OBJ(id){
	return document.getElementById(id);
}

function cambiarEstilo(estilo){
	estilo = window[estilo];
	for(i = 0; i < estilo.Ids.length; i++){
		if(estilo.colorTexts[i]){
			OBJ(estilo.Ids[i]).style.color = estilo.colorTexts[i];
		}
		if(estilo.bgColors[i]){
			OBJ(estilo.Ids[i]).style.background = estilo.bgColors[i];
		}
	}
}

nuevoEstilo = new Array()
	nuevoEstilo.Ids = ['boxInterior', 'resultadoCambio'];
	nuevoEstilo.colorTexts = ['#FFFFFF', '#333333'];
	nuevoEstilo.bgColors = ['#333333', '#FFFFFF'];

estiloOriginal = new Array()
	estiloOriginal.Ids = ['boxInterior', 'resultadoCambio'];
	estiloOriginal.colorTexts = ['#FFFFFF', '#013970'];
	estiloOriginal.bgColors = ['#013970', '#FFFFFF'];

Así es más lindo jaja

Y por lo que veo, mas optimizado... Y eso decian que era muy bueno cuando hacia praticas... Ahora intentare comprender bien bien ese codigo y lo haré con mis manos, así aprendo, gracias pedazo de crack
 
Voltar
Topo