Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] insertar imagen en código

Estas en el tema de insertar imagen en código en el foro de Jquery en Foros del Web. Hola, Buenas, Estoy tratando de insertar una pequeña imagen con una medida exacta en una ventana emergente de un plugin verificador de edad y no ...
  #1 (permalink)  
Antiguo 03/01/2016, 09:33
 
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 114
Antigüedad: 12 años, 9 meses
Puntos: 0
insertar imagen en código

Hola, Buenas,

Estoy tratando de insertar una pequeña imagen con una medida exacta en una ventana emergente de un plugin verificador de edad y no se exactamente en que lenguaje esta creado este código, creo que es Jquery. A continuación mostrare el código del plugin que estoy utilizando al cual quiero insertar la imagen y una muestra del ejemplo que quiero realizar.

Este archivo tambien dispone de un archivo .css, si es necesario mostrarlo decirlo para añadirlo.



Código del plugin

Código HTML:
/* 
 * Plugin: ageCheck.js
 * Description: A simple plugin to verify user's age. Uses sessionStorage API to store if user is verified - only kept until browser is closed.
 * Options can be passed for easy customization. 
 * Author: Michael Soriano
 * Author's website: http://fearlessflyer.com*
 * 
 */
(function ($){   
    
    $.ageCheck = function(options) {
        
        var settings = $.extend({
            minAge : 18,          
            redirectTo : '', 
            title : 'Adosan innovation group',  
            copy : 'Este sitio web requiere que tener [18] años o más para entrar. Por favor, introduzca su fecha de nacimiento:'
        }, options);
        
        
        var _this = {
            month : '',  
            day : '',  
            year : '',   
            age : '',
            errors : Array(), 
            setValues : function(){
                var month = $('.month').val();
                var day = $('.day').val()
                _this.month = month; 
                _this.day = day.replace(/^0+/, ''); //remove leading zero
                _this.year = $('.year').val();
            },
            validate : function(){
                _this.errors = [];
                if (/^([0-9]|[12]\d|3[0-1])$/.test(_this.day) === false) {
                    _this.errors.push('Day is invalid or empty');
                };
                if (/^(19|20)\d{2}$/.test(_this.year) === false) {
                    _this.errors.push('Year is invalid or empty');
                };
                _this.clearErrors();
                _this.displayErrors();
                return _this.errors.length < 1;
            }, 
            clearErrors : function(){         
                $('.errors').html('');
            }, 
            displayErrors : function(){
                var html = '<ul>';
                for (var i = 0; i < _this.errors.length; i++) {
                    html += '<li><span>x</span>' + _this.errors[i] + '</li>';
                }
                html += '</ul>';
                setTimeout(function(){$('.errors').html(html)},200);
            },
            reCenter : function (b){
                b.css("top", Math.max(0, (($(window).height() - (b.outerHeight() + 150)) / 2) + 
                                            $(window).scrollTop()) + "px");
                b.css("left", Math.max(0, (($(window).width() - b.outerWidth()) / 2) + 
                                            $(window).scrollLeft()) + "px");
            }, 
            buildHtml : function(){
            
                var copy = settings.copy; 
                var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
                var html = '';
                html += '<div class="ac-overlay"></div>';
                html += '<div class="ac-container">';
                html += '<h2>' + settings.title + '</h2>';
                html += '<p>' + copy.replace('[21]','<strong>'+settings.minAge+'</strong>'); + '</p>';
                html += '<div class="errors"></div>';
                html += '<div class="fields"><select class="month">';
                for(var i=0;i<months.length;i++){
                    html += '<option value="'+i+'">'+months[i]+'</option>'
                }
                html += '</select>';
                html += '<input class="day" maxlength="2" placeholder="01" />';
                html += '<input class="year" maxlength="4" placeholder="1989"/>';
                html += '<button>Submit</button></div></div>';
				
                $('body').append(html);
                
                $('.ac-overlay').animate({
                    opacity: 0.8
                }, 500, function() {
                    _this.reCenter($('.ac-container'));
                    $('.ac-container').css({opacity: 1})
                });
            }, 
            setAge : function(){
                _this.age = '';                 
                var birthday = new Date(_this.year, _this.month, _this.day);  
                var ageDifMs = Date.now() - birthday.getTime();
                var ageDate = new Date(ageDifMs); // miliseconds from epoch
                _this.age = Math.abs(ageDate.getUTCFullYear() - 1970);
            }, 
            setSessionStorage  : function(key, val){
                try {
                    sessionStorage.setItem(key,val);
                    return true;
                } catch (e) {
                    return false;
                }
            },
            handleSuccess : function(){                
                var successMsg = '<h3>Success!</h3><p>You are now being redirected back to the application...</p>';
                $('.ac-container').html(successMsg);
                setTimeout(function(){
                    $('.ac-container').animate({'top':'-350px'},200, function(){
                         $('.ac-overlay').animate({'opacity':'0'},500, function(){
                            if (settings.redirectTo != '') {
                                window.location.replace(settings.redirectTo);
                            }else{
                                $('.ac-overlay, .ac-container').remove();
                            }
                         });
                    });
                },2000);
            }
            
        }; //end _this
         
        if(sessionStorage.getItem("ageVerified") == "true"){
            return false;
        }
        
        _this.buildHtml();  
        
        $('.ac-container button').on('click', function(){
            _this.setValues();
            if (_this.validate() === true) {
                _this.setAge();
                
                if(_this.age >= settings.minAge){
                    if(!_this.setSessionStorage("ageVerified", "true")){
                        console.log('sessionStorage not supported by your browser');
                    };
                    _this.handleSuccess();
                }else{
                    _this.errors.push('You are not old enough');
                    _this.displayErrors();
                }
            }
        });
        
        $(window).resize(function() {
            _this.reCenter($('.ac-container'));
            setTimeout(function() {
                _this.reCenter($('.ac-container'));
            }, 500);
        });
    };
	
}(jQuery));
  #2 (permalink)  
