funtion oproepen

Status
Niet open voor verdere reacties.

top100live

Gebruiker
Lid geworden
12 dec 2011
Berichten
8
Hallo.

Ik heb op mijn website een javascript functie de het de kalender opent. Nu wil ik datde link verdwijnt en de kalender altijd te zien is. Iemand een idee?
 
Dat moet te doen zijn. Zoek even naar een onlick-eigenschap, of anders een aanroep van addEventListener op die link. Daarmee wordt naar de functie verwezen die je direct wil aanroepen.
 
Dat moet te doen zijn. Zoek even naar een onlick-eigenschap, of anders een aanroep van addEventListener op die link. Daarmee wordt naar de functie verwezen die je direct wil aanroepen.


dit is de link code

<a id='linkcal_$room->id' href='javascript: opendivcal(1)'>

en dit de functie echter wel in een andere file

function opendivcal(id)
{
document.getElementById('roomcal_'+id).style.display ="block";
document.getElementById('linkcal_'+id).style.display ="none";
}
 
Dat geeft niet :) Dit is wat er gebeurt als je op de link klikt

[JS]opendivcal(1);[/JS]

Als je de link helemaal uit de code haalt heb je deze tweede regel uit de opendivcal functie waarschijnlijk ook niet nodig.
[JS]document.getElementById('linkcal_'+id).style.display ="none";[/JS]

Je moet er alleen even op letten dat het element met id roomcal_1 al geladen is op het moment dat je de functie aanroept. Waarschijnlijk krijg je zoiets in je header:
HTML:
<script type="text/javascript">
    window.addEventListener("load", function() {
        document.getElementById('roomcal_1').style.display ="block";
    }, false);
</script>
 
Dat geeft niet :) Dit is wat er gebeurt als je op de link klikt

[JS]opendivcal(1);[/JS]

Als je de link helemaal uit de code haalt heb je deze tweede regel uit de opendivcal functie waarschijnlijk ook niet nodig.
[JS]document.getElementById('linkcal_'+id).style.display ="none";[/JS]

Je moet er alleen even op letten dat het element met id roomcal_1 al geladen is op het moment dat je de functie aanroept. Waarschijnlijk krijg je zoiets in je header:
HTML:
<script type="text/javascript">
    window.addEventListener("load", function() {
        document.getElementById('roomcal_1').style.display ="block";
    }, false);
</script>

Bedankt zover voor de snelle antwoorden.

In principe werkt het nu echter als ik de complete link weghaal werkt de pijl naar de komende 3 maanden niet meer. Ik heb nu de tekst in de link weg gehaald en dat functioneert
 
Dat geeft niet :) Dit is wat er gebeurt als je op de link klikt

[JS]opendivcal(1);[/JS]

Als je de link helemaal uit de code haalt heb je deze tweede regel uit de opendivcal functie waarschijnlijk ook niet nodig.
[JS]document.getElementById('linkcal_'+id).style.display ="none";[/JS]

Je moet er alleen even op letten dat het element met id roomcal_1 al geladen is op het moment dat je de functie aanroept. Waarschijnlijk krijg je zoiets in je header:
HTML:
<script type="text/javascript">
    window.addEventListener("load", function() {
        document.getElementById('roomcal_1').style.display ="block";
    }, false);
</script>

Het schijnt alleen in Firefox te werken en niet in IE. In IE wordt de kalender nioet automatisch geopent
 
Ahja, dat komt vaker voor ;)
Dat ligt waarschijnlijk aan de 'addEventListener' (IE kent alleen attachEvent). Dit is een vrij standaard fix:

[JS]function addEvent(el, type, callback, useCapture) {
if (el.addEventListener) {
el.addEventListener(type, callback, useCapture);
}
else if (el.attachEvent) {
el.attachEvent(type, callback);
}
else {
console.error("No addEvent alternative");
}
}
addEvent(window, "load", function() {
document.getElementById('roomcal_1').style.display ="block";
}, false);[/JS]
 
Ahja, dat komt vaker voor ;)
Dat ligt waarschijnlijk aan de 'addEventListener' (IE kent alleen attachEvent). Dit is een vrij standaard fix:

[JS]function addEvent(el, type, callback, useCapture) {
if (el.addEventListener) {
el.addEventListener(type, callback, useCapture);
}
else if (el.attachEvent) {
el.attachEvent(type, callback);
}
else {
console.error("No addEvent alternative");
}
}
addEvent(window, "load", function() {
document.getElementById('roomcal_1').style.display ="block";
}, false);[/JS]


Bedankt voor je antwoord maar helaas nog steeds niets in IE
 
Ik moet echt dingen gaan testen voor ik ze hier neerzet geloof ik xP
Try this :) Ik heb regel 6 aangepast.
[JS]function addEvent(el, type, callback, useCapture) {
if (el.addEventListener) {
el.addEventListener(type, callback, useCapture);
}
else if (el.attachEvent) {
el.attachEvent("on" + type, callback);
}
else {
console.error("No addEvent alternative");
}
}
addEvent(window, "load", function() {
document.getElementById('roomcal_1').style.display ="block";
}, false);[/JS]
 
Ik moet echt dingen gaan testen voor ik ze hier neerzet geloof ik xP
Try this :) Ik heb regel 6 aangepast.
[JS]function addEvent(el, type, callback, useCapture) {
if (el.addEventListener) {
el.addEventListener(type, callback, useCapture);
}
else if (el.attachEvent) {
el.attachEvent("on" + type, callback);
}
else {
console.error("No addEvent alternative");
}
}
addEvent(window, "load", function() {
document.getElementById('roomcal_1').style.display ="block";
}, false);[/JS]

Ja nu werkt het. Pefect! Bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan