Lancer une fonction javascript sans evennement ?
15 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Lancer une fonction javascript sans evennement ?
Bonjour ,
J'utilise une fonction qui me permet de changer une partie du style css d'une page à la volée , celui ci :
http://www.alistapart.com/stories/alternate/
C'est assez connus , peut être vous connaissez ?
Bref , ca marche merveilleusement bien .
Je m'en pour permettre aux visiteurs de choisir un style avec un bouton :
Ca marche .
Bon maintenant j'ais besoin , pour une raison qui serais trop longue a expliquer ( et vous allez vous endormir avant
) de lancer par cette fonction un css par défaut ( css1 par exemple )
Je fais donc un truc tout con :
<script type="text/javascript">
setActiveStyleSheet('css1');</script>
ce qui donne :
===> ca marche pas , css1 n'est pas lancé par défaut , et je ne comprend pas pourquoi .
Je n'ais pas acces a body onload="" , car c'est une page unclude avec php , bref .... je n'ais pas acces a onload .
Le changement de css fonctionne seulement avec l'evennement onclick , pourquoi ? je n'en sais rien !!!
Connaissez vous un autre evvenement qui pourais me lancer une fonction automatiquement ?
J'utilise une fonction qui me permet de changer une partie du style css d'une page à la volée , celui ci :
http://www.alistapart.com/stories/alternate/
C'est assez connus , peut être vous connaissez ?
Bref , ca marche merveilleusement bien .
Je m'en pour permettre aux visiteurs de choisir un style avec un bouton :
- Code: Tout sélectionner
<input type="radio" name="radiobutton" value="css1" onClick="setActiveStyleSheet('css1');"><input type="radio" name="radiobutton" value="css2" onClick="setActiveStyleSheet('css2');">
Ca marche .
Bon maintenant j'ais besoin , pour une raison qui serais trop longue a expliquer ( et vous allez vous endormir avant
Je fais donc un truc tout con :
<script type="text/javascript">
setActiveStyleSheet('css1');</script>
ce qui donne :
- Code: Tout sélectionner
<input type="radio" name="radiobutton" value="css1" onClick="setActiveStyleSheet('css1');"><input type="radio" name="radiobutton" value="css2" onClick="setActiveStyleSheet('css2');">
<script type="text/javascript">
setActiveStyleSheet('css1');</script>
===> ca marche pas , css1 n'est pas lancé par défaut , et je ne comprend pas pourquoi .
Je n'ais pas acces a body onload="" , car c'est une page unclude avec php , bref .... je n'ais pas acces a onload .
Le changement de css fonctionne seulement avec l'evennement onclick , pourquoi ? je n'en sais rien !!!
Connaissez vous un autre evvenement qui pourais me lancer une fonction automatiquement ?
- Code: Tout sélectionner
<body ... onload="javascript:maFonction();">
ou simplement
<script type="text/javascript">
// code à exécuter
</script>
-

UsagiYojimbo - WRInaute accro

- Messages: 5224
- Inscription: Mer Nov 23, 2005 10:38
Szarah a écrit:
- Code: Tout sélectionner
<body ... onload="javascript:maFonction();">
ou simplement
<script type="text/javascript">
// code à exécuter
</script>
A priori il n'a pas accès à la balise body, et il a déjà testé l'appel direct à sa fonction.
Ah oui ok.
Bin c'est que le radiobutton n'est pas adapté ?
Avec des liens peut-être ?
http://my.opera.com/Groumphy/blog/show.dml/344349
Bin c'est que le radiobutton n'est pas adapté ?
Avec des liens peut-être ?
http://my.opera.com/Groumphy/blog/show.dml/344349
UsagiYojimbo a écrit:Szarah a écrit:
- Code: Tout sélectionner
<body ... onload="javascript:maFonction();">
ou simplement
<script type="text/javascript">
// code à exécuter
</script>
A priori il n'a pas accès à la balise body, et il a déjà testé l'appel direct à sa fonction.
C'est tout à fait ca .
Et <script>document.onload = tafonction()</script> ne fonctionne pas non plus , par contre la fonction se lance toujours avec le onclick , ca pas de soucis .
Le onclick est sur la MEME PAGE , donc la fonction est bien operationnel .
incompréhensible ............
-

