RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Codes sources Javascript

Forum : JAVASCRIPT
Sous Catégorie : Aucune
Type du sujet : Post-it
FAQ : FAQ JAVASCRIPT

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM JAVASCRIPT

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Boumeur
Membre du club
Inscrit : 08/04/2005
Messages : 592
Message
#65478
Posté le 03/06/05 à 20:18
si vous avez un bon script a partager c'est ici !
Smiley ces scripts doivent etre absolument de vous
( bien entendu il est possible que le meme genre existe deja, mais le code doit etre de vous )

pour que ce topic soit le plus clair possible :
une methode de presentation ( faites un copier/coller Smiley )
merci de respecter la presentation
( ça facilitera la lecture lors des recherches...)

Nom du Script : pas de nom
Domaine(s) : Manipulation Tableau Html
Description :
permet d'afficher masquer une colonne en cliquant sur l'entete du tableau


function masque(num) { num--;//numero +1 car compte a partir de 0... ce qui permet de compter a partir de 1 en appelant la fonction ( question de preference...) var tab=document.getElementById('tab1'); for(i=0;i<tab.rows.length;i++)//Parcour les lignes { var c=0; while(c<tab.rows[i].cells.length)//parcour les cellules { if(c==num && i>0)// si i=0 alors c'est le th.... { if(tab.rows[i].cells[c].style.visibility=='hidden')//vous pouvez faire la meme chose avec display tab.rows[i].cells[c].style.visibility='visible'; else tab.rows[i].cells[c].style.visibility='hidden'; } c++; } } }

exemple d'utilisation :

<html> <head> <script type="text/javascript" language="javascript"> function masque(num) { num--;//numero +1 car compte a partir de 0... var tab=document.getElementById('tab1'); for(i=0;i<tab.rows.length;i++)//Parcour les lignes { var c=0; while(c<tab.rows[i].cells.length)//parcour les cellules { if(c==num && i>0)// si i=0 alors c'est le th.... { if(tab.rows[i].cells[c].style.visibility=='hidden') tab.rows[i].cells[c].style.visibility='visible'; else tab.rows[i].cells[c].style.visibility='hidden'; } c++; } } } </script> </head> <style type="text/css"> td{ border:1px solid red; text-align:center; visibility:visible; } th{ border:1px solid green; cursor:pointer; text-align:center; } </style> <body> <center style="margin-top:125px;"> <table style="border:1px solid blue;width:400px;height:400px" id="tab1"> <tr> <th onclick="masque(1);">col1</th><th onclick="masque(2);">col2</th><th onclick="masque(3);">col3</th><th onclick="masque(4);">col4</th> </tr> <tr> <td> cell1 </td> <td> cell2 </td> <td> cell3 </td> <td> cell4 </td> </tr> <tr> <td> cell1 </td> <td>cell2 </td> <td>cell3 </td> <td> cell4 </td> </tr> </table> </center> </body> </html>

__________________________
la FAQ javascript :
http://www.forum.moteurprog.com/?url=FAQ.php&langage=Javascript
mon site préféré sur le DHTML
http://www.dhteumeuleu.com/

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Boumeur
Membre du club
Inscrit : 08/04/2005
Messages : 592
Message
#65479
Posté le 03/06/05 à 20:30
Domaine(s) : images/css
Description :
comment faire defiler une image de plus en plus rapidement lorsque la souris
reste appuyé sur un boutton puis stopper le defilement lors du relachement du bouton
( onmouseup )


var a; var timeSpeed=new Array(); Array.prototype.add=function(t){this[this.length+1]=t;}// ça ça permet d'utuliser leTableau.add comme si ça fesait partie de l'array, mais c'est pour les flemards;) function go(p)//gauche droite { var img=document.getElementById('image');//nom de votre image ( ici id="image" ) var px=img.style.left.replace('px',''); if(p==1) px--; else px++; img.style.left=px+'px'; } function go2(p)//Monter descendre { var img=document.getElementById('image');//nom de votre image var px=img.style.top.replace('px',''); if(p==1) px--; else px++; img.style.top=px+'px'; } /* code a mettre dans le bouton utilisant ceci ( boutton pour descendre )-> <button onmousedown=a=setInterval("timeSpeed.add(setInterval('go2(2);',1));",100); onmouseup="clearInterval(a);for(i=0;i<timeSpeed.length;i++)clearInterval(timeSpeed[i]);">down</button> */

exemple d'utilisation :

<html> <head> <script language="javascript"> var a; var timeSpeed=new Array(); Array.prototype.add=function(t){this[this.length+1]=t;}// ça ça permet d'utiliser le Tableau.add comme si ça fesait partie de l'array, mais c'est pour les flemards;) function go(p)//gauche droite { var img=document.getElementById('image');//nom de votre image var px=img.style.left.replace('px',''); if(p==1) px--; else px++; img.style.left=px+'px'; } function go2(p)//Monter descendre { var img=document.getElementById('image');//nom de votre image var px=img.style.top.replace('px',''); if(p==1) px--; else px++; img.style.top=px+'px'; } </script> </head> <body> <center style="padding-top:100px;"> <button onmousedown=a=setInterval("timeSpeed.add(setInterval('go(1);',1));",100); onmouseup="clearInterval(a);for(i=0;i<timeSpeed.length;i++)clearInterval(timeSpeed[i]);"><<</button> <button onmousedown=a=setInterval("timeSpeed.add(setInterval('go(2);',1));",100); onmouseup="clearInterval(a);for(i=0;i<timeSpeed.length;i++)clearInterval(timeSpeed[i]);">>></button> <div style="width:450px;height:450px;border:1px solid blue;overflow:hidden"> <img src="uneimage" id="image" style="position:relative;" /> </div> <button onmousedown=a=setInterval("timeSpeed.add(setInterval('go2(1);',1));",100); onmouseup="clearInterval(a);for(i=0;i<timeSpeed.length;i++)clearInterval(timeSpeed[i]);">up</button> <button onmousedown=a=setInterval("timeSpeed.add(setInterval('go2(2);',1));",100); onmouseup="clearInterval(a);for(i=0;i<timeSpeed.length;i++)clearInterval(timeSpeed[i]);">down</button> </center> </body> </html>

__________________________
la FAQ javascript :
http://www.forum.moteurprog.com/?url=FAQ.php&langage=Javascript
mon site préféré sur le DHTML
http://www.dhteumeuleu.com/

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Boumeur
Membre du club
Inscrit : 08/04/2005
Messages : 592
Message
#66565
Posté le 14/06/05 à 22:47
Domaine(s) : Text Defilant
Description : Simuler la balise <marquee>


var t;//pour le timer... function bBouge() { var leTrucQuiBouge=document.getElementById('marqu');//ion recupere la balise qui a pour id "marqu" var pxLeft=leTrucQuiBouge.style.left.replace('px','');//on recupere le chiffre ( sans le px a la fin ) var tailleDuTruc=leTrucQuiBouge.offsetWidth;//offsetWidth c'est la taille du div. var screenW=document.getElementById('conteneurTxtDefilant').offsetWidth;//taille de la balise <div> qui contient le msg defilant if(pxLeft==0-tailleDuTruc)//si les pixels sont arrivés par rapport au bord gauche a la taille du texte ( donnera donc une position negative, du genre -100 ) pxLeft=screenW;//on remet le texte a la fin ( tout a droite ) else//sinon pxLeft--;//on baisse les pixels ( ce qui provoque le decalage vers la gauche) leTrucQuiBouge.style.left=pxLeft+"px";//on attribue la nouvelle position au texte t=setTimeout('bBouge();',10);//toute les 0.010 secondes on rappele la fonction a l'infini ( recursivement ) } window.onload=function(){ document.getElementById('marqu').style.left=document.getElementById('conteneurTxtDefilant').offsetWidth+'px'; t=setTimeout('bBouge();',10);//timer mis dans une variable pour pouvoir le stopper ( voir plus bas...) }

Exemples d'utilisation

<html> <head> <script language="javascript"> var t;//pour le timer... function bBouge() { var leTrucQuiBouge=document.getElementById('marqu');//ion recupere la balise qui a pour id "marqu" var pxLeft=leTrucQuiBouge.style.left.replace('px','');//on recupere le chiffre ( sans le px a la fin ) var tailleDuTruc=leTrucQuiBouge.offsetWidth;//offsetWidth c'est la taille du div. var screenW=document.getElementById('conteneurTxtDefilant').offsetWidth;//taille de la balise <div> qui contient le msg defilant if(pxLeft==0-tailleDuTruc)//si les pixels sont arrivés par rapport au bord gauche a la taille du texte ( donnera donc une position negative, du genre -100 ) pxLeft=screenW;//on remet le texte a la fin ( tout a droite ) else//sinon pxLeft--;//on baisse les pixels ( ce qui provoque le decalage vers la gauche) leTrucQuiBouge.style.left=pxLeft+"px";//on attribue la nouvelle position au texte t=setTimeout('bBouge();',10);//toute les 0.010 secondes on rappele la fonction a l'infini ( recursivement ) } window.onload=function(){ document.getElementById('marqu').style.left=document.getElementById('conteneurTxtDefilant').offsetWidth+'px'; t=setTimeout('bBouge();',10);//timer mis dans une variable pour pouvoir le stopper ( voir plus bas...) } </script> </head> <body> <center> <div onmouseover="clearTimeout(t);" onmouseout="bBouge()" style="border:1px solid blue;width:50%;overflow:hidden;" id="conteneurTxtDefilant"> <span id="marqu" style="position:relative;"> Utiliser le <a class="a2" href="pack.php">pack graphique</a> vous permet d'afficher toutes les pages du site plus rapidement ; en <a class="a2" href="pack.php">savoir plus</a>. </span> </div> </center> </body> </html> </script> </head>

__________________________
la FAQ javascript :
http://www.forum.moteurprog.com/?url=FAQ.php&langage=Javascript
mon site préféré sur le DHTML
http://www.dhteumeuleu.com/

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Boumeur
Membre du club
Inscrit : 08/04/2005
Messages : 592
Message
#67603
Posté le 25/06/05 à 11:58
Domaine(s) : Menu
Description : un Menu positionné toujours au centre de la page ( suit le scroll de la page )

<!-- function positionneMoz()//pour NS/moz/FF { var leMenu=document.getElementById('menu');//nom du menu ( ici menu ) leMenu.style.top = window.pageYOffset; leMenu.style.left = window.pageXOffset+window.outerWidth/2-leMenu.offsetWidth/2;//pour le centrer } function positionneIE()//Pour IE { var leMenu=document.getElementById('menu');//nom du menu ( ici menu ) leMenu.style.top = document.body.scrollTop;//scrollTop = la barre a gauche ( nombre de pixel ayant defilé) leMenu.style.left =document.body.scrollLeft+(document.body.clientWidth - leMenu.offsetWidth) / 2;//pour le centrer } //////////////////////// //ici c'est la fonction qui verifie quel fonction utiliser ( positionne(); ou dispose(); ) //////////////////////// function start() { if(navigator.appName=='Microsoft Internet Explorer')//si le navigateur est IE { positionneIE(); window.onscroll=positionneIE;//la fonction lors du scroll est positionne(); } else//si le navigateur est Netscape/Moz/FF ( bref toute la click ) { setInterval("positionneMoz();",3);//on declenche la fonction dispose(); toutes les 10 millisecondes ( et oui, ici pas d'evenement onscroll...) } } //--> // et dans body : onload="start();"

Exemple d'utilisation

<html> <head> <script language="javascript"> <!-- function positionneMoz()//pour NS/moz/FF { var leMenu=document.getElementById('menu');//nom du menu ( ici menu ) leMenu.style.top = window.pageYOffset; leMenu.style.left = window.pageXOffset+window.outerWidth/2-leMenu.offsetWidth/2;//pour le centrer } function positionneIE()//Pour IE { var leMenu=document.getElementById('menu');//nom du menu ( ici menu ) leMenu.style.top = document.body.scrollTop;//scrollTop = la barre a gauche ( nombre de pixel ayant defilé) leMenu.style.left =document.body.scrollLeft+(document.body.clientWidth - leMenu.offsetWidth) / 2;//pour le centrer } //////////////////////// //ici c'est la fonction qui verifie quel fonction utiliser ( positionne(); ou dispose(); ) //////////////////////// function start() { if(navigator.appName=='Microsoft Internet Explorer')//si le navigateur est IE { positionneIE(); window.onscroll=positionneIE;//la fonction lors du scroll est positionne(); } else//si le navigateur est Netscape/Moz/FF ( bref toute la click ) { setInterval("positionneMoz();",3);//on declenche la fonction dispose(); toutes les 10 millisecondes ( et oui, ici pas d'evenement onscroll...) } } //--> </script> </head> <body onload="start();"> <div id="menu" style="border:1px solid blue;position:absolute;"> <a href="coucou">lien 1</a> <a href="coucou1">lien 2</a> <a href="coucou2">lien 3</a> <a href="coucou3">lien 4</a> <a href="coucou4">lien 5</a> <a href="coucou5">lien 6</a> </div> <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> pour pouvoir scroller... du texte qui ne sert pas a grand chose... <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />pour pouvoir scroller... du texte qui ne sert pas a grand chose... <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />pour pouvoir scroller... du texte qui ne sert pas a grand chose...<br /><br /><br /><br /><br /><br /><br /><br />pour pouvoir scroller... du texte qui ne sert pas a grand chose... <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />pour pouvoir scroller... du texte qui ne sert pas a grand chose...<br /><br /><br /><br />sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssdu texte pour pouvoir "scroller" horizontlementssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss<br /> </body> </html>

Auteur : misterv.
Description :
la meme chose, sans Javascript
( et sans utiliser fixed qui ne fonctionne pas sous Internet Explorer )

Code :
deux div, un qui possede le css
position:absolute;
le deuxieme qui possede overflow:auto;height:100%;width:100%
et enfin, le css de la balise body :
margin:0 0 0 0;pading:0 0 0 0;

Exemple d'utilisation :

<html> <head> <title>Menu fixe</title> <style type="text/css"> body { margin: 0; padding: 0; border: 0; overflow: hidden; } #body2 { position: absolute; z-index: 5; top: 0; left: 0; height: 100%; width: 100%; overflow: auto; } #fix1 { position: absolute; z-index: 6; left: 60px; top: 60px; width: 50%; height: 80px; background-color: #efd; } #fix2 { position: absolute; z-index: 4; left: 60px; bottom: 60px; width: 50%; height: 80px; background-color: #dfe; } </style> </head> <body> <div id="body2"> <br /><br /><br /><br /><br /><br /><br /><br /> Ceci est la partie principale de la page. C'est à dire le contenu du block "body2". <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> Cette&nbsp;partie&nbsp;contient&nbsp;une&nbsp;scrollbar&nbsp;verticale&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;et&nbsp;une&nbsp;horizontale&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> </div> <div id="fix1"> Je suis la partie fixe 1. Je suis placé <b>au dessus</b> de la partie principale ou block "body2". Si vous faites défiler la page, vous verrez le texte du block "body2" passer <b>sous</b> moi. </div> <div id="fix2"> Je suis la partie fixe 2. Je suis placé <b>en dessous</b> de la partie principale ou block "body2". Si vous faites défiler la page, vous verrez le texte du block "body2" passer <b>sur</b> moi. </div> </body> </html>

__________________________
la FAQ javascript :
http://www.forum.moteurprog.com/?url=FAQ.php&langage=Javascript
mon site préféré sur le DHTML
http://www.dhteumeuleu.com/

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

ko ni shoa
Nouveau membre
Inscrit : 25/06/2005
Messages : 24
Message
#68355
Posté le 01/07/05 à 12:42
[B]DOMAINE : [/B] setInterval
[B]DESCRIPTION : [/B] le code que je propose est ultra-simple mais assez utile à mon gout pour le poster ici.
le but est de lancer un setInterval dynamiquement (par exemple pour un décompte de temps ou une animation en js), sans l'inconvénient d'accélérer et de détraquer le setInterval si l'on reclique plusieurs fois sur le bouton de lancement.

[B]CODE : [/B]


<script language = "javascript"> var speed = 500 var control = 0 var i = 0 var f function show() { ++ i document.forms[0].elements[0].value = i } function c_start() { ++ control if(control == 1) { f = setInterval("show()",speed) } } function c_stop() { control = 0 clearInterval(f) } </script>


[B]EXEMPLE D'UTILISATION : [/B]


<html> <head> <title>exemple setInterval</title> <style> input { border:2px solid blue; color:black; font:12px bold "Verdana"; } .input1 { width:150; text-align:center; } .input2 { width:75; } </style> <script language = "javascript"> var speed = 500 var control = 0 var i = 0 var f function show() { ++ i document.forms[0].elements[0].value = i } function c_start() { ++ control if(control == 1) { f = setInterval("show()",speed) } } function c_stop() { control = 0 clearInterval(f) } </script> </head> <body scroll = "no" bgcolor = "black"> <center> <br><br><br> <form> <input type = "text" class = "input1"><br> <input type = "button" value = "start" class = "input2" onclick = "c_start()"> <input type = "button" value = "stop" class = "input2" onclick = "c_stop()"> </form> </center> </body> </html>

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Visiteur MP
Membre du club
Inscrit :
Messages : 1250
Message
#70631
Posté le 27/07/05 à 05:43
Auteur : Bul
Nom du Script : CtrNum
Domaine(s) : Contrôle Saisie Caractères
Description : Plutôt que de contrôler, à posteriori, le contenu d'un champ pour voir s'il est numérique, pourquoi ne pas éliminer tout ce qui n'est pas chiffre, immmédiatement, lors de la saisie ?
Code :

<HTML> <HEAD> <TITLE>Ne Saisir que des Chiffres</TITLE> <script type="text/javascript"> function CtrNum(zone) { zone=zone.replace(/([^0-9])/g,""); } </script> </HEAD> <BODY> <input type="text" onkeyup="CtrNum(this.value);"> </BODY></HTML>

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

Visiteur MP
Membre du club
Inscrit :
Messages : 1250
Message
#70667
Posté le 27/07/05 à 16:28
Auteur : Bul
Nom du Script : SuitScrollBar
Domaine(s) : Affichage d'objets
Description : Afficher un Objet toujours à la même hauteur dans la page, même en se déplaçant avec la "ScrollBar".
Code :

<HTML> <HEAD> <TITLE>Suivre La ScrollBar</TITLE> <script type="Text/JavaScript"> function SuitScrollBar(obj,haut) { obj.style.top = document.body.scrollTop+haut; } </script> </HEAD> <body> <input name="imag" id="imag" type="image" style="position:absolute;top:20;left:50%" src="exemple.gif"/> <script type="Text/JavaScript"> // pour provoquer l'affichage de la ScrollBar for (var n=0;n<100;n++) document.write(n+"<br/>"); // ========== var h=parseInt(document.getElementById("imag").style.top,10); window.onscroll=( function() { SuitScrollBar(document.getElementById("imag"),h); } ); </script> </BODY></HTML>

Commentaires : ici on utilise une image, bien entendu ça fonctionne avec tout objet ( div, span, table ... ), à 20px du haut et au centre. @+

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

Visiteur MP
Membre du club
Inscrit :
Messages : 1250
Message
#70851
Posté le 29/07/05 à 11:56
Auteur : Bul
Nom du Script : Trier
Domaine(s) : Tri
Description : Tri Mulit-colonnes d'un tableau HTML
Code :

//############################################################################## function trier(tableau,colonnes,sens) //######## trier un tableau htm ######## //############################################################################## // <script type="text/javascript" src="trier.js"></script> // appel : trier(tableau à trier,colonnes,sens); // colonnes : n° [,type[:taille]][;n°[,type[:taille]]...] // Type actuellement possibles ( C par défaut ) // c Caractères // jj/mm/aaaa Date jj/mm/aaaa // jjmmaaaa Date jjmmaaaa // e:taille Entier:nbr caractères maxi //############################################################################## { var ligfin=tableau.rows.length; // nbr lignes var TabCol=colonnes.split(";"); // format : n°,type:taille;n°;...n° var buffer=Array(ligfin); // buffer[nbr lignes] for ( var l=0; l<ligfin; l++ ) { var colfin=tableau.rows[l].cells.length; // nbr colonnes buffer[l]=new Array(colfin+1); // buffer[lignes][colonnes +1] buffer[l][0]=""; // buffer[ligne][0]=critères de tri for ( var t=0; t<TabCol.length; t++ ) { var Prm=TabCol[t].split(","); // Prm[0]=n° colonne if (!Prm[1]) Prm[1]="c"; // Prm[1]=type var Zone=tableau.rows[l].cells[Prm[0]].innerHTML; Prm=Prm[1].split(":"); // Prm[0]=type, Prm[1]=taille switch (Prm[0].toLowerCase()) { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ case "e": //~~~~ Entiers ~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ while ( Zone.length<Number(Prm[1]) ) // adapter la { Zone="0"+Zone; } // longueur break; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ case "jjmmaaaa": //~~~~ format date ~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Zone=Zone.substr(4,4) + Zone.substr(2,2) + Zone.substr(0,2); // mise en forme aaaammjj break; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ case "jj/mm/aaaa": //~~~~ format date ~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Zone=Zone.substr(6,4) + Zone.substr(3,2) + Zone.substr(0,2); // mise en forme aaaammjj break; /*===========================================\ ! je n'ai mis ici que quelques possibilités. ! ! on peut ajouter : ! ! ! ! case "type de zone": ! ! ... traitements adaptés ... ! ! break; ! ! ! \===========================================*/ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ default: //~~~~ par défaut ~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ case "c": //~~~~ caractères ~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ break; } buffer[l][0]+=Zone; } for ( var c=0;c<colfin;c++ ) // mémoriser contenu [lignes][colonnes] { buffer[l][c+1]=tableau.rows[l].cells[c].innerHTML; } } buffer.sort(); // trier if (sens.charAt(0).toLowerCase()!="a") // inversion si non= A[scendant] { buffer.reverse(); } for ( l=0;l<ligfin;l++ ) // "recharger" le tableau htm { for ( c=1;c<=colfin;c++ ) { tableau.rows[l].cells[c-1].innerHTML=buffer[l][c]; } } } //##############################################################################

Exemple d'utilisation :

<HTML> <HEAD> <TITLE>Tri tableaux HTML</TITLE> <style type="text/css"> td,th { width:"300px"; font-weight:"bold"; } button { cursor:"hand"; border:"0"; font-weight:"bold"; background-color="#FFFF00"; } </style> <script type="text/javascript" src="trier.js"></script> <script type="text/javascript"><!---------------- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function controle2() //~~ pour l'exemple : controles 2 ~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { if ( frm.st.value.charAt(0).toLowerCase()!="a" && frm.st.value.charAt(0).toLowerCase()!="d" ) { alert("tri Ascendant ou Descendant ?"); return; } var t=frm.ct.value.split(";"); if ( t.length>tabl.rows[0].cells.length ) { alert("trop de colonnes"); return; } for ( var n=0;n<t.length;n++ ) { if ( Number(t[n])<0 || Number(t[n])>=tabl.rows[0].cells.length ) { alert("colonnes invalides"); return; } } trier(tabl,frm.ct.value,frm.st.value); } //----------------></script> </HEAD> <BODY style="font-weight:'bold'"> <form name="frm"> <table id="atrier" border=4 style="font-weight:bold"><!#### tableau à trier ####> <tr><td>55</td> <td>alain</td> <td>23/01/2005</td></tr> <tr><td>1</td> <td>daniel</td> <td>03/03/2001</td></tr> <tr><td>3</td> <td>etienne</td><td>01/01/2005</td></tr> <tr><td>4444</td><td>bernard</td><td>23/11/2004</td></tr> <tr><td>22</td> <td>claude</td> <td>08/09/1999</td></tr> <tr><td>1</td> <td>fernand</td><td>17/02/2000</td></tr> <tr><td>1</td> <td>etienne</td><td>03/03/2001</td></tr> <tr><td>4444</td><td>etienne</td><td>23/01/2000</td></tr> </table> <hr> <input type="text" name="ct" size=40 value="n° colonne[,type][;n° colonne[,type]...]"/> <input type="text" value="A[scendant] ou D[escendant]" size=30 name="st"/> &nbsp;&nbsp;&nbsp;&nbsp;<button onclick="controle2(); return false;">&nbsp;trier&nbsp;</button><br/> <script type="text/javascript"><!---------------- var tabl=document.getElementById("atrier"); document.write( "<font color='red'><b>&nbsp;&nbsp;ici,colonne de 0 à "+(tabl.rows[0].cells.length-1)); //----------------></script> </font><br/> <fieldset> <legend>Type actuellement possibles ( C par défaut )</legend> <table border=0 style="font-weight:bold"> <td>&nbsp;c</td> <td>Caractères</td> </tr> <td>&nbsp;jj/mm/aaaa/</td><td>Date jj/mm/aaaa</td> </tr> <td>&nbsp;jjmmaaaa</td> <td>Date jjmmaaaa</td> </tr> <td>&nbsp;e:taille</td> <td>Entier:nbr caractères maxi</td></tr> </table><br/> exemples: 2,jj/mm/aaaa;0,e:5</fieldset> </form> </BODY></HTML>

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

MisterV
Membre du club
Avatar de MisterV
Inscrit : 21/05/2004
Messages : 1603
Message
#71463
Posté le 04/08/05 à 16:57
Auteur : Mister V
Nom du Script : LienXtern
Compatible :IE, FireFox, et normalement Opera, Konqueror, Safari et tous les navigateurs recents, voir même des anciens avec un peu de chance. (Si quelqu'un a l'occasion de tester sur des nav, prévenez moi svp Smiley
Description :
En XHTML, la propriété target des liens n'est pas acceptée. Cependant, dans certains cas, il peut-être utile de proposer des liens s'ouvrant dans une nouvelle fenetre. Cette possibilité doit rester un plus dont bénéficie ceux ayant du JavaScript Activé, et donc les liens doivent-être fonctionnel sans JavaScript.
C'est pour répondre à ces contraintes, et dans le but d'obtenir un script très simple à utilisé que j'ai développer ce petit JavaScript.

Ainsi le code (X)HTML reste pure... sans JS integré et donc votre page est totalement valide, le systeme est totalement transparent.

La méthode est simple : Tous les liens sont scannés, et ceux dont la classe correspond à une classe défini sont pri en charge.
Les liens pris en charge se voient attribué un ecouteur de clique. Si il y a un clique sur le lien, celui-ci sera ouvert grace à la fonction window.open().

Je prévois la creation prochaine d'une nouvelle version de ce script utilisant plus les propriétés objet de JS. Cela permettra de lié differents types de liens (avec des options d'ouvertures diferentes) selon le nom de la classe du lien.


Code :

var classe = 'externe'; var won = 'nom' var woo = 'height=100, width=200, top=100, left=100, toolbar=no, menubar=yes, location=no, resizable=yes, scrollbars=no, status=no'; function initLienXtern() { var a = document.getElementsByTagName('a'); for(var i=0; i < a.length; i++) { if(a[i].className == classe) addLienXternListener(a[i]); } } function addLienXternListener(l) { var origin = null; if(typeof l.onclick == 'function') origin = l.onclick; l.onclick = function() { return false; }; if(typeof l.addEventListener != 'undefined') { if(origin != null) l.addEventListener('click', origin, false); l.addEventListener('click', lienXtern, false); } else if(typeof l.attachEvent != 'undefined') { if(origin != null) l.attachEvent('onclick', origin); l.attachEvent('onclick', lienXtern); } else { if(origin != null) l.onclick = function() { origin(); return lienXtern(l); }; else l.onclick = function() {return lienXtern(l); }; } } function lienXtern(l) { if(typeof this.href == 'string') lienXternOpen(this.href); else if(typeof l.href == 'string') lienXternOpen(l.href); else { if(typeof l.srcElement == 'undefined' && typeof l.target == 'undefined') l = window.event; lien = (typeof l.srcElement != 'undefined') ? l.srcElement : l.target; if(typeof lien.href == 'string') lienXternOpen(lien.href); else { window.alert('Impossible de trouver l\'adresse du lien'); return true; } } return false; } function lienXternOpen(url) { window.open(url, won, woo); } if(typeof window.addEventListener != 'undefined') window.addEventListener('load', initLienXtern, false); else if(typeof document.addEventListener != 'undefined') document.addEventListener('load', initLienXtern, false); else if(typeof window.attachEvent != 'undefined') window.attachEvent('onload', initLienXtern); else { if(typeof window.onload == 'function') { var origin = window.onload; window.onload = function() { origin(); initLienXtern(); }; } else window.onload = initLienXtern; }


Utilisation :

Vous avez juste a intégrer le code dans vos pages comme vous le souhaité.. soit en fichier externe (recommendé), soit direct dans la page.

Ensuite vous devez définir la classe a scanner (varibale classe a définir au debut du code)

Enfin il ne vous reste plus qu'a definir un/des lien(s) avec la classe que vous avez defini.




Hésiter pas a me faire parvenir des commentaires sur ce script. Et si vous avez des idées pour l'améliorer, tout est le bienvenue Smiley

++

EDIT : Code mis à jour et exemple d'utilisation sur l'adresse suivante :
http://nicolas.deveaud.free.fr/LienXtern/LienXtern.html
__________________________
GGrrrrrrrrr.............

Comment poser une question ?

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Boumeur
Membre du club
Inscrit : 08/04/2005
Messages : 592
Message
#71710
Posté le 08/08/05 à 11:21
Auteur : Boumeur
Domaines : tableaux html

Description :
pratique pour generer rapidement un tableau avec du contenu ( utile pour effectuer des test )


function getTab(tabID)//prend en parametre un id de tableau { var tab=document.getElementById(tabID); var nblignesVoulue=500;//NOMBRE DE LIGNES A GENERER var nbcell=tab.rows[0].cells.length; var nbboucle=nblignesVoulue*nbcell; ll=document.forms[0].nbligne; //Uniquement pour le test, et pour eviter de taper 2000 lignes comme ça, a "la main" ;) var lettre=new Array( "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","x","y","z" ); var str,index,finalst; finalst='<tr>\n'; for(var u=1;u<nbboucle;u++) { str=""; for(var b=0;b<15;b++) { index=Math.round(Math.random()*24); str+=lettre[index]; } finalst+="<td>"+str+"</td>\n"; if(u%tab.rows[0].cells.length==0 && u!=nbboucle) { finalst+="</tr><tr>\n"; } } finalst+="</tr>"; tab.innerHTML+=finalst; }


Exemple d'utilisation :

<html> <head> <script language="javascript"> function getTab(tabID)//prend en parametre un id de tableau { var tab=document.getElementById(tabID); var nblignesVoulue=500;//NOMBRE DE LIGNES A GENERER var nbcell=tab.rows[0].cells.length; var nbboucle=nblignesVoulue*nbcell; ll=document.forms[0].nbligne; //Uniquement pour le test, et pour eviter de taper 2000 lignes comme ça, a "la main" ;) var lettre=new Array( "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","x","y","z" ); var str,index,finalst; finalst='<tr>\n'; for(var u=1;u<nbboucle;u++) { str=""; for(var b=0;b<15;b++) { index=Math.round(Math.random()*24); str+=lettre[index]; } finalst+="<td>"+str+"</td>\n"; if(u%tab.rows[0].cells.length==0 && u!=nbboucle) { finalst+="</tr><tr>\n"; } } finalst+="</tr>"; tab.innerHTML+=finalst; } </script> </head> <body style="padding-top:180px;"> <br />Nombre de lignes <input type="button" name="nbligne" value="test" onclick="alert(document.getElementsByTagName('table')[0].rows.length)";/> <br /> <table border="3" id="test" ondblclick="getTab(this.id);"> <tr> <th> nom </th> <th> prenom </th> <th> date naissance </th> <th> sports </th> <th> ville </th> <th> cp </th> <th> adresse </th> <th> AGE </th> </tr> </table> </center> </body> </html>

Edit :
dblclick sur le tableau pour generer des lignes
__________________________
la FAQ javascript :
http://www.forum.moteurprog.com/?url=FAQ.php&langage=Javascript
mon site préféré sur le DHTML
http://www.dhteumeuleu.com/

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM JAVASCRIPT



    PAGES : [1] [2]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.