Bzh

  • Nombre de sujets
    62
  • Nombre de messages
    1 503
  • Nombre de commentaires
    24
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Bzh
le 30/12/2005 à 12:26
Redimensionnement d'un élément
Bin comme n'importe quel script js !

Tu le met dans ta page et tu appels la fonction souhaité en passant les parametres demandés !!

Je ne vois pas où est la difficulté ???? smiley
Bzh
le 30/12/2005 à 00:03
Redimensionnement d'un élément
Et bien, c'est pas bien compliqué !!!

Cette fonction retourne l'object direct de la balise souhaité à partir de son nom (name)
function getElt (eltID) {
if (document.layers) return document.layers[eltID+'C'].document.layers[eltID];
if (document.getElementById) return document.getElementById(eltID);
if (document.all) return document.all[eltID];
if (document[eltID+'C']) return document[eltID+'C'].document[eltID];
alert('Rien ne marche avec ce navigateur');
return false;
}


Cette fonction permet de cacher une balise grace à un parametre => le nom de la balise. Elle fait appel à la première fonction pour récupérer l'object de la balise.
function hideElt (eltID) {
var myelt = getElt(eltID);
if (myelt.style) myelt = myelt.style;
myelt.display = 'none';
}


Idem mais pour faire apparaitre la balise:
function showElt (eltID,disp) {
var myelt = getElt(eltID);
if (myelt.style) myelt = myelt.style;
myelt.display = disp;
}


Permet de tester si la balise est caché ou non. Elle utilise comme paramètre toujours le nom de la balise (name="le_nom") et fait appel aussi à la toute première fonction afin de récupérer l'object.
function isHide (eltID) {
var myelt = getElt(eltID);
if (myelt.style) myelt = myelt.style;
return myelt.display == 'none' ? true : false;
}


Cette fonction réuni les trois dernières. A chaque appel, elle affiche ou bien cache à tour de role le div. Elle fait donc appel à toute les autres fonctions et ne demande qu'un seul paramètre le même (name).
function switchElt (eltID,disp) {
if (isHide(eltID)) showElt(eltID,disp);
else hideElt(eltID);
}


Cette fonction déplace le div. Elle à besoin de trois parametres: le "name" de la balise, et les coordonnées sur X et Y !!! Elle fait appel tjrs à la toute première fonction afin de de récupérer l'object du div
function mvElt (eltID,mvX,mvY) {
var myelt = getElt (eltID), noPx = document.childNodes ? 'px' : 0;
if (myelt.style) myelt = myelt.style;
myelt.left = mvX + noPx; myelt.top = mvY + noPx;
}


Cette fonction change le z-index du div. Deux paramètres le nom et l'entier pour la profondeur.Elle fait appel à la toute première fonction.
function chgZIndex (eltID,indx) {
var myelt = getElt(eltID);
if (myelt.style) myelt = myelt.style;
myelt.zIndex = indx;
}


Et cette dernière fonction redimentionne le div. Donc trois paramètres:
->Le "name" du div
->La nouvelle largeur
->La nouvelle hauteur
function resizeElt(eltID,newWidth,newHeight) {
var myelt = getElt(eltID), noPx = document.childNodes ? 'px' : 0;
if (myelt.style) myelt = myelt.style;
if (myelt.resizeTo) myelt.resizeTo(newWidth,newHeight);
myelt.width = newWidth + noPx; myelt.pixelWidth = newWidth;
myelt.height = newHeight + noPx; myelt.pixelHeight = newHeight;
}


Ses fonctions sont très pratique et très bien faites.

Sont script est basé sur une fonction importante qui est la première. Elle permet, en fonction du navigateur, de recupérer l'object de la balise.

C'est propre. Je l'ai pas essayé mais ça à l'air vraiment bien.

Bye...
Bzh
le 29/12/2005 à 01:16
Noyeu Joel
Mouai, depuis le temps.... smiley

Bonne année tout de même...
Bzh
le 29/12/2005 à 01:14
Redimensionnement d'un élément
Je dis juste ça comme cela ! Cela dépend de l'avi de chacun ! Mais je pense tout de même qu'il est préférable de faire en sorte qu'un visiteur refusant le javascript doit pouvoir naviguer sans aucun souci sur le site. Le js n'est là que pour le confort !

Par exemple, la vérification de formulaire ne se fait pas coté client mais coté serveur ! Vérifier les formulaires en javascript n'est pas terrible.

Et pourtant, on voit cela de plus en plus. Le fameu => formulaire.submit() ! Je trouve ça honteu !!! Le visiteur refusant le javascript ne peut même pas valider le formulaire !!!!

Ah! J'ai passé mon cou de gueulle ! Sa va mieu tout d'un cou !!!

Bonne année à tout le monde !!!! smiley
Bzh
le 29/12/2005 à 00:55
menu déroulant
Wouah !!! Tout d'abord bravo c'est vraiment du très beau js !!!

Ensuite, je vois deux solutions pour ton problème.

Le premier utiliser la balise <a> exemple=>
<a href="javascript:ta_fonction()">Le titre de ton menu</a>

Dans ce cas là, tu fais appel à la propriété CSS "hover" !!!!

