Toon posts:

javascript mouseover

Pagina: 1
Acties:
  • 150 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik zit met de volgende kwestie:

Ik ben momenteel een site aan het bouwen die bestaat uit een top, left, main en right frame.
De top, left en right frame zijn menupaginas. Elk menuframe heeft een javascript die een menu-item bij selectie als geselecteerd toont. Door het selecteren van een menu-item veranderd puur en alleen het main frame.
Druk ik vervolgens in een ander menuframe op een menu-item, wordt dit menu-item ook geselecteerd door het javascript in het desbetreffende frame.
is het mogelijk het eerst geselecteerde menu-item bij selectie van een menu-item in een ander frame te unselecten?

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 00:15
Tuurlijk kan dat. Alleen is het wel ingewikkeld. Maar als jij gewoon netjes bij elke link een functie maakt die aan de hand van een array van het aantal menuknoppen van de index (pffffffft) een bepaalde knop als "set" beschouwt, lukt het perfect.

* Dennis denkt aan de Pelle website, die zo'n 'superfunctie' nog mist ;(

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 20:13
ddc:
* Willem denkt aan de Pelle website, die zo'n 'superfunctie' nog mist ;(
Dat gaat toch helemaal niet op? Die heeft slechts 'enkele' navigatie...

Motor (of auto) onderhoud bijhouden


Verwijderd

Topicstarter
Op woensdag 13 februari 2002 20:52 schreef ddc het volgende:
Tuurlijk kan dat. Alleen is het wel ingewikkeld. Maar als jij gewoon netjes bij elke link een functie maakt die aan de hand van een array van het aantal menuknoppen van de index (pffffffft) een bepaalde knop als "set" beschouwt, lukt het perfect.

/me denkt aan de Pelle website, die zo'n 'superfunctie' nog mist ;(
wat is de pelle website? is daar informatie omtrend mijn bovengeschreven kwestie te raadplegen?
Is javascript niet frame-afhankelijk?

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 20:13
prod:
wat is de pelle website? is daar informatie omtrend mijn bovengeschreven kwestie te raadplegen?
Is javascript niet frame-afhankelijk?
SPAM : http://home.wanadoo.nl/j.van.veelen/

Maar volgens mij gaat jouw probleem daar helemaal niet op.

Motor (of auto) onderhoud bijhouden


Verwijderd

Topicstarter
Op woensdag 13 februari 2002 21:25 schreef willem169 het volgende:

[..]

SPAM : http://home.wanadoo.nl/j.van.veelen/

Maar volgens mij gaat jouw probleem daar helemaal niet op.
nee niet echt, dat is een redelijk standaard websitetje, overigens werken op die website de mouseovers niet in mijn ns6 browser.

Verwijderd

Topicstarter
Op woensdag 13 februari 2002 20:52 schreef ddc het volgende:
Tuurlijk kan dat. Alleen is het wel ingewikkeld. Maar als jij gewoon netjes bij elke link een functie maakt die aan de hand van een array van het aantal menuknoppen van de index (pffffffft) een bepaalde knop als "set" beschouwt, lukt het perfect.

/me denkt aan de Pelle website, die zo'n 'superfunctie' nog mist ;(
Dit is dus de enigste manier volgens jullie?

Verwijderd

Op woensdag 13 februari 2002 21:27 schreef prod het volgende:

nee niet echt, dat is een redelijk standaard websitetje,
:D Komt er geinig uit...

Verwijderd

Topicstarter
Op woensdag 13 februari 2002 20:12 schreef prod het volgende:
Ik zit met de volgende kwestie:

Ik ben momenteel een .......frame te unselecten?
iemand?
Een optie die ik zou kunnen toepassen is het refreshen van alle frames, maar dan zou ik net zogoed frames achterwege kunnen laten. Laat ik zeggen dat dat mijn laatste redmiddel is.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 00:05

RM-rf

1 2 3 4 5 7 6 8 9

Op donderdag 14 februari 2002 10:46 schreef prod het volgende:

[..]

iemand?
Een optie die ik zou kunnen toepassen is het refreshen van alle frames, maar dan zou ik net zogoed frames achterwege kunnen laten. Laat ik zeggen dat dat mijn laatste redmiddel is.
netscape kent de fantastische 'string.watch()' method, waarmee je een variabele kan laten monitoren, bv de window.location.href van andere frame en vervolgens bij verandering een reset-functie laten aanroepen.

msie kent dat niet, maar het s wel eenvoudig te simuleren, via een setInterval("watchFunctietje('variabele', 'aanteroepenfunctie()')", 1000)
en function watchFunctietje(variabele)
{
sla de oorspronkelijke waarde op in een extra waarde
controleer of deze waarde overeenkomt met de te controleren waarde, als dat niet zo is roep je de 'aanteroepenfunctie()' (bv resetfunctie()) op en vervang je 'extra waarde' weer door de huidige (als je ten minste door wilt gan met de watch, anders moet je de interval ook resetten, via de interval ID)

om erachter te komen welke item de vorige keer geselecteerd was kun je bv het object in een prevItem variabele opslaan bij het selecteren
}

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Bluestorm
  • Registratie: Januari 2000
  • Laatst online: 20-08-2022
Op donderdag 14 februari 2002 14:17 schreef RM-rf het volgende:
msie kent dat niet, maar het s wel eenvoudig te simuleren, via een setInterval("watchFunctietje('variabele', 'aanteroepenfunctie()')", 1000)
en function watchFunctietje(variabele)
Zoiets heb ik pas gebouwd:
code:
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
var watchers=new Array();

function start_watch(watchVar,watchFunc){

    var watcher=new Array(watchVar,watchFunc,0);

    watchers.push(watcher);

}

function watchIt(){

    for(var i in watchers){

        var w=watchers[i];

        
        if(eval(w[0])!=undefined){
        obj=eval(w[0]); 
            if(obj!=w[2]){
                temp = w[1];
                temp();
            }
            w[2]=obj;
        }
    }
}

en aanroep om de verandering van scrollHeight van een Iframe te monitoren:
code:
1
2
3
        start_watch("getIframe(object('"+this.targetFrame+"')).document.body.scrollHeight",updateDrgButton);

        setInterval("watchIt()",25);

Kun je vast wel ombouwen naar wat je wil :)

Het werkt alleen nog niet helemaal lekker... als je namelijk een andere pagina laad dan geeft ie een error omdat het te checken object niet bestaat... (aanvullingen zijn dus welkom :) )

Tenminste... dat [ denk / zie / weet ] ik... | Javascript obfuscator | foto's en video's uploaden


Verwijderd

Elk menu item refreshe je via de <a href> de andere 2 menuframes + je content pagina. Eigenlijk zwaar irritant, maar je moet wat.

bv

[code]
<a onmouseover="dynamic_image_on('b1'); window.status=''; return true " onclick="dynamic_image_stay('b1'); window.status=''; parent.frame_menu1.location='menu_1.htm'; parent.frame_menu2.location='menu_2.htm'; parent.frame_canvas.location='canvas.htm'; return true" onmouseout="dynamic_image_off('b1'); window.status=''; return true" href="#">
[\code]

  • Bluestorm
  • Registratie: Januari 2000
  • Laatst online: 20-08-2022
Wat ik zou doen is beginnen om een array aan te leggen welke button geselecteerd is... id+frame bijvoorbeeld.
Dit doe je in een frame waarvan je zeker weet dat het altijd bestaat.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
var mySetItem=new Array();

function setItem(newFrame, newId){
    frame = mySetItem["frame"];
    id= mySetItem["id];

    parent.frames[frame].document.unsetItem(id);
 
    mySetItem["frame"]=newFrame;
    mySetItem["id"]=newId;

    parent.frames[newFrame].document.setItem(newId);
}

en dan in iedere framepagina iets van:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var frameName="topMenu";
var uberFrame="hidden";

function itemClick(id){
   parent.frames[uberFrame].setItem(frameName,id);
}

function setItem(id){
   // code voor het actief maken van item...
}

function unsetItem(id){
   // code voor het deactiveren van een item...
}

Tenminste... dat [ denk / zie / weet ] ik... | Javascript obfuscator | foto's en video's uploaden


  • Heintjo
  • Registratie: Maart 2000
  • Laatst online: 11-05-2025

Heintjo

Definitely not Swedish

Om onduidelijkheid te voorkomen, eerst mijn (sterk vereenvoudigde) formulering van jou probleem (correct me if I'm wrong):

- Menu : sectie 1, sectie 2, sectie 3
- Content : pagina's horen onder een van de secties

Als een contentpagina wordt geopend die valt onder sectie 2, moet het menu laten zien dat sectie 2 geselecteerd is.
Staat er nou in de contentpagina een link naar sectie 3, dan moet de sectie3 knop in het "menuframe" veranderen (dus geselecteerd worden)..

Correct?

Zo ja heb ik een oplossing :):

In plaats van in het menuframe je knop 'selected' te maken, doe je het bij de onload van je contentframe. Deze onload roept een functie aan in je menuframe, die de state van de knop verandert.

Stukkie javascript code voor in de menuframe:
code:
1
2
3
4
5
6
7
8
9
10
11
function checkselected(selected) {
  sel('knopa');
  sel('knopb');
  sel('knopc');
}

function sel(id) {
  if (id == selected) {
    document.images[id].src = id+"_sel.gif";
  }
}

de plaatjes van de knoppen heten knopa.gif, knopb.gif, knopc.gif, en hebben een "selected" versie (lichter ofzo), die knopa_sel.gif, knopb_sel.gif etc heten..

De knop ziet er zo uit:
code:
1
<a href="bla.html" target="content">[img]"knopa.gif"[/img]</a>

en in de contentframe roep je de javascriptfunctie "checkselected" aan.. als volgt voor een pagina die onder de "knopa" sectie valt:
code:
1
2
3
4
5
6
-- javascript:
function check(id) {
top.frames.menu.checkselected(id);
}
-- body tag:
<body bgcolor="..." onload="check('knopa');">

Speel er wat mee rond, moet zo wel lukken (voor mij lukt 't in ieder geval altijd wel :))

blah blah...


Verwijderd

Topicstarter
Op donderdag 14 februari 2002 22:17 schreef Heintjo het volgende:
Correct?
incorrect.
3 menuframes - elke zijn eigen menu items.
1 contentframe

selectie vanuit menuframe 1 ----> contentpagina wijzigd ----> menuitem in menuframe 1 is geselecteerd.
selectie vanuit menuframe 2 ----> contentpagina wijzigd ----> menuitem in menuframe 1 ongeselecteerd -----> menuitem in menuframe 2 geselecteerd.

Ik heb de aangedragen oplossing van poster irontag overgenomen. Dit is in mijn ogen de beste oplossing. Thx!!

  • Heintjo
  • Registratie: Maart 2000
  • Laatst online: 11-05-2025

Heintjo

Definitely not Swedish

Hehe :)

Ach, wie weet komt m'n bak code dan ooit van pas voor degene die de search gebruiken :)

blah blah...


Verwijderd

Topicstarter
Op vrijdag 15 februari 2002 02:02 schreef Heintjo het volgende:
Hehe :)

Ach, wie weet komt m'n bak code dan ooit van pas voor degene die de search gebruiken :)
thx! :)
Pagina: 1