I am trying to add a submenu to a Jquery lavalamp, but i dont know how.
This is what i made so far. The only thing left i think is to set hover over submenu items.
code:
HTML:
- <ul class="lavaLampWithImage" id="lava_menu">
- <li><a href="#">Menu 1</a> </li>
- <li><a href="#">Menu 2</a>
- <ul class="sub-menu">
- <li>
- <a href="#">Sub Menu 1</a>
- <a href="#">Sub Menu 2</a>
- <a href="#">Sub Menu 3</a>
- </li>
- </ul>
- </li>
- <li><a href="#">Menu 3</a></li>
- </ul>
CSS:
jquery.lavalamp.min.js:
- (function($){$.fn.lavaLamp=function(o){o=$.extend({fx:"linear",speed:500,click:function(){}},o||{});return this.each(function(){var b=$(this),noop=function(){},$back=$('<li class="back"><div class="left"></div></li>').appendTo(b),$li = $(".mainNav", 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(a){$back.css({"left":a.offsetLeft+"px","width":a.offsetWidth+"px"});curr=a};function move(a){$back.each(function(){$.dequeue(this,"fx")}).animate({width:a.offsetWidth,left:a.offsetLeft},o.speed,o.fx)}})}})(jQuery);