Antiguo 03/01/2016, 19:03
 
Fecha de Ingreso: diciembre-2015
Ubicación: Valencia
Mensajes: 61
Antigüedad: 8 años, 10 meses
Puntos: 10
Respuesta: insertar imagen en código

Simplemente te vas a la linea donde está el html con el boton submit y añades otra llinea.

Buscas
Código Javascript:
Ver original
  1. html += '</select>';
  2.                 html += '<input class="day" maxlength="2" placeholder="01" />';
  3.                 html += '<input class="year" maxlength="4" placeholder="1989"/>';
  4.                 html += '<button>Submit</button></div></div>';

Y añades otra linea

Código Javascript:
Ver original
  1. html += '</select>';
  2.                 html += '<input class="day" maxlength="2" placeholder="01" />';
  3.                 html += '<input class="year" maxlength="4" placeholder="1989"/>';
  4.                 html += '<button>Submit</button>';
  5.                 html += '<img src="URL_IMAGEN" alt=""/></div></div>';
  #3 (permalink)  
Antiguo 04/01/2016, 07:03
 
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 114
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: insertar imagen en código

Hola, Gracias por contestar.

He añadido la linea que has puesto al archivo, pero no aparece absolutamente nada, lo más raro es que cuando cambio algún otro dato como puede ser un texto que ya haya en el archivo si aparece el cambio, pero el nuevo código de la imagen o algún otro, no. ¿Habrá que modificar algo más?

El plugin que estoy utilizando es el de esta web.

http://michaelsoriano.com/jquery-plugin-check-user-age/
  #4 (permalink)  
Antiguo 04/01/2016, 10:43
 
Fecha de Ingreso: diciembre-2015
Ubicación: Valencia
Mensajes: 61
Antigüedad: 8 años, 10 meses
Puntos: 10
Respuesta: insertar imagen en código

Si la ruta de la imagen es correcta debería aparecer sin problemas, prueba a limpiar caché, quizás no se está visualizando. En ese JS no hay nada más, simplemente hay que ir a la parte de HTML para añadir la imágen, y es esa.
  #5 (permalink)  
Antiguo 04/01/2016, 14:03
 
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 114
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: insertar imagen en código

Buenas, he probado a borrar la cache y aparece en el footer de la página, es decir en la zona inferior del todo en el lado izquierdo. ¿Cual podría ser el problema por el que esta imagen no aparece dentro del propup emergente?

Una cosa que iba a comentar es que para que este propop apareciera en wordpress tube que añadir el siguiente código para que apareciera, no se si tendrá algo de influencia con la ventana emergente o es independiente.

Código HTML:
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
        <link href="agecheck.css" rel="stylesheet" />
        <script src="jquery.agecheck.js"></script>
        <script>
            $(document).ready(function(){ 
                var minAge = $('select').val();
                $('select').on('change', function(){
                   minAge = $(this).val(); 
                });
                $('button').on('click', function(){
                    sessionStorage.clear();
                    $.ageCheck({minAge: minAge});
                });
                $.ageCheck({minAge: minAge});      
            });  
        </script> 
Por cierto tengo otro plugin en PHP funcionando en wordpress, quizas sea más facil de modificar o manejar que el actual, el problema es que se abre directamente y me gustaría que se abriera en una ventana emergente y al verificar la edad de cerrara, esto sería posible de alguna manera en wordpress?.

Última edición por nosempres; 04/01/2016 a las 14:38
  #6 (permalink)  
Antiguo 05/01/2016, 15:06
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 11 años, 2 meses
Puntos: 39
Respuesta: insertar imagen en código

Con Jquery es muy fácil añadir un elemento insertBefore, insertAfter, appendTo, etc
__________________
velarde23.com - Soluciones Web
  #7 (permalink)  
Antiguo 06/01/2016, 06:40
 
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 114
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: insertar imagen en código

Insertar lo inserto, pero la imagen aparece en un sitio que no debería aparecer, se añade en el footer de wordpress y no en la ventana emergente del plugin, es super raro..; probablemente haya que modificar algo más porque no aparece correctamente.

Tengo el código de un plugin PHP verificador de edad, y ya que no consigo por el momento insertar la imagen en este, si alguien sabe como podría crear una ventana emergente en wordpress y esta visualice el archivo sería tambien de gran ayuda.
  #8 (permalink)  
Antiguo 06/01/2016, 09:24
Avatar de g3kdigital  
Fecha de Ingreso: noviembre-2013
Ubicación: En mi apartamento en bogotá
Mensajes: 208
Antigüedad: 11 años
Puntos: 39
Respuesta: insertar imagen en código

Y la imagen tiene que estar embebida? lo pregunto porque puedes agregar un elemento ::after al contenedor del formulario y colocar la imagen como background.

¿Puedes pasar a codepen, un demo de tu proyecto? así podría ayudarte más.
__________________
Puedes ser el tipo de persona que se amarga por lo inevitable o aceptar el reto de superarse siempre e ir a la par con el progreso.

WEB: G3K.co | codepen.io/g3kdigital
  #9 (permalink)  
Antiguo 06/01/2016, 15:03
 
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 114
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: insertar imagen en código

Te lo he añadido a codepen, creo que lo he hecho bien pero no estoy seguro, nunca lo he utilizado. Le he dado a guardar y te facilito la url para ver si te aparece.

http://codepen.io/anon/pen/LGWJXq

Si te sirve de ayuda el plugin que utilizo es el siguiente.

http://michaelsoriano.com/jquery-plugin-check-user-age/

Última edición por nosempres; 06/01/2016 a las 15:09
  #10 (permalink)  
Antiguo 08/01/2016, 07:35
 
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 114
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: insertar imagen en código

Hola,

He conseguido añadir la imagen. Ahora el inconveniente que aparece es, que si la pongo debajo de la ultima linea de código html donde se me ha indicado, aparece en el footer de la página web fuera de la ventana emergente.

Código HTML:
    html += '</select>';
               html += '<input class="day" maxlength="2" placeholder="01" />';
               html += '<input class="year" maxlength="4" placeholder="1989"/>';
               html += '<button>Submit</button></div></div>';
En cambio si la pongo justo encima de la linea botton la imagen sí aparece en el lado derecho de donde aparece el botón para acceder y el botón debajo del cuadrado donde hay que introducir el año de nacimiento.

Código HTML:
    html += '</select>';
               html += '<input class="day" maxlength="2" placeholder="01" />';
               html += '<input class="year" maxlength="4" placeholder="1989"/>';
               html += '<IMG SRC="http://www.lacumwines.com/wine-moderation.png">';
               html += '<button>Submit</button></div></div>';