Un "hover" sur un div ne fonctionne pas avec Internet Explorer (Ca, c'est étonnant) !!!!

Sinon, la deuxième solution est de continuer en javascript.

Voila le code=>

<HTML>
<HEAD>
<TITLE>Test de menu dynamique</TITLE>
<STYLE>
<!--
.parent {
font-family: verdana;
font-weight: bold;
font-size: 10pt;
margin-top: 10;
cursor: hand;
}

.child {
font-size: 10pt;
font-weight: normal;
margin-left: 14pt;
}

a:hover { color:red; }
-->
</STYLE>

<SCRIPT LANGUAGE=javascript>
<!--
var intCount = 0;

//-Fonction modification au passage de la sourie------------------
function Div_background( div, action ){

if( action ){ div.style.background = "#FFF000"; }
else{ div.style.background = "#FFFFFF"; }

}

//-Fonction d'ajout d'entrées principales-------------------------
function DynamicMenu_addParent(strName) {
var strID = 'ID' + intCount++;

var strTemp = '<DIV ID="' + strID + '" CLASS="parent"';
strTemp += ' onMouseOver="Div_background(this, 1);"';
strTemp += ' onMouseOut="Div_background(this, 0);"';
strTemp += ' onClick="expandCollapse(this);">';
strTemp += '<IMG SRC="Graphics/left.gif" Height="12">';
strTemp += '&nbsp;' + strName ;
strTemp += '<DIV STYLE="display: none" CLASS="child"></DIV>';
strTemp += '</DIV>';

this.div.innerHTML += strTemp;
this.currentChild = document.getElementById(strID);
}

//-Fonction d'ajout de liens dans le menu-------------------------
function DynamicMenu_addChild(strName,strURL) {
var strTemp = '<A HREF="' + strURL + '"'
+ ' onClick="cancelBubble(arguments[0]);">'
+ strName + '</A><BR>';

if (document.all) {
this.currentChild.children[1].innerHTML += strTemp;
} else {
this.currentChild.childNodes[2].innerHTML += strTemp;
}
}

//-inhibe la cascade d'évènements au DIV conteneur----------------
function cancelBubble(netEvent) {
if (document.all) {
window.event.cancelBubble = true;
} else {
netEvent.cancelBubble = true;
}
}

//-Contracte ou expanse le menu-----------------------------------
function expandCollapse(objElement) {
if (document.all) {
var imgIcon = objElement.children[0];
objElement = objElement.children[1];
} else {
var imgIcon = objElement.childNodes[0];
objElement = objElement.childNodes[2];
}

if (objElement.style.display == "none") {
objElement.style.display = "block" ;
imgIcon.src = "Graphics/bottom.gif" ;
} else {
objElement.style.display = "none" ;
imgIcon.src = "Graphics/left.gif" ;
}
}

//-Fonction de création de menu dynamique-------------------------
function DynamicMenu() {
var id = "Menu" + intCount++;
document.write('<DIV Id="' + id + '"></DIV>');

this.div = document.getElementById(id);
this.currentChild = null;

this.addParent = DynamicMenu_addParent;
this.addChild = DynamicMenu_addChild;
}
// -->
</SCRIPT>
</HEAD>
<BODY>

<SCRIPT Language="Javascript">
<!--
var menu = new DynamicMenu();

menu.addParent("Le langage Javascript");
menu.addChild("Page d'accueil",
"../javascript.html");
menu.addChild("Etude du langage",
"../Langage/ecmascript.html");
menu.addChild("Les objets clients",
"../ObjetsClients/javascript.html");
menu.addChild("La bibliothèque de code",
"../Bibliotheque/index.html");
menu.addChild("Le fabuleux J-Project",
"../J-Project/jproject.html");

menu.addParent("Autres langages du Web");
menu.addChild("Le langage HTML",
"../../Html/index.html");
menu.addChild("Le langage XML",
"../../Xml/index.html");
menu.addChild("Le langage CSS",
"../../Css/styles.html");

menu.addParent("Quelques petits jeux");
menu.addChild("Dynamic PingPong",
"../../../../../Programmes/Jeux/PingPong/PingPong.html");
menu.addChild("Casse briques", "gamesCasseBriques.html");
//-->
</SCRIPT>
</BODY>
</HTML>


Voila, j'espère que ça répond à ta question...

Bye...
Bzh
le 29/12/2005 à 00:13
Newsletter
Et bien regarde ! La réponse est sous ton nez smiley !!!

<?php

/*$headers .= 'Cc: ....@example.com' . "\r\n";
$headers .= 'Bcc: ....@example.com' . "\r\n"; */

?>


Bye...
Bzh
le 25/12/2005 à 11:58
Générer miniature rapidement ...
Générer des miniatures à la volée demande énormement de ressources au serveur...

A moin d'être sur de son serveur, cette méthode est vraiment à proscrire...

Celle de zebden est bien... Ne générer qu'une seule fois la miniature et la garder au chaud sur le serveur...
Bzh
le 25/12/2005 à 11:54
Perte couleur en redimensionnent une image gif
Remplace "imagecreate()" par "imagecreatetruecolor()"

er aussi "imagecopyresized()" par "imagecopyresampled()"

A mon avis, cela devrait être mieu après...

Bye...
Bzh
le 23/12/2005 à 20:59
Scrolling
Heu !!! Pour le pas, c'est le nombre de pixel de déplacement à chaque incrémentation ! smiley Enfin, je me comprends...

Ciao...
LoadingChargement en cours