Comunidad de diseño web y desarrollo en internet online

Problema con el Plugin JQuery Lavalamp

Citar            
MensajeEscrito el 14 Dic 2012 05:50 pm
Hola,

¿Hay alguien familiarizado con el menú lavalamp? Por alguna razón, el subrayado me hace deslizar por debajo de todas mis opciones del menú de la lista no va a permanecer en la página actual cuando se hace clic en esa página. Por ejemplo, independientemente de si hago clic en contacto nosotros, Blog, o biografía, el subrayado siempre volverá a sentarse debajo del botón de página de inicio cuando la nueva página se carga. Esto es extraño porque puedo ver el código lavalamp viene con una función que se supone para realizar esta tarea correctamente.

¿Puede alguien ver lo que tendría que hacer para que funcione?

Código Javascript :

(function($) {
$.fn.lavaLamp = function(o) {
        o = $.extend({ fx: "linear", speed: 500, click: function(){} }, o || {});

        return this.each(function() {
                var me = $(this), noop = function(){},
                        $back = $('<li class="back"><div class="left"></div></li>').appendTo(me),
                        $li = $("li", this), curr = $("li.current", this)[0] || $($li[0]).addClass("current")[0];

                $li.not(".back").hover(function() {
                        move(this);
                }, noop);

                $(this).hover(noop, function() {
                        move(curr);
                });

                $li.click(function(e) {
                        setCurr(this);
                        return o.click.apply(this, [e, this]);
                });

                setCurr(curr);

                function setCurr(el) {
                        $back.css({ "left": el.offsetLeft+"px", "width": el.offsetWidth+"px" });
                        curr = el;
                };

                function move(el) {
                        $back.each(function() {
                                $(this).dequeue(); }
                        ).animate({
                                width: el.offsetWidth,
                                left: el.offsetLeft
                        }, o.speed, o.fx);
                };

        });
};
})(jQuery);

Por talentocomputo

38 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 Dic 2012 06:02 pm
Lo que experimentas es el comportamiento normal y esperable de toda página web. Simplemente cuando cargas cualquier página, el script Lavalamp no sabe ni tiene forma de saber cómo estaba en la página anterior o si hay una página anterior en el historial de navegación.

A menos, claro, que tú se lo indiques de alguna manera...

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 14 Dic 2012 08:25 pm
Lo solucione y lo hice con PHP en mi caso, ya que yo llamo a este menu mediante un include, esto lo hago para evitarme actulizar la pagina uno por uno,bueno si nos damos cuenta y revisamos codigo, gracias San Google por tu herramienta.....hay una clase current cada ves que el link pasa po el menu, esa clase se aactiva...bueno aqui el codigo:

Esto funciona si trabajas con includes:
<?php
function dameURL(){
$url="http://".$_SERVER['HTTP_HOST'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'];
return $url;
}
?>
<div id="nav">
<?php
$url = dameURL();
?>
<div id="nav-container">
<div id="top-nav" style="line-height: 23px;">
<ul class="lavaLampBottomStyle" id="3">
<li <?php if (eregi("index",$url)){echo 'class="current"';};?>><a href="index.php" onclick="abrir('index.php');return false">Inicio</a></li>
<li <?php if (eregi("nosotros",$url)){echo 'class="current"';};?>><a href="nosotros.php" onclick="abrir('nosotros.php');return false">Nosotros</a></li>
<li <?php if (eregi("productos",$url)){echo 'class="current"';};?>><a href="productos.php" onclick="abrir('productos.php');return false">Productos</a></li>
<li <?php if (eregi("ubicacion",$url)){echo 'class="current"';};?>><a href="ubicacion.php" onclick="abrir('ubicacion.php');return false">Ubicación</a></li>
<li <?php if (eregi("contactanos",$url)){echo 'class="current"';};?>><a href="contactanos.php" onclick="abrir('contactanos.php');return false">Contáctenos</a></li>
</ul>
</div>
</div><!-- End nav-container -->
</div><!-- End nav -->

Si lo haces estaticamente tan solo en cada pagina deberas añadir manualmente la clase a la lista.

<li class="current"'><a href="contactanos.php" >Contáctenos</a></li>

Lo intente hacer con javascript y jquery pero no me funciono asi que obte por php :D

Por talentocomputo

38 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.