Uutiset:

SMF 2.1.4 has been released! Take it for a spin! Read more.

Main Menu
Advertisement:

interaction entre forum et un menu ...

Aloittaja tsouliang, heinäkuu 29, 2009, 06:57:31 IP

« edellinen - seuraava »

tsouliang

Bonjour :)
Bon, c'est plus un problème de programmation :
J'ai poser un menu fixe à gauche sur mon forum SMF, car il devient long ;)
Ce menu représente toutes les différentes sections du forum.
Maintenant, voila mon idée :
J'aimerais lier chaque ligne du menu avec un indicateur de nouveau message ...
Genre ajouter le dessin "on.gif" devant les lignes du menu représentant une section avec des nouveaux messages :)
Pour voir le menu sur mon site : www.reikirama.net/forum [nofollow]

Voila, je ne vois pas trop comment faire, vos idées sont les bienvenues :)
Merci ;)

nexxuscorp

Alors la, j'peux po t'aider ....

Peut etre en jouant avec les finos sur indextemplate ou boardindextemplate ( avec les On.gif ....)

Enfin, je dis ça parce que tu semble utiliser ImageOnBoard. Et je pense que tu sais de quoi je parle ....

tsouliang

Pour info, le menu est appeler par ce code :
<HEAD>
<STYLE type="text/css">
<!--
A.ssmItems:link {color:navy;text-decoration:none;}
A.ssmItems:hover {color:black;text-decoration:none;}
A.ssmItems:active {color:black;text-decoration:none;}
A.ssmItems:visited {color:black;text-decoration:none;}
//-->
</STYLE>
<SCRIPT SRC="ssmItems.js"> language="JavaScript1.2"></SCRIPT>
</HEAD>


et voici le code du fichier js :
//Static Slide Menu 6.5 © MaXimuS 2000-2001, All Rights Reserved.
//Site: http://www.absolutegb.com/maximus
//E-mail: [email protected]
//Script featured on Dynamic Drive (http://www.dynamicdrive.com)

NS6 = (document.getElementById&&!document.all)
IE = (document.all)
NS = (navigator.appName=="Netscape" && navigator.appVersion.charAt(0)=="4")

tempBar='';barBuilt=0;ssmItems=new Array();


moving=setTimeout('null',1)
function moveOut() {
if ((NS6||NS)&&parseInt(ssm.left)<0 || IE && ssm.pixelLeft<0) {
clearTimeout(moving);moving = setTimeout('moveOut()', slideSpeed);slideMenu(10)}
else {clearTimeout(moving);moving=setTimeout('null',1)}};
function moveBack() {clearTimeout(moving);moving = setTimeout('moveBack1()', waitTime)}
function moveBack1() {
if ((NS6||NS) && parseInt(ssm.left)>(-menuWidth) || IE && ssm.pixelLeft>(-menuWidth)) {
clearTimeout(moving);moving = setTimeout('moveBack1()', slideSpeed);slideMenu(-10)}
else {clearTimeout(moving);moving=setTimeout('null',1)}}
function slideMenu(num){
if (IE) {ssm.pixelLeft += num;}
if (NS||NS6) {ssm.left = parseInt(ssm.left)+num;}
if (NS) {bssm.clip.right+=num;bssm2.clip.right+=num;}}

function makeStatic() {
if (NS||NS6) {winY = window.pageYOffset;}
if (IE) {winY = document.body.scrollTop;}
if (NS6||IE||NS) {
if (winY!=lastY&&winY>YOffset-staticYOffset) {
smooth = .2 * (winY - lastY - YOffset + staticYOffset);}
else if (YOffset-staticYOffset+lastY>YOffset-staticYOffset) {
smooth = .2 * (winY - lastY - (YOffset-(YOffset-winY)));}
else {smooth=0}
if(smooth > 0) smooth = Math.ceil(smooth);
else smooth = Math.floor(smooth);
if (IE) bssm.pixelTop+=smooth;
if (NS6||NS) bssm.top=parseInt(bssm.top)+smooth
lastY = lastY+smooth;
setTimeout('makeStatic()', 1)}}

function buildBar() {
if(barText.indexOf('<IMG')>-1) {tempBar=barText}
else{for (b=0;b<barText.length;b++) {tempBar+=barText.charAt(b)+"<BR>"}}
document.write('<td align="center" rowspan="100" width="'+barWidth+'" bgcolor="'+barBGColor+'" valign="'+barVAlign+'"><p align="center"><font face="'+barFontFamily+'" Size="'+barFontSize+'" COLOR="'+barFontColor+'"><B>'+tempBar+'</B></font></p></TD>')}

