[2.0.x] Slide Menü für phpBB

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
-=Fable=-
Mitglied
Beiträge: 491
Registriert: 16.09.2005 19:12
Wohnort: Nahe Lüneburg
Kontaktdaten:

Beitrag von -=Fable=- »

Nee die menue.js ist unverändert. Ich habe nur die Farbcodes in der Overall_Header.tpl angepasst...

Hier kann man das sehen:

http://web122.srv9.mw-internet.net/board/
Besucht meine Page unter http://www.roqbar.de
Benutzeravatar
Peggy
Mitglied
Beiträge: 1248
Registriert: 17.10.2003 14:22
Wohnort: Berlin
Kontaktdaten:

Beitrag von Peggy »

In der overall_header.tpl von Artemis ist noch ein anderes JavaScript drin. Evt. stört das das Slide Menü Script:
<script language="javascript" type="text/javascript">
<!--

var PreloadFlag = false;
var expDays = 90;
var exp = new Date();
var tmp = '';
var tmp_counter = 0;
var tmp_open = 0;

exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function SetCookie(name, value)
{
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape(value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}

function getCookieVal(offset)
{
var endstr = document.cookie.indexOf(";",offset);
if (endstr == -1)
{
endstr = document.cookie.length;
}
return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie(name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal(j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}

function ShowHide(id1, id2, id3)
{
var res = expMenu(id1);
if (id2 != '') expMenu(id2);
if (id3 != '') SetCookie(id3, res, exp);
}

function expMenu(id)
{
var itm = null;
if (document.getElementById)
{
itm = document.getElementById(id);
}
else if (document.all)
{
itm = document.all[id];
}
else if (document.layers)
{
itm = document.layers[id];
}
if (!itm)
{
// do nothing
}
else if (itm.style)
{
if (itm.style.display == "none")
{
itm.style.display = "";
return 1;
}
else
{
itm.style.display = "none";
return 2;
}
}
else
{
itm.visibility = "show";
return 1;
}
}

//-->
</script>
Du kannst das ja mal probehalber rausnehmen.
Kein Support per PN/Email/Messenger!
Falls jemand den neuen ICQ-Button braucht: http://www.peggy-para.de/templates/olym ... cq_add.gif
Benutzeravatar
-=Fable=-
Mitglied
Beiträge: 491
Registriert: 16.09.2005 19:12
Wohnort: Nahe Lüneburg
Kontaktdaten:

Beitrag von -=Fable=- »

Aber das gehört doch zum Style dazu, ich denke mal wenn ich das rausnehm fehlt dann ne andere Funktion..Das kanns ja auch nich sein :( Gibts nicht ne andere Möglichkeit? Ich hab das ja bei beiden installierten Styles
Besucht meine Page unter http://www.roqbar.de
Benutzeravatar
Peggy
Mitglied
Beiträge: 1248
Registriert: 17.10.2003 14:22
Wohnort: Berlin
Kontaktdaten:

Beitrag von Peggy »

Wie heisst der andere Style?

Wenn du es trotzdem mal rausnimmst, könnte man dieses als Ursache wenigstens mal bestimmen oder ausschliessen. Hmm ... :-?
Kein Support per PN/Email/Messenger!
Falls jemand den neuen ICQ-Button braucht: http://www.peggy-para.de/templates/olym ... cq_add.gif
Benutzeravatar
-=Fable=-
Mitglied
Beiträge: 491
Registriert: 16.09.2005 19:12
Wohnort: Nahe Lüneburg
Kontaktdaten:

Beitrag von -=Fable=- »

Einmal Artemis und TI2000

Ich probier das gleich mal aus und editier das dann;)


Edit:Ich seh gerade, dass es mit Opera wunderbar funktioniert...Nur mitm Firefox nicht. Wenn ich mitm Firefox auf deine Seite geh funzt es aber...Das schließt doch jetzt aber eigentl. aus das der Fehler beim Script darüber liegt oder?

Edit2: Tja im IE geht es leider auch nicht, aber immerhin ist das Menü dort schon von Anfang an zugeklappt...

IM Opera ist es eigentlich so wie ich es haben will, nur ist das Menü da ein Stück zuweit oben, sodass ca ein viertel fehlt wenn man nach unten scrollt...
Besucht meine Page unter http://www.roqbar.de
pino
Mitglied
Beiträge: 5
Registriert: 20.02.2006 03:26

das ja ma klasse

Beitrag von pino »

hab grd das menü für mich entdeckt - spitze - hat auf anhieb gefunzt.
hab mich auch etwas in code versucht reinzulesen, aber javascript is noch etwas neuland für mich. ich wollt das menü ganz gern auf der rechten seite haben. was müsst ich denn da alles ändern? kann mir da wer helfen?

mfg pino :D
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12178
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Beitrag von Mahony »

Hallo Fable
Schau mal welcher Doctype angegeben ist in der overall_header.tpl.

Falls das hier angegeben ist (XHTML 1.0 Transitional) dann funktioniert das Menü nicht richtig.

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

In diesem Falle benutz mal den hier

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Damit sollte das Menü (in allen Browsern) funktionieren.

@danysahne333
will das bei manchen links sich ein neues fenster öffnet.

hat denn nun schon jemand ne idee wie das funktioniert???
in der overall_header.tpl

Code: Alles auswählen

<a target="PopUp" onClick="window.open('','PopUp',

'width=300,height=300,resizable=no,scrollbars=yes')"

href="http://DeinLink.de" class="mainmenu">Bezeichnung_des_Links</a>
Damit width=300,height=300 legst du die Größe des Fensters (Popups) fest.
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
pino
Mitglied
Beiträge: 5
Registriert: 20.02.2006 03:26

-scnief-

Beitrag von pino »

offenbar kann mir noch niemand helfen, das menü auf die rchte seite zu befördern. naja, ich hab mich damit nochmal n bissel intensiver beschäftigt.

also, ich geh jetzt mal nur von den IE aus. die positionierung liegt dann genau hier: Position : Absolute ;Left : 0px ;top : '+YOffset+'

Code: Alles auswählen

function startMenu(menuHeader, barText) { 
if (IE||NS6) {document.write('<DIV ID="ssm" style="visibility:hidden;Position : Absolute ;Left : 0px ;top : '+YOffset+' ;Z-Index : 20;width:1px" onmouseover="moveOut()" onmouseout="moveBack()">')} 
if (NS) {...
und wenn mich nich alles täuscht is das CSS, also änder ich doch einfach nur Left zu Right, oder? müsste etwas komisch aussehen, tut es aber nich, sieht genauso aus, als wäre alles beim alten.
es ändert sich nicheinmal dann etwas, wenn ich den wert nach Left ändere, hab es mit 100px versucht, nix.
also, ich bekomm hier bald n schreikrampf.

kann mir da echt niemand helfen?
pino
Mitglied
Beiträge: 5
Registriert: 20.02.2006 03:26

hi pino

Beitrag von pino »

schau mal hier pino, ich hab da mal was vorbereitet :wink:

-grübel- also wenn ich weiter keine hilfe mehr bekomm, schaff ich das wohl doch noch allein -grins-

also, ich hab da mal einiges geändert jetzt, sieht auch schon ganz gut aus, aber irgendwie noch nich so ganz.

kurze erklärung: am anfang wird die fensterweite ermittelt, deswegen sollte das script auch zum ende der html ausgeführt werden. wenn es nu doch vorkommt, das keine fensterweite bestimmt werden konnte, so wird auch das menü nich angezeigt, da es sonst auf der linken seite dargestellt wird, wo es ja nich sein soll.

also, hier is der code

Code: Alles auswählen

if (window.innerWidth) {XOffset=window.innerWidth;}  //NS
else if (document.body && document.body.offsetWidth) {XOffset=document.body.offsetWidth;}  //IE

if (XOffset) {

YOffset			=	20; // no quotes!!
staticYOffset	=	20; // no quotes!!
slideSpeed		=	20 // no quotes!!
waitTime		=	1000; // no quotes!! this sets the time the menu stays out for after the mouse goes off it.
hdrFontFamily	=	"Verdana";
hdrFontSize		=	"3";
hdrFontColor	=	"white";
hdrBGColor		=	"#170088";
hdrAlign		=	"right";
hdrVAlign		=	"center";
hdrHeight		=	"20";
linkFontFamily	=	"Verdana";
linkFontSize	=	"2";
linkBGColor		=	"white";
linkOverBGColor	=	"#DDDDDD";
linkTarget		=	"_self";
linkAlign		=	"left";      //left
menuBGColor		=	"white";
menuIsStatic	=	"yes";
menuWidth		=	200; // Must be a multiple of 10! no quotes!!
barBGColor		=	"#444444";
barFontFamily	=	"Verdana";
barFontSize		=	"2";
barFontColor	=	"white";
barVAlign		=	"top";
barWidth		=	20; // no quotes!!

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

moving=setTimeout('null',1)

function moveOut() {
	if ((NS6 && parseInt(ssm.left)>XOffset-menuWidth)||(IE && ssm.style.pixelLeft>XOffset-menuWidth)||(NS && document.ssm.left>XOffset-menuWidth)) {
		clearTimeout(moving);moving = setTimeout('moveOut()', slideSpeed)
		if (NS6) {ssm.left = parseInt(ssm.left)-10+"px";}
		if (IE) {ssm.style.pixelLeft -= 10;}
		if (NS) {document.ssm.left -= 10;}}
	else {clearTimeout(moving);moving=setTimeout('null',1)}};

function moveBack() {
	clearTimeout(moving);moving = setTimeout('moveBack1()', waitTime)}

function moveBack1() {
	if ((NS6 && parseInt(ssm.left)<XOffset)||(IE && ssm.style.pixelLeft<XOffset)||(NS && document.ssm.left<XOffset)) {
		clearTimeout(moving);moving = setTimeout('moveBack1()', slideSpeed);
		if (NS6) {ssm.left = parseInt(ssm.left)+10+"px";}
		if (IE) {ssm.style.pixelLeft += 10;}
		if (NS) {document.ssm.left += 10;}}
	else {clearTimeout(moving);moving=setTimeout('null',1)}};

lastY = 0;

function makeStatic() {
	if (NS6) {winY = window.pageYOffset;}
	if (IE) {winY = document.body.scrollTop;var NM=document.all('ssm').style}
	if (NS) {winY = window.pageYOffset;var NM=document.ssm}
	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);}
		else {smooth=0}
		if(smooth > 0) smooth = Math.ceil(smooth);
		else smooth = Math.floor(smooth);
		if (NS6) ssm.top=parseInt(ssm.top)+smooth+"px"
		if (IE) NM.pixelTop+=smooth;
		if (NS) NM.top+=smooth;
		lastY = lastY+smooth;
		setTimeout('makeStatic()', 1)}}

function initSlide() {
	if (NS6){
		ssm=document.getElementById("ssm").style
		ssm.visibility="visible";
		ssm.left = -menuWidth+XOffset;}
	else if (IE) {
		ssm.style.visibility = "visible"
		ssm.style.pixelLeft = -menuWidth+XOffset;}
	else if (NS) {
		document.ssm.left = -menuWidth+XOffset;
		document.ssm.visibility = "show"}
	if (menuIsStatic=="no") makeStatic();}

function startMenu(menuHeader, barText) {
	if (IE||NS6) {document.write('<DIV ID="ssm" style="visibility:hidden;Position : Absolute ;Left : '+XOffset+'px ;Top : '+YOffset+' ;Z-Index : 20;width:1px" onmouseover="moveOut()" onmouseout="moveBack()">')}
	if (NS) {document.write('<LAYER visibility="hide" top="'+YOffset+'" name="ssm" bgcolor="'+menuBGColor+'" left="1000" onmouseover="moveOut()" onmouseout="moveBack()">')}
	if (NS6){document.write('<table border="0" cellpadding="0" cellspacing="0" width="'+(menuWidth+barWidth+2)+'" bgcolor="'+menuBGColor+'"><TR><TD>')}
	tempBar=""
	for (i=0;i<barText.length;i++) {
		tempBar+=barText.substring(i, i+1)+"<BR>"}
	document.write('<table border="0" cellpadding="0" cellspacing="1" width="'+(menuWidth+barWidth+2)+'" bgcolor="'+menuBGColor+'"><tr><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><td bgcolor="'+hdrBGColor+'" WIDTH="'+(menuWidth-1)+'" HEIGHT="'+hdrHeight+'" ALIGN="'+hdrAlign+'" VALIGN="'+hdrVAlign+'">&nbsp;<font face="'+hdrFontFamily+'" Size="'+hdrFontSize+'" COLOR="'+hdrFontColor+'"><b>'+menuHeader+'</b></font></td></tr>')}

function addItem(text, link, target) {
	if (!target) {target=linkTarget}
	document.write('<TR><TD BGCOLOR="'+linkBGColor+'" onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="'+(menuWidth-1)+'"><ILAYER><LAYER onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="100%" ALIGN="'+linkAlign+'"><DIV  ALIGN="'+linkAlign+'"><FONT face="'+linkFontFamily+'" Size="'+linkFontSize+'">&nbsp;<A HREF="'+link+'" CLASS="ssmItems" target="_self">'+text+'</DIV></LAYER></ILAYER></TD></TR>')}

function addExItem(text, link, target) {
	if (!target) {target=linkTarget}
	document.write('<TR><TD BGCOLOR="'+linkBGColor+'" onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="'+(menuWidth-1)+'"><ILAYER><LAYER onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="100%" ALIGN="'+linkAlign+'"><DIV  ALIGN="'+linkAlign+'"><FONT face="'+linkFontFamily+'" Size="'+linkFontSize+'">&nbsp;<A HREF="'+link+'" target="_self" CLASS="ssmItems">'+text+'</DIV></LAYER></ILAYER></TD></TR>')}

function addExPic(text, link, target) {
	if (!target) {target=linkTarget}
	document.write('<TR><TD cellpadding="2" BGCOLOR="'+linkBGColor+'" onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="'+(menuWidth-1)+'"><ILAYER><LAYER onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="100%" ALIGN="'+linkAlign+'"><DIV  ALIGN="'+linkAlign+'">&nbsp;<A HREF="'+link+'" target="_self" CLASS="ssmItems"><img src="'+text+'" border="0"></A></DIV></LAYER></ILAYER></TD></TR>')}

function addHdr(text) {
	document.write('<tr><td bgcolor="'+hdrBGColor+'" HEIGHT="'+hdrHeight+'" ALIGN="'+hdrAlign+'" VALIGN="'+hdrVAlign+'" WIDTH="'+(menuWidth-1)+'">&nbsp;<font face="'+hdrFontFamily+'" Size="'+hdrFontSize+'" COLOR="'+hdrFontColor+'"><b>'+text+'</b></font></td></tr>')}

function endMenu() {
	document.write('<tr><td bgcolor="'+hdrBGColor+'"><font size="0" face="Arial">&nbsp;</font></td></TR></table>')
	if (NS6){document.write('</TD></TR></TABLE>')}
	if (IE||NS6) {document.write('</DIV>')}
	if (NS) {document.write('</LAYER>')}
	if (NS6||IE||NS) setTimeout('initSlide();', 100)}

}
so, wer es nu ausprobiert wird sehn das das noch nich so ganz das ware is.
das erste is, das das menü nich wirklich ausgeblendet wird, sondern nur weiter nach rechts verschiebt, die ganzen links sind immernoch sichtbar, sobald ich da mal nach rechts scrolle.
und zweites kann ich nur ein menü maximal starten, wenn ich beide versuch, also links und rechts, dann kommt nix, wahrscheinlich gibs da interne fehler, weil beide menüs noch die selben variablen benutzen, aber sicher bin ich mir da noch nich.

wozu der ganze zauber? alsooo. ich möcht ganz gern auf meiner seite eine shortbox bzw chat haben, und die soll dann von jeder seite aus direkt erreichbar sein. das menü wird dann noch entsprechen umgebaut und mit einen iframe bestückt, so das das ganze dann alles zueinander passt.

so, und jetzt möcht ich doch bitte bitte etwas hilfe haben :(
pino
Mitglied
Beiträge: 5
Registriert: 20.02.2006 03:26

ich schon wieder

Beitrag von pino »

hi, ich hab wieder ein problem eliminiert. nun is es mir möglich beide menüs gleichzeitig darzustellen.
wie ich mir schon dachte, lag das problem an den doppelt belegten variablen. also hab ich einfach jedes 'ssm' durch ein 'rsm' ausgetauscht und vor jeder variable und vor jeder funktion ein'r_'gesetzt. natürlich nur bei den rechten menü.

leider hat sich nun ein weiteres problem ergeben.
es kann immer nur ein menü in bewegung sein. sobald ich das eine menü mit der maus überfahre, während das andere noch in bewegung is, bleibt das andere stehn und rüht sich solange nich, bis ich es wieder mit der maus überfahre.

das andere problem, das mit den nich ausblenden am rechten rand, is noch geblieben, da hab ich echt keinen schimmer und ich wäre wirklich wirklich dankbar, wenn mir irgendwer helfen könnte, oder zumindest sagen könnte, wo ich selbst hilfe finden kann.
Antworten

Zurück zu „phpBB 2.0: Mod Support“