+ Antworten
Ergebnis 1 bis 4 von 4

Thema: Javascript Verlinking funktioniert nicht

  1. #1
    TP-Member Stickl macht alles soweit korrekt Avatar von Stickl
    Registriert seit
    Feb 2004
    Ort
    Aschaffenburg
    Beiträge
    69

    Javascript Verlinking funktioniert nicht

    Hallo, habe dieses Menue bei Phatfusion gefunden.

    http://www.inabauer.de/xmas_2009/imagemenu/xmas2009.htm

    Leider konnte ich nicht herausgefinden, was ich ändern muss, damit auf Klick der Link funktioniert. Das Bild muß nicht festgestellt bleiben bis zum nächsten Klick und das Fenster: Meldung von Website soll nicht erscheinen, sondern das Bild soll aufgehen, dann will ich draufklicken und der Link soll funktionieren.

    Vielen Dank für eure Hilfe, Stickl

    Hier ist der js

    /*********************************************************

    Script : Image Menu
    Version : 2.2
    Authors : Samuel Birch
    Desc :
    Licence : Open Source MIT Licence

    *********************************************************/

    var ImageMenu = new Class({

    getOptions: function(){
    return {
    onOpen: false,
    onClose: Class.empty,
    openWidth: 200,
    transition: Fx.Transitions.quadOut,
    duration: 400,
    open: null,
    border: 0
    };
    },

    initialize: function(elements, options){
    this.setOptions(this.getOptions(), options);

    this.elements = $$(elements);

    this.widths = {};
    this.widths.closed = this.elements[0].getStyle('width').toInt();
    this.widths.openSelected = this.options.openWidth;
    this.widths.openOthers = Math.round(((this.widths.closed*this.elements.length) - (this.widths.openSelected+this.options.border)) / (this.elements.length-1))


    this.fx = new Fx.Elements(this.elements, {wait: false, duration: this.options.duration, transition: this.options.transition});

    this.elements.each(function(el,i){
    el.addEvent('mouseenter', function(e){
    new Event(e).stop();
    this.reset(i);

    }.bind(this));

    el.addEvent('mouseleave', function(e){
    new Event(e).stop();
    this.reset(this.options.open);

    }.bind(this));

    var obj = this;

    el.addEvent('click', function(e){

    if(obj.options.onOpen){
    new Event(e).stop();
    if(obj.options.open == i){
    obj.options.open = null;
    obj.options.onClose(this.href, i);
    }else{
    obj.options.open = i;
    obj.options.onOpen(this.href, i);
    }


    }

    })

    }.bind(this));

    if(this.options.open){
    if($type(this.options.open) == 'number'){
    this.reset(this.options.open);
    }else{
    this.elements.each(function(el,i){
    if(el.id == this.options.open){
    this.reset(i);
    }
    },this);
    }
    }

    },

    reset: function(num){
    if($type(num) == 'number'){
    var width = this.widths.openOthers;
    if(num+1 == this.elements.length){
    width += this.options.border;
    }
    }else{
    var width = this.widths.closed;
    }

    var obj = {};
    this.elements.each(function(el,i){
    var w = width;
    if(i == this.elements.length-1){
    w = width+5
    }
    obj[i] = {'width': w};
    }.bind(this));

    if($type(num) == 'number'){
    obj[num] = {'width': this.widths.openSelected};
    }

    this.fx.start(obj);
    }

    });

    ImageMenu.implement(new Options);
    ImageMenu.implement(new Events);


    /********************************************************/

  2. #2
    TP-Insider Settler ist ein richtiges Arbeitstier - DANKE Settler ist ein richtiges Arbeitstier - DANKE Settler ist ein richtiges Arbeitstier - DANKE Settler ist ein richtiges Arbeitstier - DANKE Avatar von Settler
    Registriert seit
    Feb 2008
    Ort
    Marl
    Beiträge
    805
    onOpen:

    a function to execute when an item is clicked open. If there is an href within the li then that is passed to the function.

  3. #3
    TP-Member Stickl macht alles soweit korrekt Avatar von Stickl
    Registriert seit
    Feb 2004
    Ort
    Aschaffenburg
    Beiträge
    69
    Hallo Settler, danke, dass du dich mit meiner Frage befasst hast.
    ABER - ich weiss nicht, was ich tun muss :-( damit es funktioniert.

    Für weiteren Input bin ich dankbar, Ina

  4. #4
    TP-Member Stickl macht alles soweit korrekt Avatar von Stickl
    Registriert seit
    Feb 2004
    Ort
    Aschaffenburg
    Beiträge
    69
    Ich hab's!

    Habe die Option zwischenreinkopiert. Es funktioniert.
    Code nachfolgend, für alle die es interessiert.

    Noch mal - danke! Ina



    el.addEvent('click', function(e){

    if(obj.options.onOpen)
    var myMenu = new ImageMenu('imageMenu', {
    openWidth:528,
    onOpen:function(e,i){console.log(e)}
    });
    {
    new Event(e).stop();
    if(obj.options.open == i){
    obj.options.open = null;
    obj.options.onClose(this.href, i);
    }else{
    obj.options.open = i;
    obj.options.onOpen(this.href, i);
    }


    }

    })

    }.bind(this));

+ Antworten

Ähnliche Themen

  1. Javascript funktioniert im Firefox nicht
    Von Levis im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 19.03.2006, 00:58
  2. Javascript: Rollover funktioniert nicht
    Von dallasstar im Forum Javascript & Ajax
    Antworten: 27
    Letzter Beitrag: 10.01.2005, 15:06
  3. javascript funktioniert nicht?
    Von ToDoWaldi im Forum Javascript & Ajax
    Antworten: 11
    Letzter Beitrag: 23.07.2004, 12:35
  4. JavaScript funktioniert nicht
    Von asteri im Forum Javascript & Ajax
    Antworten: 9
    Letzter Beitrag: 15.04.2002, 00:57
  5. Warum funktioniert das Javascript nicht?!
    Von Niels im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 06.03.2002, 12:25

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51