Viewing 15 posts - 16 through 30 (of 31 total)
  • Author
    Posts
  • ametzler79 Friend
    #467519

    No change.

    cirymarr Friend
    #467528

    No change on my end either….

    1option Friend
    #467532

    Thank you very much!

    cirymarr Friend
    #467538

    I 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.

    ametzler79 Friend
    #467541

    I 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);
    }
    }
    }
    });

    cirymarr Friend
    #467547

    Hi 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 Friend
    #467569

    same 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 Moderator
    #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


    1. University
    1. mega.zip
    kennatechnical Friend
    #467571

    Well 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 Moderator
    #467801

    @cybernun: I applied this fix to the error on both your site. Please check it again.

    eliasparra Friend
    #467929

    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¿?.
    Thankyou

    EP

    Ninja Lead Moderator
    #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¿?.
    Thankyou

    EP</blockquote>

    We have released new University version, please download here and update templates/ja_university/jsmenu/mega.js file

    eliasparra Friend
    #468184

    Hello 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 Moderator
    #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 Friend
    #468460

    Helo 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

Viewing 15 posts - 16 through 30 (of 31 total)

This 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