-
AuthorPosts
-
September 19, 2012 at 12:00 pm #467519
No change.
September 19, 2012 at 1:33 pm #467528No change on my end either….
September 19, 2012 at 2:43 pm #467532Thank you very much!
September 19, 2012 at 3:31 pm #467538I have to say, I’m not impressed. Behind schedule on a website for a client, and no update/fix available yet from Joomlart, re this dropdown issue.
September 19, 2012 at 4:01 pm #467541I got it working, overwrite your entire mega.js with this code, it is from the base jat3 template, worked perfectly for me.
/**
* ------------------------------------------------------------------------
* JA T3 System plugin for Joomla 1.7
* ------------------------------------------------------------------------
* Copyright (C) 2004-2011 J.O.O.M Solutions Co., Ltd. All Rights Reserved.
* @license - GNU/GPL, http://www.gnu.org/licenses/gpl.html
* Author: J.O.O.M Solutions Co., Ltd
* Websites: http://www.joomlart.com - http://www.joomlancers.com
* ------------------------------------------------------------------------
*/var jaMegaMenuMoo = new Class({
initialize: function(menu, options){
this.options = $extend({
slide: true, //enable slide
duration: 300, //slide speed. lower for slower, bigger for faster
fading: false, //Enable fading
bgopacity: 0.9, //set the transparent background. 0 to disable, 0<bgopacity<1: the opacity of the background
delayHide: 500,
direction: 'down',
action: 'mouseenter', //mouseenter or click
hidestyle: 'normal'
}, options || {});
//ignore delayHide if no animation
if (!this.options.slide && !this.options.fading) this.options.delayHide = 10;this.menu = menu;
this.childopen = new Array();
this.imageloaded = false;
this.loaded = false;
//window.addEvent('load', this.start.bind(this));
this.start();
},start: function () {
//do nothing if loaded
if (this.loaded) return;this.menu = $(this.menu);
//preload images
var images = this.menu.getElements ('img');
if (images && images.length && !this.imageloaded) {
var imgs = [];
images.each (function (image) {imgs.push(image.src)});
if (imgs.length) {
new Asset.images(imgs, {
onComplete: function(){
this.start();
}.bind(this)
});
this.imageloaded = true;//call this start if cannot load image after sometime
this.start.delay (3000, this);
return ;
}
}//mark as called
this.loaded = true;//get wrapper
p = this.menu;
while (p=p.getParent()) {
if (p.hasClass ('main') || p.hasClass ('wrap')) {this.wrapper = p; break;}
}
this.items = this.menu.getElements ('li.mega');
//this.items.setStyle ('position', 'relative');
this.items.each (function(li) {
//link item
if ((a = li.getElement('a.mega')) && this.isChild (a, li)) li.a = a;
else li.a = null;
//parent
li._parent = this.getParent (li);
//child content
if ((childcontent = li.getElement('.childcontent')) && this.isChild (childcontent, li)) {
li.childcontent = childcontent;
li.childcontent_inner = li.childcontent.getElement ('.childcontent-inner-wrap');
var coor = li.childcontent_inner.getCoordinates ();
li._w = li.getElement('.childcontent-inner').offsetWidth;
li._h = li.getElement('.childcontent-inner').offsetHeight;li.level0 = li.getParent().hasClass('level0');
//
li.childcontent.setStyles ({'width':li._w+10, 'height':li._h});
li.childcontent_inner.setStyles ({'width':li._w});
//fix for overflow
li.childcontent_inner1 = li.childcontent.getElement ('.childcontent-inner');
li.childcontent_inner1.ol = false;
if (li.childcontent_inner1.getStyle ('overflow') == 'auto' || li.childcontent_inner1.getStyle ('overflow') == 'scroll') {
li.childcontent_inner1.ol = true;
//fix for ie6/7
if (window.ie6 || window.ie7) {
li.childcontent_inner1.setStyle ('position', 'relative');
}if (window.ie6) {
li.childcontent_inner1.setStyle ('height', li.childcontent_inner1.getStyle ('max-height') || 400);
}
}//show direction
if (this.options.direction == 'up') {
if (li.level0) {
li.childcontent.setStyle ('top', -li.childcontent.offsetHeight); //ajust top position
} else {
li.childcontent.setStyle ('bottom', 0);
}
}
}
else li.childcontent = null;if (li.childcontent && this.options.bgopacity) {
//Make transparent background
var bg = new Element ('div', {'class':'childcontent-bg'});
bg.injectTop (li.childcontent_inner);
bg.setStyles ({'width':'100%', 'height':li._h, 'opacity':this.options.bgopacity,
'position': 'absolute', 'top': 0, 'left': 0, 'z-index': 1
});
if (li.childcontent.getStyle('background')) bg.setStyle ('background', li.childcontent.getStyle('background'));
if (li.childcontent.getStyle('background-image')) bg.setStyle ('background-image', li.childcontent.getStyle('background-image'));
if (li.childcontent.getStyle('background-repeat')) bg.setStyle ('background-repeat', li.childcontent.getStyle('background-repeat'));
if (li.childcontent.getStyle('background-color')) bg.setStyle ('background-color', li.childcontent.getStyle('background-color'));
li.childcontent.setStyle ('background', 'none');
li.childcontent_inner.setStyles ({'position':'relative', 'z-index': 2});
}if (li.childcontent && (this.options.slide || this.options.fading)) {
//li.childcontent.setStyles ({'width': li._w});
li.childcontent.setStyles ({'left':'auto'});
if (li.childcontent.hasClass ('right')) li.childcontent.setStyle ('right', 0);
if (this.options.slide) {
li.childcontent.setStyles ({'left':'auto', 'overflow':'hidden'});
if (li.level0) {
if (this.options.direction == 'up') {
li.childcontent_inner.setStyle ('bottom', -li._h-20);
} else {
li.childcontent_inner.setStyle ('margin-top', -li._h-20);
}} else {
li.childcontent_inner.setStyle ('margin-left', -li._w-20);
}
}
if (this.options.fading) {
li.childcontent_inner.setStyle ('opacity', 0);
}
//Init Fx.Styles for childcontent
//li.fx = new Fx.Styles(li.childcontent_inner, {duration: this.options.duration, transition: Fx.Transitions.linear, onComplete: this.itemAnimDone.bind(this, li)});
//li.fx = new Fx.Tween (li.childcontent_inner, {duration: this.options.duration, transition: Fx.Transitions.linear, onComplete: this.itemAnimDone.bind(this, li)});
// Dohq: Fix for use both fade & slide
li.fx = new Fx.Morph (li.childcontent_inner, {duration: this.options.duration, transition: Fx.Transitions.linear, onComplete: this.itemAnimDone.bind(this, li)});
//effect
//li.eff_on = {p:[],to:[]};
//li.eff_off = {p:[],to:[]};
li.eff_on = {};
li.eff_off = {};
if (this.options.slide) {
if (li.level0) {
if (this.options.direction == 'up') {
li.eff_on ['bottom'] = 0;
li.eff_off ['bottom'] = -li._h;// li.eff_on.p.push ('bottom');
// li.eff_on.to.push (0);
// li.eff_off.p.push ('bottom');
// li.eff_off.to.push (-li._h);
} else {
li.eff_on ['margin-top'] = 0;
li.eff_off ['margin-top'] = -li._h;// li.eff_on.p.push ('margin-top');
// li.eff_on.to.push (0);
// li.eff_off.p.push ('margin-top');
// li.eff_off.to.push (-li._h);
}
} else {
li.eff_on['margin-left'] = 0;
li.eff_off['margin-left'] = -li._w;// li.eff_on.p.push ('margin-left');
// li.eff_on.to.push (0);
// li.eff_off.p.push ('margin-left');
// li.eff_off.to.push (-li._w);
}
}
if (this.options.fading) {
li.eff_on ['opacity'] = 1;
li.eff_off['opacity'] = 0;
// li.eff_on = ['opacity',1];
// li.eff_off = ['opacity',0];// li.eff_on.p.push ('opacity');
// li.eff_on.to.push (1);
// li.eff_off.p.push ('opacity');
// li.eff_off.to.push (0);
}
}if (this.options.action=='click' && li.childcontent) {
li.addEvent('click', function(e) {
var event = new Event (e);
if (li.hasClass ('group')) return;
if (li.childcontent) {
if (li.status == 'open') {
if (this.cursorIn (li, event)) {
this.itemHide (li);
} else {
this.itemHideOthers(li);
}
} else {
this.itemShow (li);
}
} else {
if (li.a) location.href = li.a.href;
}
event.stopPropagation();
}.bind (this));
}if (this.options.action == 'mouseover' || this.options.action == 'mouseenter') {
li.addEvent('mouseenter', function(e) {
if (li.hasClass ('group')) return;
$clear (li.timer);
this.itemShow (li);
if (!e.stopped) {
e.stopPropagation();
e.stopped = true; //make sure the stop function is call only once
}
}.bind (this));li.addEvent('mouseleave', function(e) {
if (li.hasClass ('group')) return;
$clear (li.timer);
if (li.childcontent) li.timer = this.itemHide.delay(this.options.delayHide, this, [li, e]);
else this.itemHide (li, e);
if (!e.stopped) {
e.stopPropagation();
e.stopped = true; //make sure the stop function is call only once
}
}.bind (this));//if has childcontent, don't goto link before open childcontent - fix for touch screen
if (li.a && li.childcontent) {
li.clickable = false;
li.a.addEvent ('click',function (e){
if (!li.clickable) {
new Event(e).stop();
}
}.bind (this));
}//stop if click on menu item - prevent raise event to container => hide all open submenu
li.addEvent ('click', function (e) {new Event(e).stopPropagation()});
}//when click on a link - close all open childcontent
if (li.a && !li.childcontent) {
li.a.addEvent ('click',function (e){
this.itemHideOthers (null);
//Remove current class
this.menu.getElements ('.active').removeClass ('active');
//Add current class
var p = li;
while (p) {
p.addClass ('active');
p.a.addClass ('active');
p = p._parent;
}
new Event (e).stopPropagation();//prevent to raise event up
}.bind (this));
}if (li.childcontent) this.positionSubmenu (li);
},this);//click on windows will close all submenus
var container = $('ja-wrapper');
if (!container) container = document.body;
container.addEvent ('click',function (e) {
this.itemHideOthers(null);
}.bind(this));if (this.options.slide || this.options.fading) {
//hide all content child
this.menu.getElements('.childcontent').setStyle ('display', 'none');
}},
getParent: function (li) {
var p = li;
while ((p=p.getParent())) {
if (this.items.contains (p) && !p.hasClass ('group')) return p;
if (!p || p == this.menu) return null;
}
},cursorIn: function (el, event) {
if (!el || !event) return false;
var pos = $merge (el.getPosition(), {'w':el.offsetWidth, 'h': el.offsetHeight});;
var cursor = {'x': event.page.x, 'y': event.page.y};if (cursor.x>pos.x && cursor.x<pos.x+el.offsetWidth
&& cursor.y>pos.y && cursor.y<pos.y+el.offsetHeight) return true;
return false;
},isChild: function (child, parent) {
return !!parent.getChildren().contains (child);
},itemOver: function (li) {
if (li.hasClass ('haschild'))
li.removeClass ('haschild').addClass ('haschild-over');
li.addClass ('over');
if (li.a) {
li.a.addClass ('over');
}
},itemOut: function (li) {
if (li.hasClass ('haschild-over'))
li.removeClass ('haschild-over').addClass ('haschild');
li.removeClass ('over');
if (li.a) {
li.a.removeClass ('over');
}
},itemShow: function (li) {
clearTimeout(li.timer);
if (li.status == 'open') return; //don't need do anything
//Setup the class
this.itemOver (li);
//push to show queue
li.status = 'open';
this.enableclick.delay (100, this, li);
this.childopen.push (li);
//hide other
this.itemHideOthers (li);
if (li.childcontent) {
//reposition the submenu
this.positionSubmenu (li);
}if (!$defined(li.fx) || !$defined(li.childcontent)) return;
li.childcontent.setStyle ('display', 'block');
li.childcontent.setStyles ({'overflow': 'hidden'});
if (li.childcontent_inner1.ol) li.childcontent_inner1.setStyles ({'overflow': 'hidden'});
li.fx.cancel();li.fx.start (li.eff_on);
//li.fx.start (li.eff_on.p, li.eff_on.to);
//if (li._parent) this.itemShow (li._parent);
},itemHide: function (li, e) {
if (e && e.page) { //if event
if (this.cursorIn (li, e) || this.cursorIn (li.childcontent, e)) {
return;
} //cursor in li
var p=li._parent;
if (p && !this.cursorIn (p, e) && !this.cursorIn(p.childcontent, e)) {
p.fireEvent ('mouseleave', e); //fire mouseleave event
}
}
clearTimeout(li.timer);
this.itemOut(li);
li.status = 'close';
this.childopen.erase (li);if (!$defined(li.fx) || !$defined(li.childcontent)) return;
if (li.childcontent.getStyle ('opacity') == 0) return;
li.childcontent.setStyles ({'overflow': 'hidden'});
if (li.childcontent_inner1.ol) li.childcontent_inner1.setStyles ({'overflow': 'hidden'});
li.fx.cancel();
switch (this.options.hidestyle) {
case 'fast':
li.fx.options.duration = 100;
li.fx.start(Object.merge(li.eff_off,{'opacity':0}));
//li.fx.start ($merge(li.eff_off,{'opacity':0}));
//li.fx.start(li.eff_off.p, li.eff_off.to);
break;
case 'fastwhenshow': //when other show
if (!e) { //force hide, not because of event => hide fast
li.fx.start (Object.merge(li.eff_off,{'opacity':0}));
//li.fx.options.duration = 300;
//li.fx.start ($merge(li.eff_off,{'opacity':0}));
//li.fx.start(li.eff_off.p, li.eff_off.to);
} else { //hide as normal
li.fx.start (li.eff_off);
//li.fx.start (li.eff_off);
//li.fx.start(li.eff_off.p, li.eff_off.to);
}
break;
case 'normal':
default:
li.fx.start (li.eff_off);
//li.fx.start(li.eff_off.p, li.eff_off.to);
break;
}
//li.fx.start (li.eff_off);
},itemAnimDone: function (li) {
//hide done
if (li.status == 'close'){
//reset duration and enable opacity if not fading
if (this.options.hidestyle.test (/fast/)) {
li.fx.options.duration = this.options.duration;
if (!this.options.fading) li.childcontent_inner.setStyle ('opacity', 1);
}
//hide
li.childcontent.setStyles ({'display': 'none'});
this.disableclick.delay (100, this, li);
}//show done
if (li.status == 'open'){
li.childcontent.setStyles ({'overflow': ''});
if (li.childcontent_inner1.ol) li.childcontent_inner1.setStyles ({'overflow-y': 'auto'});
li.childcontent_inner.setStyle ('opacity', 1);
li.childcontent.setStyles ({'display': 'block'});
}
},itemHideOthers: function (el) {
var fakeevent = null
if (el && !el.childcontent) fakeevent = {};
var curopen = this.childopen;
curopen.each (function(li) {
if (li && typeof (li.status) != 'undefined' && (!el || (li != el && !li.hasChild (el)))) {
this.itemHide(li, fakeevent);
}
},this);
},enableclick: function (li) {
if (li.a && li.childcontent) li.clickable = true;
},
disableclick: function (li) {
if (li.a && li.childcontent) li.clickable = false;
},positionSubmenu: function (li) {
if (li.level0) {
if (!window.isRTL) {
//check position
var lcor = li.getCoordinates();
var ccor = li.childcontent.getCoordinates();
if(!ccor.width)
{
li.childcontent.setStyle ('display', 'block');
ccor = li.childcontent.getCoordinates();
li.childcontent.setStyle ('display', 'none');
}var ml = 0;
var l = lcor.left;
var r = l + ccor.width;
if (this.wrapper) {
var wcor = this.wrapper.getCoordinates();
l = l - wcor.left;
r = wcor.right - r + 10;
} else {
r = window.getWidth() - r + 10;
}
if (l < 0 || l+r < 0) {
ml = - l;
} else if (r < 0) {
ml = r;
}
if (ml != 0) li.childcontent.setStyle ('margin-left', ml);
} else {
//check position
var lcor = li.getCoordinates();
var ccor = li.childcontent.getCoordinates();
if(!ccor.width)
{
li.childcontent.setStyle ('display', 'block');
ccor = li.childcontent.getCoordinates();
li.childcontent.setStyle ('display', 'none');
}
var mr = 0;
var r = lcor.right;
var l = r - ccor.width;
if (this.wrapper) {
var wcor = this.wrapper.getCoordinates();
l = l - wcor.left;
r = wcor.right - r + 10;
} else {
r = window.getWidth() - r + 10;
}
if (r < 0 || l+r < 0) {
mr = - r;
} else if (l < 0) {
mr = l;
}
if (mr != 0) li.childcontent.setStyle ('margin-right', mr);
}
} else {
//check if it's out of view-port
var lcor = li.getCoordinates();
var ccor = li.childcontent.getCoordinates();
if(!ccor.width)
{
li.childcontent.setStyle ('display', 'block');
ccor = li.childcontent.getCoordinates();
li.childcontent.setStyle ('display', 'none');
}
var ml = 0;
var l = ccor.left;
var r = l + ccor.width;
if (this.wrapper) {
var wcor = this.wrapper.getCoordinates();
l = l - wcor.left;
r = wcor.right - r + 10;
} else {
r = window.getWidth() - r + 10;
}
if (r < 0) {
//change the direction and position for submenu
li.childcontent.setStyle ('margin-left', -ccor.width + 20);
//li.eff_on['margin-left'] = 0;
//li.eff_off['margin-left'] = li._w + 20;
li.childcontent_inner.setStyle ('margin-left', li._w + 20);
}
}
}
});
September 19, 2012 at 4:48 pm #467547Hi Ametzler – thanks for your reply. Yes, I got it working on the homepage, but on any subsequent page, the dropdowns don’t work…… http://www.costa.c-meonline.com
kennatechnical Friendkennatechnical
- Join date:
- January 2011
- Posts:
- 28
- Downloads:
- 0
- Uploads:
- 10
- Thanks:
- 10
September 20, 2012 at 12:57 am #467569same problem here. Did the mega.js edit and working on the homepage but nothing on the other pages. grrrrrrr!
Please help. This is a very nice template……thanks!
Ninja Lead ModeratorNinja Lead
- Join date:
- November 2014
- Posts:
- 16064
- Downloads:
- 310
- Uploads:
- 2864
- Thanks:
- 341
- Thanked:
- 3854 times in 3563 posts
September 20, 2012 at 1:31 am #467570@cirymarr: This is screenshot from your site
I see the dropdown menu your site run as fine. Please clear cache from admin area let me know if you still error.
@kennatechnical: Please send PM me with URL, Admin access and ftp account. I will you check it
@beachstant: I checked on your site and could see that it runs with old JA University template version, you can download the later version here then pls re-install only “JA University Template (1.08 MB)” and open this path and my fix with drop menu.<blockquote>templates/ja_university/js/menu</blockquote>
override menu.js on path above
kennatechnical Friendkennatechnical
- Join date:
- January 2011
- Posts:
- 28
- Downloads:
- 0
- Uploads:
- 10
- Thanks:
- 10
September 20, 2012 at 1:33 am #467571Well i freaking figured out my problem any way all. I installed the JoomlaCK editor and enabled it through the global config. I did it a while ago and forgot to test it until several hours later…….tricking my mind into thinking it was something else related.
I turn it off, my megamenu works; turn it on, it doesn’t.Probably not related to others issues but it certainly has affected mine………….now i can sleep a little easier tonight 🙂
Ninja Lead ModeratorNinja Lead
- Join date:
- November 2014
- Posts:
- 16064
- Downloads:
- 310
- Uploads:
- 2864
- Thanks:
- 341
- Thanked:
- 3854 times in 3563 posts
eliasparra Friendeliasparra
- Join date:
- January 2012
- Posts:
- 46
- Downloads:
- 0
- Uploads:
- 3
- Thanks:
- 20
- Thanked:
- 1 times in 1 posts
September 24, 2012 at 8:16 am #467929Hello, I have the same problem with the dropdawn menu (Mega menu) in Ja University.
Ich did a Tiket letzt week.
Please can help me someone¿?.
ThankyouEP
Ninja Lead ModeratorNinja Lead
- Join date:
- November 2014
- Posts:
- 16064
- Downloads:
- 310
- Uploads:
- 2864
- Thanks:
- 341
- Thanked:
- 3854 times in 3563 posts
September 25, 2012 at 1:42 am #468018<em>@eliasparra 339449 wrote:</em><blockquote>Hello, I have the same problem with the dropdawn menu (Mega menu) in Ja University.
Ich did a Tiket letzt week.
Please can help me someone¿?.
ThankyouEP</blockquote>
We have released new University version, please download here and update templates/ja_university/jsmenu/mega.js file
1 user says Thank You to Ninja Lead for this useful post
eliasparra Friendeliasparra
- Join date:
- January 2012
- Posts:
- 46
- Downloads:
- 0
- Uploads:
- 3
- Thanks:
- 20
- Thanked:
- 1 times in 1 posts
September 26, 2012 at 8:41 am #468184Hello Ninja, thankyou!!. I think, Sherlock Holmes has helped me with the Mega Menu.
I think, I don´t need to update the template now or not?.
I will send you (pM) the Acces Information from me site.Now, I would ask you, what is the modul, or boton-atribute from the circle Botons-line under the slideshow from template Ja University¿?.
I need to do the same acces, maybe with another botondesign, but the prinzip/the basis, is the same.Cann you say me, what kind for Module is the button there (for Ex. Management, Accounting, Economics and the other onces).
I puted, just a exemple in me Home-project, It is on the position User5. But I need the same button-play (is function with mouse over…to introduce the Link to Categorie or somewhere else).
Thankyou and Regard Ninja
EP
: I will send you the account information to me project.
Ninja Lead ModeratorNinja Lead
- Join date:
- November 2014
- Posts:
- 16064
- Downloads:
- 310
- Uploads:
- 2864
- Thanks:
- 341
- Thanked:
- 3854 times in 3563 posts
September 27, 2012 at 4:19 am #468313@eliasparra: You mean this module here
This is custom html module, you can find it on user guide of JA University Template (with search “1. Department list”).
eliasparra Friendeliasparra
- Join date:
- January 2012
- Posts:
- 46
- Downloads:
- 0
- Uploads:
- 3
- Thanks:
- 20
- Thanked:
- 1 times in 1 posts
September 28, 2012 at 8:02 am #468460Helo Ninja, Thankyou very much for your help. Yes it was thies modul, but I have founded It, and I allready have well do it.
Now, I have a small “problemm” with a Sample Banner window in Mega Menu. I have read, the guide, but It not function for me, I don´t know, where is me problem with the Sample Banner¿?.
2- I have another question. It is posible to do a Register-Modul for Re-Editor-People just for some parts of the Site (not for all!). Eventually just for a one or two categoryes no more¿?. So cann some people Re-Edit just thies parts (Categorie, not other parts) with a menber Login account, do you understand¿?.
Ninja, thankyou again, you are a very good team!!!.
Elías
AuthorPostsThis topic contains 31 replies, has 9 voices, and was last updated by Ninja Lead 12 years, 1 month ago.
We moved to new unified forum. Please post all new support queries in our New Forum