Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #1  
Alt 18.09.07, 09:41
Forum Aktivist
 
Registriert seit: 13.09.07
Beiträge: 59

JavaScript-Funktion in TypoScript


Hallo,
ich habe folgendes Problem und suche Hilfe!!!

ich habe eine Javascript - Funktion zur Ermittlung von Fensterweite geschrieben um den Menu-Layer absolut zu positionieren.
Leider weiss ich jetzt nicht wie ich diese Variable in TypoScript übergeben kann.

Ich habe es im Moment so, leider geht das aber nicht:

Typoscript-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
page = PAGE
page.stylesheet = fileadmin/templates/css/styles.css
page.typeNum = 0


page.headerData.1 = COA
page.headerData.1 = TEXT
page.headerData.1.value (

<script type="text/JavaScript">

function Fensterweite() {
  if (window.innerWidth) {
    return window.innerWidth;
  }
  else if (document.body && document.body.offsetWidth) {
    return document.body.offsetWidth;
  }
  else {
    return 0;
  }
}      

function neuAufbau () {
  if (Weite != Fensterweite())
    location.href = location.href;
}

/* Überwachung von Internet Explorer initialisieren */
if (!window.Weite && document.body && document.body.offsetWidth) {
  window.onresize = neuAufbau;
  Weite = Fensterweite();
  /*Weite = (Weite-400)/2;*/
  /*Abstand = (Weite - 400);
  Links = (Abstand)/2;  
  Links = Links+px;*/
}

/* Überwachung von Netscape initialisieren*/
if (!window.alteWeite && window.innerWidth) {
  window.onresize = neuAufbau;
  Weite = Fensterweite();
  
  /*Abstand = (Weite - 400);
  Links = (Abstand)/2;  
  Links = Links+px;*/
  }

  Abstand = (Weite - 400);
  Links = (Abstand)/2;  
  Links = Links+'px';
</script>
)


layerStyle = position:absolute; left:+Links+; top:20px; height:50px;VISIBILITY:hidden;
Weiss jemand Rat?
liebe Grüße

Geändert von Cybersmog (18.09.07 um 09:51 Uhr).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 18.09.07, 09:59
Benutzerbild von Cybersmog
TYPO3 Forum Team
Moderator
 
Registriert seit: 24.02.06
Alter: 31
Beiträge: 1.734

Vorweg: Zeile 6 in deinem Code ist überflüssig, weil du sie in Zeile 7 wieder überschreibst.

Zum Problem: ich würde einen anderen Lösungsansatz wählen: gib dem Menü eine ID und sprich in deinem JS dann direkt dieses Element an (getElementById())

Gruß
Peter
__________________
An eagle soars, but a weasel never gets sucked into a jet engine!
TYPO3 schreibt sich TYPO3!

Geändert von Cybersmog (18.09.07 um 10:27 Uhr).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 18.09.07, 10:01
Forum Aktivist
 
Registriert seit: 13.09.07
Beiträge: 59

hi,
danke dir für den Tipp, kannst du vielleicht ein Beispiel bringen wie das gehen soll. Bin ziemliche Anfängerin


Danke und Grüße
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 18.09.07, 10:28
Benutzerbild von Cybersmog
TYPO3 Forum Team
Moderator
 
Registriert seit: 24.02.06
Alter: 31
Beiträge: 1.734

Es müsste in etwa so aussehen:
HTML-Code:
<script language="javascript" type="text/javascript">
var menu = document.getElementById('menu');
menu.style.left = left+'px';
</script> <div id="menu">Menü Code</div>
Du musst halt deinen Code noch dazu einbauen.

Gruß
Peter
__________________
An eagle soars, but a weasel never gets sucked into a jet engine!
TYPO3 schreibt sich TYPO3!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #5  
Alt 18.09.07, 11:00
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.12.05
Ort: Kiel
Alter: 38
Beiträge: 2.043
Armin eine Nachricht über ICQ schicken Armin eine Nachricht über Skype™ schicken

moin,

weitere Info: SELFHTML: JavaScript / Objektreferenz / document