Jeviensderio - WRInaute accro

- Messages: 1340
- Inscription: Ven Sep 29, 2006 12:50
J'utilise window.onload.
Il peut y avoir un bug dans le code JavaScript qui précède cet appel ce qui n'a pas d'effet quand on utilise un évènement. Voir avec Firebug.
Il peut y avoir un bug dans le code JavaScript qui précède cet appel ce qui n'a pas d'effet quand on utilise un évènement. Voir avec Firebug.
Szarah a écrit:Ah oui ok.
Bin c'est que le radiobutton n'est pas adapté ?
Avec des liens peut-être ?
http://my.opera.com/Groumphy/blog/show.dml/344349
Bonjour Szarah , merci d'essayer de m'aider , mais je n'ais pas de soucis a faire marcher le changement de style à la volee , je me suis d'ailleurs aidé du lien que tu cite .
Je vais vous expliquer le fond du probleme mais ca va vous saouler je le sent :/ ( ^pour ca que je l'ais pas raconter au début )
Bon alors j'utilise le changement de style a la volée , ca ok tout le monde a compris .
Mais j'utilise aussi highslide , un script qui ouvre une espece de popup dhtml , hop voila le link http://vikjavev.no/highslide/ , y a des exemples direct sur la page ( regardez un exemple sinon vous allez rien piger a ma prose )
Donc , ce script utilise un div qui est chargé sur la page principale pour ouvrir une page en " faux popup " , le truc c'est que le div est DEJA chargé dans la page principal ( et non dans celle qu'on ouvre ) , donc si je veux changer le style du popup a la volé , je dois changé ce div .
Voila le fameux div :
- Code: Tout sélectionner
<div class="highslide-body"></div>
Donc ..... j'espere que j'en ais pas perdus la moitié en route
Vous me suivez jusque la ?
Attendez c est pas finis , donc je vais chercher dans une base de donnée mysql plein de variable a mettre dans mon " faux popup" , ca c'est pas dur , je peux tout changer , sauf le style du faux popup lui meme qui est deja définis dans la page principal .... comprendo ?
Du coup....... j'ais besoin de changer le style de mon " faux popup " suivant ce que j'aurais sortis de mysql , c'est pour ca que j'ais besoin de changer mon style avec le javascript et non tout simplement avec un css tout con , car je ne connais pas le style du faux popup à l'avance ....
fiou.....
bon voila je sent que mon topic est perdus avec ce pavé et je vais me prendre un vent lol
Pour ceux qui ont été jusqu'au bout voila pour vous :

-

webmasterlamogere - WRInaute accro

- Messages: 1874
- Inscription: Dim Déc 17, 2006 21:08
n'y a t'il pas déjà une fonction enregistrée avec le onload?
Sinon, il faut utiliser un code comme celui là :
Sinon, il faut utiliser un code comme celui là :
- Code: Tout sélectionner
if (!window.addLoadListener) {
function addLoadListener(func) {
if (window.addEventListener) {
window.addEventListener("load", func, false);
} else if (document.addEventListener) {
document.addEventListener("load", func, false);
} else if (window.attachEvent) {
window.attachEvent("onload", func);
} else if (typeof window.onload != "function") {
window.onload = func;
} else {
var oldonload = window.onload;
window.onload = function() {
oldonload();
func();
}
}
}
}
addLoadListener(TaFonctionInitCSS);
function (TaFonctionInitCSS() {
setActiveStyleSheet('css1');
}
webmasterlamogere > je comprend pas trop ta fonction , mais je l'ais essayé , ca ne marche pas non plus .
Ce qui me tue c'est que ma fonction setActiveStyleSheet('css1'); marche avec le onclick , et pas autrement . Je peux pas obligé les gens a cliquer sur un bouton pour avoir la page dans le style que je veux .... c'est nul .
Je vois pas de raison , c'est débile .... C'est des trucs comme ca des fois je me dis j'aurais pas dus être webmaster .
Ca me déprime tellement c'est hors sujet je vais m'arracher les cheveux

Ce qui me tue c'est que ma fonction setActiveStyleSheet('css1'); marche avec le onclick , et pas autrement . Je peux pas obligé les gens a cliquer sur un bouton pour avoir la page dans le style que je veux .... c'est nul .
Je vois pas de raison , c'est débile .... C'est des trucs comme ca des fois je me dis j'aurais pas dus être webmaster .
Ca me déprime tellement c'est hors sujet je vais m'arracher les cheveux
-

webmasterlamogere - WRInaute accro

- Messages: 1874
- Inscription: Dim Déc 17, 2006 21:08
Stellvia a écrit:webmasterlamogere > je comprend pas trop ta fonction , mais je l'ais essayé , ca ne marche pas non plus .
Si tu attaches deux fonctions à window.onload, la deuxième écrase la première. La fonction permet de lancer plusieurs fonctions au chargement.
Mais visiblement le problème n'est pas là.
J'ais trouvé une solution de remplacement , pour l'instant ... c'est tellement bidon j'en ais honte ...
J'ais fait un onmouseover sur la totalité du popup :
Le style change dès que le visiteur bouge la souris ....
C'est totalement bidon mais ca marche a peu pret , en attendant de trouver mieux ..... en attendant de trouver une solution pour lancer la fonction sans evenement :/
J'ais fait un onmouseover sur la totalité du popup :
- Code: Tout sélectionner
onmouseover="setActiveStyleSheet('css2');
Le style change dès que le visiteur bouge la souris ....
C'est totalement bidon mais ca marche a peu pret , en attendant de trouver mieux ..... en attendant de trouver une solution pour lancer la fonction sans evenement :/
-

webmasterlamogere - WRInaute accro

- Messages: 1874
- Inscription: Dim Déc 17, 2006 21:08
il y a ca sur la page -http://www.alistapart.com/stories/alternate/ :
- Code: Tout sélectionner
function getPreferredStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("rel").indexOf("alt") == -1
&& a.getAttribute("title")
) return a.getAttribute("title");
}
return null;
}
window.onload = function(e) {
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
}
15 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Googlebot analyse certains codes JavaScript
- Amazon pourrait se lancer dans la publicité contextuelle
- Aperçu des différents types de redirection
- MyMaps : des cartes personnalisées avec Google Maps
- Windows Live Search
- Google sait désormais suivre les liens JavaScript !
- Lancement de MSN AdCenter
- Yahoo! affiche son Web Rank
- Chercher des fichiers KML dans Google Earth
- Optimisation du référencement d'un site en AJAX
- javascript fonction openpop
- Parametre d'une fonction javascript
- fonction javascript pris en compte
- Fonction javascript équivalente à trim() de php ?
- Page précedente y-a-t-il une fonction javascript ?
- Pro de javascript execution d'une fonction
- fonction javascript imprimer sans boite de dialogue
- javascript , que fait cette fonction super simple ?
- Javascript qui recadre un popup en fonction de l'image
- fonction javascript déclarée dans la page mais non reconnue
- [javascript] une fonction appliqué à TOUS mes text-area
- Executer une fonction javascript a partir d'une frame parent
- Fonction avec le même nom, et appel de la fonction d'origine
- passage fonction strtotime en fonction mktime.... HELP
- Fonction Include et Fonction $_SERVER['REQUEST_URI']
Consultez la description détaillée des produits ou services de Google suivants : Google Related Links
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum