Выпадающее меню не работает в Chrome
Интегрировал выпадающее меню на JQuerry в шаблон joomla. В ForeFox работает нормально, но в Chrome и Opera меню выпадать отказывается. Демо меню здесь:
Chrome выдает следующую ошибку: Uncaught TypeError: Cannot set property 'display' of undefined o.fn.extend.showjquery.min.js:19 megaHoverOvermunu.js:5 $.fn.hoverIntent.comparejquery.hoverIntent.minified.js:9 $.fn.hoverIntent.handleHoverjquery.hoverIntent.minified.js:9 minified.js code: ** * hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+ * <http://cherne.net/brian/resources/jquery.hoverIntent.html> * * @param f onMouseOver function || An object with configuration options * @param g onMouseOut function || Nothing (use configuration options object) * @author Brian Cherne <brian@cherne.net> */ (function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery); munu.js $(document).ready(function() { function megaHoverOver(){ $(this).find(".sub").stop().fadeTo('fast', 1).show(); //Calculate width of all ul's (function($) { jQuery.fn.calcSubWidth = function() { rowWidth = 0; //Calculate row $(this).find("ul").each(function() { rowWidth += $(this).width(); }); }; })(jQuery); if ( $(this).find(".row").length > 0 ) { //If row exists... var biggestRow = 0; //Calculate each row $(this).find(".row").each(function() { $(this).calcSubWidth(); //Find biggest row if(rowWidth > biggestRow) { biggestRow = rowWidth; } }); //Set width $(this).find(".sub").css({'width' :biggestRow}); $(this).find(".row:last").css({'margin':'0'}); } else { //If row does not exist... $(this).calcSubWidth(); //Set Width $(this).find(".sub").css({'width' : rowWidth}); } } function megaHoverOut(){ $(this).find(".sub").stop().fadeTo('fast', 0, function() { $(this).hide(); }); } var config = { sensitivity: 1, // number = sensitivity threshold (must be 1 or higher) interval: 1, // number = milliseconds for onMouseOver polling interval over: megaHoverOver, // function = onMouseOver callback (REQUIRED) timeout: 1, // number = milliseconds delay before onMouseOut out: megaHoverOut // function = onMouseOut callback (REQUIRED) }; $("ul#topnav li .sub").css({'opacity':'0'}); $("ul#topnav li").hoverIntent(config); }); CSS .container { width: 960px; padding: 0; margin: 0 auto; } ul#topnav { margin: 0; padding: 0; float:left; width: 100%; list-style: none; font-size: 1.1em; } ul#topnav li { float: left; margin: 0; padding: 0; position: relative; } ul#topnav li a { float: left; text-indent: -9999px; height: 44px; } ul#topnav li:hover a, ul#topnav li a:hover { background-position: left bottom; } ul#topnav a.home { background: url(../images/blue/nav_home.png) no-repeat; width: 78px; } ul#topnav a.products { background: url(../images/blue/nav_products.png) no-repeat; width: 117px; } ul#topnav a.sale { background: url(../images/blue/nav_sale.png) no-repeat; width: 124px; } ul#topnav a.community { background: url(../images/blue/nav_community.png) no-repeat; width: 124px; } ul#topnav a.store { background: url(../images/blue/nav_store.png) no-repeat; width: 141px; } .sub { position: absolute; top: 44px; left: 0; background: #344c00 url(../images/blue/sub_bg.png) repeat-x; padding: 20px 20px 20px; float: left; /*--Bottom right rounded corner--*/ -moz-border-radius-bottomright: 5px; -khtml-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; /*--Bottom left rounded corner--*/ -moz-border-radius-bottomleft: 5px; -khtml-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; display: none; } ul#topnav li .sub { position: absolute; top: 44px; left: 0; background: #344c00 url(../images/blue/sub_bg.png) repeat-x; padding: 20px 20px 20px; float: left; border-radius: 5px; /*--Bottom right rounded corner--*/ -moz-border-radius-bottomright: 5px; -khtml-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; /*--Bottom left rounded corner--*/ -moz-border-radius-bottomleft: 5px; -khtml-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; display: none; } ul#topnav li .row { clear: both; float: left; width: 100%; margin-bottom: 10px;} ul#topnav li .sub ul{ list-style: none; margin: 0; padding: 0; width: 150px; float: left; } ul#topnav .sub ul li { width: 100%; color: #fff; } ul#topnav .sub ul li h2 { padding: 0; margin: 0; font-size: 1.3em; font-weight: normal; } ul#topnav .sub ul li h2 a { padding: 5px 0; background-image: none; color: #e8e000; } ul#topnav .sub ul li a { float: none; text-indent: 0; /*--Reset text indent--*/ height: auto; background: url(../images/blue/navlist_arrow.png) no-repeat 5px 12px; padding: 7px 5px 7px 15px; display: block; text-decoration: none; color: #fff; } ul#topnav .sub ul li a:hover {color: #ddd; background-position: 5px 12px ;}` Демо Chrome воспроизводит нормально, но после интеграции меню в шаблон Joomla Chrome не видит элемент <.sub> Помогите, если есть такая возможность. |
дайте лучше ссылку на неработающий сайт.
и minified.js code: можно не вставлять - все равно в нем кроме брауузера хрен кто разберется ) |
Часовой пояс GMT +3, время: 00:29. |