function initSlide() {
if (NS6){
ssm=document.getElementById("thessm").style;
bssm=document.getElementById("basessm").style;
bssm.clip="rect(0 "+document.getElementById("thessm").offsetWidth+" "+document.getElementById("thessm").offsetHeight+" 0)";ssm.visibility="visible";
}else if (IE) {
ssm=document.all("thessm").style;
bssm=document.all("basessm").style;
bssm.clip="rect(0 "+thessm.offsetWidth+" "+thessm.offsetHeight+" 0)";bssm.visibility = "visible";
}else if (NS) {
bssm=document.layers["basessm1"];
bssm2=bssm.document.layers["basessm2"];ssm=bssm2.document.layers["thessm"];
bssm2.clip.left=0;ssm.visibility = "show";
}
if (menuIsStatic=="yes")
makeStatic();
}

function buildMenu() {
if (IE||NS6) {
document.write('<DIV ID="basessm" style="visibility:hidden;Position : Absolute ;Left : '+XOffset+' ;Top : '+YOffset+' ;Z-Index : 20;width:'+(menuWidth+barWidth+10)+'"><DIV ID="thessm" style="Position : Absolute ;Left : '+(-menuWidth)+' ;Top : 0 ;Z-Index : 20;" onmouseover="moveOut()" onmouseout="moveBack()">');
}
if (NS) {
document.write('<LAYER name="basessm1" top="'+YOffset+'" LEFT='+XOffset+' visibility="show"><ILAYER name="basessm2"><LAYER visibility="hide" name="thessm" bgcolor="'+menuBGColor+'" left="'+(-menuWidth)+'" onmouseover="moveOut()" onmouseout="moveBack()">');
}
if (NS6){
document.write('<table border="0" cellpadding="0" cellspacing="0" width="'+(menuWidth+barWidth+2)+'" bgcolor="'+menuBGColor+'"><TR><TD>');
}
document.write('<table border="0" cellpadding="0" cellspacing="1" width="'+(menuWidth+barWidth+2)+'" bgcolor="'+menuBGColor+'">');
for(i=0;i<ssmItems.length;i++) {
if(!ssmItems[i][3]){
ssmItems[i][3]=menuCols;
ssmItems[i][5]=menuWidth-1;
}else if(ssmItems[i][3]!=menuCols)
ssmItems[i][5]=Math.round(menuWidth*(ssmItems[i][3]/menuCols)-1);
if ( ssmItems[i-1] && ssmItems[i-1][4] != "no" ) {

document.write('<TR>');
}
if(!ssmItems[i][1]){
document.write('<td bgcolor="'+hdrBGColor+'" HEIGHT="'+hdrHeight+'" ALIGN="'+hdrAlign+'" VALIGN="'+hdrVAlign+'" WIDTH="'+ssmItems[i][5]+'" COLSPAN="'+ssmItems[i][3]+'"><font face="'+hdrFontFamily+'" Size="'+hdrFontSize+'" COLOR="'+hdrFontColor+'"> <b>'+ssmItems[i][0]+'</b></font></td>');
}else {
if(!ssmItems[i][2])
ssmItems[i][2]=linkTarget;
document.write('<TD BGCOLOR="'+linkBGColor+'" onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="'+ssmItems[i][5]+'" COLSPAN="'+ssmItems[i][3]+'"><ILAYER><LAYER onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="100%" ALIGN="'+linkAlign+'"><DIV  ALIGN="'+linkAlign+'"><FONT face="'+linkFontFamily+'" Size="'+linkFontSize+'"> <A HREF="'+ssmItems[i][1]+'" target="'+ssmItems[i][2]+'" CLASS="ssmItems">'+ssmItems[i][0]+'</DIV></LAYER></ILAYER></TD>');
}
if(ssmItems[i][4]!="no"&&barBuilt==0){
buildBar();
barBuilt=1;
}
if(ssmItems[i][4]!="no"){
document.write('</TR>');
}
}
document.write('</table>');
if (NS6){
document.write('</TD></TR></TABLE>');
}
if (IE||NS6) {
document.write('</DIV></DIV>');
}
if (NS) {
document.write('</LAYER></ILAYER></LAYER>');
}
theleft=-menuWidth;lastY=0;setTimeout('initSlide();', 1);
}


<!--



/*

Configure menu styles below

NOTE: To edit the link colors, go to the STYLE tags and edit the ssm2Items colors

*/