Und: TS wird Serverseitig ausgeführt, JS Client-Seitig. Aus diesem Grund kann die Zeile
layerStyle = position:absolute; left:+Links+; top:20px; height:50px;VISIBILITY:hidden;
nicht greifen!

Armin
__________________
Nichts kommt von selbst, sogar eine Dummheit muss man erst machen.

Tipps und Tricks zu TYPO3: http://typo3.intervation.de
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #6  
Alt 18.09.07, 12:10
Forum Aktivist
 
Registriert seit: 13.09.07
Beiträge: 59

hallo,

mit ist mir immer noch nicht klar ob ich den layerStyle id vergeben kann, oder ein Div um den Layer herum machen??

Unten ist meine Menu, es klappt aber weder so oder so

hier ist noch mal mein Code wie er jetzt ist.

Code:
<script type="text/JavaScript">
Links = Links+'px';
 var menu = document.getElementById('menu');
  menu.style.left = Links;
</script>
sieht jemand den Fehler?????

Typoscript-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
NAVIGATION = HMENU
NAVIGATION {

1 = GMENU_LAYERS
1 {                  
layerStyle = position:absolute; top:25px; height:50px;VISIBILITY:hidden;

expAll=1
hideMenuTimer = 1000
hideMenuWhenNotOver = 1
displayActiveOnLoad = 1              


wrap = <table border="0" cellpadding="0" cellspacing="0"><tr>|<td><img src="fileadmin/images/test.gif"/></td></tr></table>  
NO.wrap = <td>|</td>      
NO {      

transparentBackground = 1
backColor = #000000  
XY = 500, 20        

10 = TEXT
10.text.field = title      
10.fontSize = 12
10.fontFile = fileadmin/..
10.fontColor= #ffffff
10.offset = 5, 16
10.niceText = 0    

}
}

2 = GMENU_LAYERS
2 {      
layerStyle = position:absolute; top:25px; VISIBILITY:hidden;

wrap = [color=DarkRed]<div id= "menu">[/color]<table border="0" cellspacing="0" cellpadding="0"><tr> | </tr></table></div>    

NO{
allWrap = <td height="50"> | </td>            
XY = 500, 20        
10 = TEXT
10.text.field = title    
10.offset = 5, 15    
10.fontSize = 10  
10.fontFile = fileadmin/..  
10.fontColor = #000000
}  
}    
}



//Edit von MistaD
Code in den passenden Container geschubst

Geändert von MistaD (19.09.07 um 10:24 Uhr).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #7  
Alt 18.09.07, 12:28
Benutzerbild von Cybersmog
TYPO3 Forum Team
Moderator
 
Registriert seit: 24.02.06
Alter: 31
Beiträge: 1.734

Eine ID kannst du jedem HTML Element mitgeben.

Gruß
Peter
__________________
An eagle soars, but a weasel never gets sucked into a jet engine!
TYPO3 schreibt sich TYPO3!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #8  
Alt 19.09.07, 10:13
Forum Aktivist
 
Registriert seit: 13.09.07
Beiträge: 59

hallo,

bin schon am verzweifeln, hat immer noch nicht geklappt

welchen Element in meinen Fall kann man eine ID geben?
die Positionierung funktioniert wenn ich den

layerStyle = position:absolute; VISIBILITY:hidden;

left: ".." angebe

genau diesen Wert will ich mit JavaScript austauschen.
Hier (layerStyle) kann ich doch kein ID vergeben oder?

In Explorer funktioniert alles auch ohne id aber Firefox macht Probleme.

Brauch dringend Hilfe!

Grüße alona

Geändert von alona (19.09.07 um 10:27 Uhr).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Smoothgalerie Crop-Funktion Querxom rg 1 18.03.08 05:11
Neue BBCode Funktion: [typoscript] [/typoscript] Junior Änderungen 14 17.01.08 11:30
Mailformplus - keine Funktion Anima Alle anderen Extensions 3 28.12.07 09:21
Import Funktion hedonist Extension suchen und neue vorschlagen 0 23.06.06 13:06
Was macht die Funktion cObjGetSingle()? Tobit TYPO3 3.x Fragen und Probleme 1 19.04.06 13:19


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0