¿Hay alguna manera de centrar la imagen debajo de estas solapas y no salga fuera del cuadrado al footer?.


Quizás hay que cerrar el código para que no salga fuera de la ventana emergente o ajustar la altura de la ventana, pero por más que busco no veo la altura. (Esto es una suposición mia).

Última edición por nosempres; 08/01/2016 a las 07:51
  #11 (permalink)  
Antiguo 08/01/2016, 08:09
Avatar de g3kdigital  
Fecha de Ingreso: noviembre-2013
Ubicación: En mi apartamento en bogotá
Mensajes: 208
Antigüedad: 11 años
Puntos: 39
Respuesta: insertar imagen en código

No se porque no se puede insertar la imagen donde debe ser en js.

Sin embargo, sí que pude comprobar que se puede hacer solo con css, solo agrega esta linea de código en tu stylesheet.

Código CSS:
Ver original
  1. .ac-container::after {
  2.     content: '';
  3.     background: url('http://lacumwines.com/wine-moderation.png');
  4.     width: 190px;
  5.     height: 45px;
  6.     display: inline-block;
  7.     background-repeat: no-repeat;
  8.     background-size: 100% auto;
  9.     margin-top: 10px;
  10. }
__________________
Puedes ser el tipo de persona que se amarga por lo inevitable o aceptar el reto de superarse siempre e ir a la par con el progreso.

WEB: G3K.co | codepen.io/g3kdigital
  #12 (permalink)  
Antiguo 08/01/2016, 08:29
 
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 114
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: insertar imagen en código

Perfecto g3kdigital, ahora si aparece correctamente amigo.

Hay alguna otra manera de añadir un texto que diga bienvenido encima de la frase; Este sitio web requiere que tener años..... debería ser el texto un poco mayor que el que hay.

Por cierto muchas gracias por la ayuda, llevo semanas con esto sin dar un palo al agua.
  #13 (permalink)  
Antiguo 08/01/2016, 15:18
Avatar de g3kdigital  
Fecha de Ingreso: noviembre-2013
Ubicación: En mi apartamento en bogotá
Mensajes: 208
Antigüedad: 11 años
Puntos: 39
Respuesta: insertar imagen en código

Si se puede, con ese mismo código, solo tienes que modificar el content, el ancho y el alto y agregar una propiedad más.:

Código CSS:
Ver original
  1. .ac-container::after {
  2.  
  3. /*Aqui agregas la frase*/
  4.     content: 'Este sitio web requiere que tener años...';
  5.  
  6. /*Cambias la altura y el ancho del seudoelemento con el fin de que quepa la frase y haya espacio para la imagen*/
  7.     width: 190px;
  8.     height: 95px;
  9.  
  10.     background: url('http://lacumwines.com/wine-moderation.png');
  11.     display: inline-block;
  12.     background-repeat: no-repeat;
  13.     background-size: 100% auto;
  14.     margin-top: 10px;
  15.  
  16. /*Agregas esta propiedad, de esa manera la imagen permanecera centrada y abajo*/
  17.     background-position: center bottom;
  18. }

Nos avisas como te fue.
__________________
Puedes ser el tipo de persona que se amarga por lo inevitable o aceptar el reto de superarse siempre e ir a la par con el progreso.

WEB: G3K.co | codepen.io/g3kdigital
  #14 (permalink)  
Antiguo 09/01/2016, 06:27
 
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 114
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: insertar imagen en código

He agregado este nuevo código en el archivo .css, pero no aparece en la ventana emergente, supongo que tendre que agregar algo más en el archivo jquery.agecheck donde aparecen las lineas HTML?. En caso de ser así que tendría que añadir.

Gracias.
  #15 (permalink)  
Antiguo 31/03/2016, 04:58
 
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 114
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: insertar imagen en código

Hola Buenas,

Pido porfavor algún moderador del foro que elimine la imagen del primer mensaje que aparece en este post, y quite el nombre que aparece en los códigos que aparece en la misma imagen con el nombre.

Gracias.

Etiquetas: Ninguno
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 20:01.