b=(screen.width==800&&screen.height==600);


if(b) YOffset=200;//0;
else YOffset=210;//10; // no quotes!!
XOffset=5;//0;
staticYOffset=200;//6; // no quotes!!
slideSpeed=10; // no quotes!!
waitTime=100; // no quotes!! this sets the time the menu stays out for after the mouse goes off it.
menuBGColor="RoyalBlue";
menuIsStatic="yes"; //this sets whether menu should stay static on the screen
if(b) menuWidth=160;
else menuWidth=180; // Must be a multiple of 10! no quotes!!
menuCols=2;
hdrFontFamily="verdana";
if(b) hdrFontSize="1";
else hdrFontSize="2";
hdrFontColor="Navy";
hdrBGColor="Orchid";
hdrAlign="center";
hdrVAlign="center";
hdrHeight="15";
linkFontFamily="Verdana";
if(b) linkFontSize="1";
else linkFontSize="2";
linkBGColor="white";
linkOverBGColor="SkyBlue";
linkTarget="_top";
linkAlign="Left";
barBGColor="BlueViolet";//"Sandybrown";
barFontFamily="Verdana";
if(b) barFontSize="1";
else barFontSize="2";
barFontColor="Navy";
barVAlign="center";
barWidth=25;//20; // no quotes!!
barText="Menu forum"; // <IMG> tag supported. Put exact html for an image to show.



///////////////////////////
// ssmItems[...]=[name, link, target, colspan, endrow?] - leave 'link' and 'target' blank to make a header

// ssmItems[0]=["Acceuil"] //create header

ssmItems[0]=["Reikirama.net le site web", "http://www.reikirama.net","_blank"]
ssmItems[1]=["Portail d'accueil", "http://www.reikirama.net/forum/index.php","_self"]
ssmItems[2]=["Haut de page", "http://www.reikirama.net/forum/index.php?action=forum","_self"]
ssmItems[3]=["Acceuil", "http://www.reikirama.net/forum/index.php?action=forum#9","_self"]
ssmItems[4]=["Reiki", "http://www.reikirama.net/forum/index.php?action=forum#3","_self"]
ssmItems[5]=["Reiki Usui", "http://www.reikirama.net/forum/index.php?action=forum#13","_self"]
ssmItems[6]=["Reiki Karuna&reg; / Reiki Karuna Ki", "http://www.reikirama.net/forum/index.php?action=forum#12", "_self"]
ssmItems[7]=["Reiki Kundalini", "http://www.reikirama.net/forum/index.php?action=forum#16","_self"]
ssmItems[8]=["Reiki LaHoChi", "http://www.reikirama.net/forum/index.php?action=forum#23","_self"]
ssmItems[9]=["Reiki OR", "http://www.reikirama.net/forum/index.php?action=forum#20","_self"]
ssmItems[10]=["Etoile d'Or Christique", "http://www.reikirama.net/forum/index.php?action=forum#21","_self"]
ssmItems[11]=["Shamballa", "http://www.reikirama.net/forum/index.php?action=forum#19","_self"]
ssmItems[12]=["Reiki du royaume des F&eacute;es", "http://www.reikirama.net/forum/index.php?action=forum#11","_self"]
ssmItems[13]=["Flamme violette-argent&eacute;e", "http://www.reikirama.net/forum/index.php?action=forum#17","_self"]
ssmItems[14]=["Flamme de protection psychique de Micha&euml;l", "http://www.reikirama.net/forum/index.php?action=forum#22","_self"]
ssmItems[15]=["Rayon d'abondance", "http://www.reikirama.net/forum/index.php?action=forum#14","_self"]
ssmItems[16]=["Marathon Reiki - Reiki &agrave; distance", "http://www.reikirama.net/forum/index.php?action=forum#8","_self"]
ssmItems[17]=["D&eacute;veloppement personnel", "http://www.reikirama.net/forum/index.php?action=forum#6","_self"]
ssmItems[18]=["Libre &eacute;change", "http://www.reikirama.net/forum/index.php?action=forum#7","_self"]

buildMenu();



//-->


tsouliang

Salut nexxuscorp :)

hum, c'est quoi les finos ??  :-\
Et oui j'utilise ImageOnBoard, mais j'imagineais simplement utiliser if ($board['new']) pour tester et après ... ben comment faire pour modifier un menu qui est écrit en js et appeler depuis le header ??
Mystère et boule de gomme .. est-ce seulement possible ?

Advertisement: