Foros del Web » Programando para Internet » Javascript »

Duplicacion del la imagen efecto lupa o zoom

Estas en el tema de Duplicacion del la imagen efecto lupa o zoom en el foro de Javascript en Foros del Web. Buenas, observando el comportamiento de la lupa que coloque en una pagina sobre las imagenes principales de cada producto, resulta que cuando paso por encima ...
  #1 (permalink)  
Antiguo 13/05/2011, 07:58
 
Fecha de Ingreso: febrero-2007
Ubicación: Caracas
Mensajes: 148
Antigüedad: 17 años, 8 meses
Puntos: 6
Duplicacion del la imagen efecto lupa o zoom

Buenas, observando el comportamiento de la lupa que coloque en una pagina sobre las imagenes principales de cada producto, resulta que cuando paso por encima de la imagen se queda una imagen de la lupa duplicada pero estatica.

A continuacion el codigo que tengo, ojo esta mezclado con PHP y JavaScript y llama al archivo JS.

Todo lo que este a continuacion es de un mismo archivo plantilla_detalle.php

Código:
<script src="jquery.js" type="text/javascript"></script>
	<script src="jquery.imageLens.js" type="text/javascript"></script>
	<script type="text/javascript" language="javascript">
		$(function () {
			$("#img_01").imageLens();
					});	
	</script>
Código PHP:
<?php

    
if(file_exists($_SERVER[DOCUMENT_ROOT] . "/proyectocrossh/img/productos/1-" $data_id ".jpg")) {

    
        echo 
"<a href='/proyectocrossh/img/productos/1-" $data_id ".jpg' title='" $data_titulo  "'><img id='img_01' src='/proyectocrossh/img/productos/1-" $data_id ".jpg' alt='" $data_titulo "' border='0' width='360' height='361' /></a>";
        
    }
    else
    {
        echo 
"<img src='/proyectocrossh/img/trans.gif' alt='" $data_titulo "' border='0' width='360' height='361' />";
    }
    
?>
solo queria saber donde puedo colocar este codigo, que en el ejemplo lo colocan en el final del documento a diferencia de que mi archivo .php no tiene ni el encabezado html, head, body en estos casos como se pone ,
Código:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>	
<script type="text/javascript">	
try{var pageTracker = _gat._getTracker("UA-2030729-5");
pageTracker._initData();
pageTracker._trackPageview();}catch(ex){}
</script>
y aqui el JS

Código:
/*  
    http://www.dailycoding.com/ 
*/
(function ($) {
    $.fn.imageLens = function (options) {

        var defaults = {
            lensSize: 180,
            borderSize: 1,
            borderColor: "#888"
			
        };
        var options = $.extend(defaults, options);
        var lensStyle = "background-position: 0px 0px;width: " + String(options.lensSize) + "px;height: " + String(options.lensSize)
            + "px;float: left;display: none;border-radius: " + String(options.lensSize / 2 + options.borderSize)
            + "px;border: " + String(options.borderSize) + "px solid " + options.borderColor 
            + ";background-repeat: no-repeat;position: fixed;";

        return this.each(function () {
            obj = $(this);

            var offset = $(this).offset();

            // Creating lens
            var target = $("<div style='" + lensStyle + "' class='" + options.lensCss + "'>&nbsp;</div>").appendTo($(this).parent());
            var targetSize = target.size();

            // Calculating actual size of image
            var imageSrc = options.imageSrc ? options.imageSrc : $(this).attr("src");
            var imageTag = "<img style='display:none;' src='" + imageSrc + "' />";

            var widthRatio = 0;
            var heightRatio = 0;

            $(imageTag).load(function () {
                widthRatio = $(this).width() / obj.width();
                heightRatio = $(this).height() / obj.height();
            }).appendTo($(this).parent());

            target.css({ backgroundImage: "url('" + imageSrc + "')" });

            target.mousemove(setPosition);
            $(this).mousemove(setPosition);

            function setPosition(e) {

                var leftPos = parseInt(e.pageX - offset.left);
                var topPos = parseInt(e.pageY - offset.top);

                if (leftPos < 0 || topPos < 0 || leftPos > obj.width() || topPos > obj.height()) {
                    target.hide();
                }
                else {
                    target.show();

                    leftPos = String(((e.pageX - offset.left) * widthRatio - target.width() / 2) * (-1));
                    topPos = String(((e.pageY - offset.top) * heightRatio - target.height() / 2) * (-1));
                    target.css({ backgroundPosition: leftPos + 'px ' + topPos + 'px' });

                    leftPos = String(e.pageX - target.width() / 2);
                    topPos = String(e.pageY - target.height() / 2);
                    target.css({ left: leftPos + 'px', top: topPos + 'px' });
                }
            }
        });
    };
})(jQuery);
Este ejemplo lo baje de la pagina http://www.ajaxshake.com/ y http://www.dailycoding.com/
  #2 (permalink)  
Antiguo 13/05/2011, 08:16
 
Fecha de Ingreso: febrero-2007
Ubicación: Caracas
Mensajes: 148
Antigüedad: 17 años, 8 meses
Puntos: 6
Respuesta: Duplicacion del la imagen efecto lupa o zoom

Nota: Aqui esta el enlace de la pagina

http://www.cross-home.com/proyectocr...&id=0020000170
  #3 (permalink)  
Antiguo 16/05/2011, 08:57
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años, 7 meses
Puntos: 43
Respuesta: Duplicacion del la imagen efecto lupa o zoom

ya cheque tu pagina, simula que hace el efecto, pero al encajar las lineas esta sin el zoom, deja veo que puedo hacer para ayudarte....

Hay alguien por favor que nos pueda orientar con este codigo, esta interesante el tema pero aun no hemos podido encontrar la logica....

U alguna otra forma de como realizarlo..

GRACIAS .... !!!!! =)
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #4 (permalink)  
Antiguo 18/05/2011, 08:09
 
Fecha de Ingreso: febrero-2007
Ubicación: Caracas
Mensajes: 148
Antigüedad: 17 años, 8 meses
Puntos: 6
Respuesta: Duplicacion del la imagen efecto lupa o zoom

Cita:
Iniciado por Ximenitaa Ver Mensaje
ya cheque tu pagina, simula que hace el efecto, pero al encajar las lineas esta sin el zoom, deja veo que puedo hacer para ayudarte....

Hay alguien por favor que nos pueda orientar con este codigo, esta interesante el tema pero aun no hemos podido encontrar la logica....

U alguna otra forma de como realizarlo..

GRACIAS .... !!!!! =)
Gracias por tu apoyo, actualmente la pagina como veras le quite ese efecto, mienstras soluciono la duplicacion de la imagen, lo otro de la imagen de miniatura pasarla a grande :D ,pero ya solucione ahora no se ve bien mosca no se asusten, menos mal que tenia en mi correo los archivos mas recientes de la pagina.
  #5 (permalink)  
Antiguo 18/05/2011, 09:51
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años, 7 meses
Puntos: 43
Respuesta: Duplicacion del la imagen efecto lupa o zoom

sale pues ...
Saludos....

oye una pregunta tendras algun manual de ajax o css k sepas k sirve para principiantes si es asi te lo agradezco k me lo envies a mi correo x fa...

gracias !!
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #6 (permalink)  
Antiguo 18/05/2011, 11:40
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años, 6 meses
Puntos: 71
Respuesta: Duplicacion del la imagen efecto lupa o zoom

Cita:
Iniciado por Anna Carolina Ver Mensaje
Buenas, observando el comportamiento de la lupa que coloque en una pagina sobre las imagenes principales de cada producto, resulta que cuando paso por encima de la imagen se queda una imagen de la lupa duplicada pero estatica.

A continuacion el codigo que tengo, ojo esta mezclado con PHP y JavaScript y llama al archivo JS.

Todo lo que este a continuacion es de un mismo archivo plantilla_detalle.php

Código:
<script src="jquery.js" type="text/javascript"></script>
	<script src="jquery.imageLens.js" type="text/javascript"></script>
	<script type="text/javascript" language="javascript">
		$(function () {
			$("#img_01").imageLens();
					});	
	</script>
Código PHP:
<?php

    
if(file_exists($_SERVER[DOCUMENT_ROOT] . "/proyectocrossh/img/productos/1-" $data_id ".jpg")) {

    
        echo 
"<a href='/proyectocrossh/img/productos/1-" $data_id ".jpg' title='" $data_titulo  "'><img id='img_01' src='/proyectocrossh/img/productos/1-" $data_id ".jpg' alt='" $data_titulo "' border='0' width='360' height='361' /></a>";
        
    }
    else
    {
        echo 
"<img src='/proyectocrossh/img/trans.gif' alt='" $data_titulo "' border='0' width='360' height='361' />";
    }
    
?>
solo queria saber donde puedo colocar este codigo, que en el ejemplo lo colocan en el final del documento a diferencia de que mi archivo .php no tiene ni el encabezado html, head, body en estos casos como se pone ,
Código:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>	
<script type="text/javascript">	
try{var pageTracker = _gat._getTracker("UA-2030729-5");
pageTracker._initData();
pageTracker._trackPageview();}catch(ex){}
</script>
y aqui el JS

Código:
/*  
    http://www.dailycoding.com/ 
*/
(function ($) {
    $.fn.imageLens = function (options) {

        var defaults = {
            lensSize: 180,
            borderSize: 1,
            borderColor: "#888"
			
        };
        var options = $.extend(defaults, options);
        var lensStyle = "background-position: 0px 0px;width: " + String(options.lensSize) + "px;height: " + String(options.lensSize)
            + "px;float: left;display: none;border-radius: " + String(options.lensSize / 2 + options.borderSize)
            + "px;border: " + String(options.borderSize) + "px solid " + options.borderColor 
            + ";background-repeat: no-repeat;position: fixed;";

        return this.each(function () {
            obj = $(this);

            var offset = $(this).offset();

            // Creating lens
            var target = $("<div style='" + lensStyle + "' class='" + options.lensCss + "'>&nbsp;</div>").appendTo($(this).parent());
            var targetSize = target.size();

            // Calculating actual size of image
            var imageSrc = options.imageSrc ? options.imageSrc : $(this).attr("src");
            var imageTag = "<img style='display:none;' src='" + imageSrc + "' />";

            var widthRatio = 0;
            var heightRatio = 0;

            $(imageTag).load(function () {
                widthRatio = $(this).width() / obj.width();
                heightRatio = $(this).height() / obj.height();
            }).appendTo($(this).parent());

            target.css({ backgroundImage: "url('" + imageSrc + "')" });

            target.mousemove(setPosition);
            $(this).mousemove(setPosition);

            function setPosition(e) {

                var leftPos = parseInt(e.pageX - offset.left);
                var topPos = parseInt(e.pageY - offset.top);

                if (leftPos < 0 || topPos < 0 || leftPos > obj.width() || topPos > obj.height()) {
                    target.hide();
                }
                else {
                    target.show();

                    leftPos = String(((e.pageX - offset.left) * widthRatio - target.width() / 2) * (-1));
                    topPos = String(((e.pageY - offset.top) * heightRatio - target.height() / 2) * (-1));
                    target.css({ backgroundPosition: leftPos + 'px ' + topPos + 'px' });

                    leftPos = String(e.pageX - target.width() / 2);
                    topPos = String(e.pageY - target.height() / 2);
                    target.css({ left: leftPos + 'px', top: topPos + 'px' });
                }
            }
        });
    };
})(jQuery);
Este ejemplo lo baje de la pagina [url]http://www.ajaxshake.com/[/url] y [url]http://www.dailycoding.com/[/url]

Hola Srita. Carolina....

Bueno respecto a lo de tu efecto de zoom que quieres hacer podrias intenterlo con este pluggin, veo que utilizas JQuwey, por lo cual no creo que te sea de mucha dificultad implementarlo.

http://demo.tutorialzine.com/2010/06/apple-like-retina-effect-jquery-css/demo.html

Espero que te sea de Utilidad...

SALUDOS y EXITO !!!
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #7 (permalink)  
Antiguo 26/05/2011, 08:37
 
Fecha de Ingreso: febrero-2007
Ubicación: Caracas
Mensajes: 148
Antigüedad: 17 años, 8 meses
Puntos: 6
Respuesta: Duplicacion del la imagen efecto lupa o zoom

Cita:
Iniciado por Ximenitaa Ver Mensaje
sale pues ...
Saludos....

oye una pregunta tendras algun manual de ajax o css k sepas k sirve para principiantes si es asi te lo agradezco k me lo envies a mi correo x fa...

gracias !!
Amiguis no tengo manual de AJAX, lo tengo en fisico, y casi ni lo uso , por que ya hay aplicaciones que se pueden colocar en nuestras paginas, pero googlear es la mejor opcion, o por aqui en este mismo foro

Etiquetas: duplicacion, efecto, lupa, zoom
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 12:55.