Function setPointer

GSIxess Messages postés 2 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 21 octobre 2005 - 20 oct. 2005 à 17:00
GSIxess Messages postés 2 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 21 octobre 2005 - 21 oct. 2005 à 17:26
Bonojur à vous,



J'essai de mettre en place le même scripts que l'on trouve sur
PhpMyAdmin, utilisant la fonction 'setPointer()' pour la coloration des
lignes d'un Tableau suivant si on survol ou clique dessus.



Mon problème reste assez simple vous allez me dire, c'est que les ligne
de mon tableau sont tout simplement transparentent au lieu d'avoir des
couleurs !! :(



Voici le Code utilisé :

function setPointer(theRow, theAction, theDefaultColor, thePointerColor, theMarkColor)

{

var theCells = null;



// 1. Pointer and mark feature are disabled or the browser can't get the

// row -> exits

if ((thePointerColor '' && theMarkColor '')

|| typeof(theRow.style) == 'undefined') {

return false;

}



// 2. Gets the current row and exits if the browser can't get it

if (typeof(document.getElementsByTagName) != 'undefined') {

theCells = theRow.getElementsByTagName('td');

}

else if (typeof(theRow.cells) != 'undefined') {

theCells = theRow.cells;

}

else {

return false;

}



// 3. Gets the current color...

var rowCellsCnt = theCells.length;

var domDetect = null;

var currentColor = null;

var newColor = null;

// 3.1 ... with DOM compatible browsers except Opera that does not return

// valid values with "getAttribute"

if (typeof(window.opera) == 'undefined'

&& typeof(theCells[0].getAttribute) != 'undefined') {

currentColor = theCells[0].getAttribute('bgcolor');

domDetect = true;

}

// 3.2 ... with other browsers

else {

currentColor = theCells[0].style.backgroundColor;

domDetect = false;

} // end 3



// 4. Defines the new color

// 4.1 Current color is the default one

if (currentColor == ''

|| currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {

if (theAction == 'over' && thePointerColor != '') {

newColor = thePointerColor;

}

else if (theAction == 'click' && theMarkColor != '') {

newColor = theMarkColor;

}

}

// 4.1.2 Current color is the pointer one

else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()) {

if (theAction == 'out') {

newColor = theDefaultColor;

}

else if (theAction == 'click' && theMarkColor != '') {

newColor = theMarkColor;

}

}

// 4.1.3 Current color is the marker one

else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {

if (theAction == 'click') {

newColor = (thePointerColor != '')

? thePointerColor

: theDefaultColor;

}

} // end 4



// 5. Sets the new color...

if (newColor) {

var c = null;

// 5.1 ... with DOM compatible browsers except Opera

if (domDetect) {

for (c = 0; c < rowCellsCnt; c++) {

theCells[c].setAttribute('bgcolor', newColor, 0);

} // end for

}

// 5.2 ... with other browsers

else {

for (c = 0; c < rowCellsCnt; c++) {

theCells[c].style.backgroundColor = newColor;

}

}

} // end 5



return true;

} // end of the 'setPointer()' function


Avec dans le '<tr>' ceci :

echo "<tr onmouseover="setPointer(this, 1, 'over',
'#E5E5E5', '#CCFFCC', '#FFCC99');" onmouseout="setPointer(this, 1,
'out', '#E5E5E5', '#CCFFCC', '#FFCC99');"
onmousedown="setPointer(this, 1, 'click', '#E5E5E5', '#CCFFCC',
'#FFCC99');">"."\n";


N'étant "Vraiment" pas doué en Javascripts, si queqlu'un passait par là
et avait la solution à mon Problème ce serait SUPER COOL. :p



Ixess.

1 réponse

GSIxess Messages postés 2 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 21 octobre 2005
21 oct. 2005 à 17:26
Bonjour,

Y'a vraiment personne qui pourrait de donner un peit coup de main en paasant ??

Bon Week-end.
Ixess.
0
Rejoignez-nous