PHP Classes

File: public/flat-admin/js/plugins/gmap/gmap3-menu.js

Recommend this page to a friend!
  Classes of adriano123456   Budget System   public/flat-admin/js/plugins/gmap/gmap3-menu.js   Download  
File: public/flat-admin/js/plugins/gmap/gmap3-menu.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Budget System
Elaborate budgets for purchases of products
Author: By
Last change:
Date: 15 days ago
Size: 2,135 bytes
 

Contents

Class file image Download
/** * class Gmap3Menu * display a menu on google maps * * dependencies: * gmap3 5.x * jquery 1.3+ * **/ function Gmap3Menu($div){ var that = this, items = [], ts = null, namespace = "gmap3-menu"; // create an item using a new closure function create(item){ var $item = $("<div class='item "+item.cl+"'>"+item.label+"</div>"); $item // bind click on item .click(function(){ if (typeof item.fnc === "function"){ item.fnc.apply($(this), []); } }) // manage mouse over coloration .hover( function(){$(this).addClass("hover");}, function(){$(this).removeClass("hover");} ); return $item; }; function clearTs(){ if (ts){ clearTimeout(ts); ts = null; } }; function initTs(t){ ts = setTimeout(function(){that.close()}, t); }; this.add = function(label, cl, fnc){ items.push({ label:label, fnc:fnc, cl:cl }); } // close previous and open a new menu this.open = function(event){ this.close(); var offset = {x:0, y:0}, $menu = $("<div id='"+namespace+"'></div>"); // add items in menu $.each(items, function(i, item){ $menu.append(create(item)); }); // manage auto-close menu on mouse hover / out $menu.hover( function(){clearTs();}, function(){initTs(3000);} ); // change the offset to get the menu visible (#menu width & height must be defined in CSS to use this simple code) if ( event.pixel.y + $menu.height() > $div.height()){ offset.y = -$menu.height(); } if ( event.pixel.x + $menu.width() > $div.width()){ offset.x = -$menu.width(); } // use menu as overlay $div.gmap3({ overlay:{ latLng: event.latLng, options:{ content: $menu, offset: offset }, tag: namespace } }); // start auto-close initTs(5000); } // close the menu this.close = function(){ clearTs(); $div.gmap3({clear:{name:"overlay", tag:namespace}}); } }