Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Atributo css no se asigna

Estas en el tema de Atributo css no se asigna en el foro de Jquery en Foros del Web. Hola, necesito hacer un formulario en el que, al ingresar un número y dar clic en un botón, dicho número se le agregue como margin-top ...
  #1 (permalink)  
Antiguo 06/12/2015, 19:12
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 15 años, 3 meses
Puntos: 8
Atributo css no se asigna

Hola, necesito hacer un formulario en el que, al ingresar un número y dar clic en un botón, dicho número se le agregue como margin-top a un div en especifico. Lo he hecho de la siguiente manera:

Código HTML:
Ver original
  1. <input type="number" id="distancia" name="distancia" placeholder="Distancia...">
  2. <button id="calcular">Calcular</button>

Código Javascript:
Ver original
  1. $('#calcular').on('click',function(){
  2.     var distancia = $('#distancia').val();
  3.     console.log(distancia);
  4.     $('.globo').css('margin-top',+ distancia + ' px');
  5. });

Con el console.log he comprobado que la variable distancia si esta obteniendo el valor del campo, sin embargo no se le agrega como atributo al div .globo. Tampoco sale ningún error en la consola.

He probado cambiar la ultima línea por:

$('.globo').css('margin-top','50 px');

y de esa manera sí funciona pero como ya expliqué al inicio, necesito que el margin sea el ingresado por el usuario en el input.

Espero puedan ayudarme
  #2 (permalink)  
Antiguo 07/12/2015, 11:41
 
Fecha de Ingreso: diciembre-2015
Ubicación: Pachuca Hidalgo
Mensajes: 6
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: Atributo css no se asigna

creo que te sobra un + en tu codigo
Código Javascript:
Ver original
  1. $('.globo').css('margin-top', distancia + ' px');
pruebalo asi haber si te funciona
  #3 (permalink)  
Antiguo 07/12/2015, 13:43
Avatar de AngelKrak  
Fecha de Ingreso: noviembre-2014
Mensajes: 917
Antigüedad: 10 años
Puntos: 91
Respuesta: Atributo css no se asigna

para que Funcione es como te dijo osvaldo ;)

Seria algo asi:
Código Javascript:
Ver original
  1. 'margin-top', distancia + 'px'
Asignas al css, que Baje X Pixeles, Asignas la Variable Distancia(para que recoja el valor del input) y le sumas el + para especificar que 'px' sea el texto después de la Variable.

Un Ejemplo(Puedes dejarlo asi, pero no se movera por que no le estas asignando que quieres que baje(Pixeles, Porcentajes, etc..)
Código Javascript:
Ver original
  1. 'margin-top', distancia

Ahi te dejo un Ejemplo con Pixeles y Porcentajes:

Demo:
http://codepen.io/AngelKrak/pen/bENgWO

Código HTML:
Ver original
  1. <div class="uno">
  2. <input type="number" id="distancia" name="distancia" placeholder="Distancia...">
  3. <button id="calcular">Calcular</button>
  4. <div class="globo">Se ha Movido <span></span></div>
  5. </div>
  6.  
  7. <div class="dos">
  8. <input type="number" id="distancia2" name="distancia" placeholder="Distancia...">
  9. <button id="calcular2">Calcular</button>
  10. <div class="globo2">Se ha Movido <span></span></div>
  11. </div>

Código Javascript:
Ver original
  1. //Con Pixeles
  2. $('#calcular').click(function() {
  3.   var distancia = $('#distancia').val();
  4.   $(".globo span").text(distancia + "px");
  5.   $('.globo').css('margin-top', distancia + 'px');
  6. });
  7.  
  8. //Con Porcentajes
  9. $('#calcular2').click(function() {
  10.   var distancia2 = $('#distancia2').val();
  11.   $(".globo2 span").text(distancia2 + "%");
  12.   $('.globo2').css('margin-top', distancia2 + '%');
  13. });
  #4 (permalink)  
Antiguo 08/12/2015, 17:38
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 15 años, 3 meses
Puntos: 8
Respuesta: Atributo css no se asigna

Muchas gracias a ambos, el problema era justamente eso.

Etiquetas: css
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:14.