Ergebnis 1 bis 6 von 6

Thema: Rotieren unterbrechen bei onmouseover

  1. #1
    BSendes
    Gast

    Standard Rotieren unterbrechen bei onmouseover

    Hallo!

    Ich habe heute mal versucht den Imageslider so zu modifizieren, dass die Rotation unterbrochen wird, sobald man mit der Maus über das angezeigte Bild fährt und weitergeht, sobald man das Bild wieder verlässt.

    Allerdings stellte sich das doch deutlich schwerer raus als gedacht, da ich die passenden Methoden nicht aufrufen konnte, weil man nicht auf die passende Variable zugreifen kann.

    Hat da einer von Euch eine Idee oder vielleicht sogar schonmal das Problem selbst gehabt und gelöst?

    Grüsse
    Benjamin

  2. #2
    Contao-Nutzer Avatar von kmrohe
    Registriert seit
    22.01.2011.
    Ort
    marburg.hessen.de
    Beiträge
    41

    Standard

    Eine kleine Anregung: Falls es keine bessere Lösung gibt (so genau habe ich mir den Code jetzt nicht angesehen) sollte es gehen, wenn du das Javascript modifizierst. Dazu hängst Du einen weiteren Event-Handler an den Image-Slider, der bei der Aktion mouseover die bereits bestehende Methode "stop" und bei mouseout "start" aufruft (siehe Buttons).

    Etwas in der Art: V1.addEvent('mouseover',V1.stop.bind(V1));
    V1.addEvent('mouseout',V1.play.bind(V1,[false]));

    Der Image-Slider arbeitet anscheinend mit eigenen IDs ('1' in diesm Fall), achte bei Deinen Versuchen darauf. Wo genau der Event-Handler angehängt werden muß (ich habe der Einfachheit halber V1 benutzt) mußt Du ausprobieren. Wo die einzelnen Scripte liegen (ausser in plugins/imageslider) und der js-Ausgabecode erzeugt wird, weiß ich nicht.

    Viel Erfolg,
    Kostja

  3. #3
    Contao-Nutzer
    Registriert seit
    25.02.2011.
    Beiträge
    5

    Standard imageslider bei mouseover stoppen

    ich hab das wie folgt gelöst:

    die Datei "system/modules/imageslider/ContentImageslider.php" öffnen. Suchen nach der Zeile 116:
    $autoplay = "V" . $objSettings->id . ".play(true);";
    und nach dieser Zeile folgenden Code einfügen, speichern, fertig
    PHP-Code:
        $controls =    "$('elements" $objSettings->id "').addEvent('mouseout',V" $objSettings->id ".play.bind(V" $objSettings->id ",[false]));
    $('elements" 
    $objSettings->id "').addEvent('mouseover',V" $objSettings->id ".stop.bind(V" $objSettings->id "));";
        
    $addControls true;
        
    $this->Template->controls true;
        
    $this->Template->control $control
    Nun stopt die Rotation beim Überfahren der Bilder und startet wieder nach dem Verlassen mit dem Mauszeiger.

    Die Lösung ist zwar nicht ganz sauber, denn durch ein Update der Erweiterung kann es durchaus sein daß der Code überschrieben wird. Aber dennoch ein verwendbare Lösung denk ich.

  4. #4
    BSendes
    Gast

    Standard

    @datashop:

    Super!
    Vielen Dank, das funktioniert genau so, wie ich es haben will!

  5. #5
    Contao-Nutzer Avatar von Tastaturberuf
    Registriert seit
    14.03.2011.
    Ort
    Berlin
    Beiträge
    197
    User beschenken
    Wunschliste

    Standard

    Hallo Datashop,

    leider funktioniert es bei mir nicht. Das Javascript verändert sich auch nicht und sieht nach wie vor genau so aus:

    Code:
    window.addEvent('domready',function()
    {
    //is-js-start
    	var V1 = new viewer( $$('#elements1 img)' ),
    	{
    		sizes: {w:960,h:200},
    		mode: 'rand',
    		modes: ['alpha'],
    		fxOptions:{ duration: 1000  },
    		interval: 10000
    	});
    	V1.playRandom();$('prev1').addEvent('click',V1.previous.bind(V1));
    $('next1').addEvent('click',V1.next.bind(V1));;
    //is-js-end
    Ich benutze die Version 1.1.0 stable Build 33. Vielleicht kann mir jemand weiterhelfen?

    Vielen Dank.

  6. #6
    Contao-Nutzer
    Registriert seit
    25.02.2011.
    Beiträge
    5

    Standard Hallo Cord

    Das liegt denk ich daran daß du bei der Bildrotation die Buttons aktiviert hast.
    Versuche bei den Einstellungen des entsprechenden ImageSlider beim Punkt "Button" den Haken bei "Buttons aktivieren" rauszunehmen.

    Meine Lösung welche ich oben angegeben habe ist nur für einen Slider ohne Play/Stop bzw Prev/Next Button vorgesehen.

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Wie erstelle ich einen Hilfetext (onmouseover)
    Von lichtfest im Forum Allgemeine Inhaltselemente
    Antworten: 5
    Letzter Beitrag: 06.06.2011, 13:49
  2. Hilfestellung zu Navigation benötigt (Untermenü anzeigen bei onMouseOver)
    Von tofo im Forum Layout / Templates / Holy Grail
    Antworten: 2
    Letzter Beitrag: 01.03.2011, 23:21
  3. Slimbox v1.41 onMouseover? onRollover
    Von bruc13 im Forum Entwickler-Fragen
    Antworten: 4
    Letzter Beitrag: 29.07.2009, 08:14

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •