Vallende letters werken alleen in IE

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Joeri de Groot

Joeri de Groot

29/07/2008 13:06:00
Quote Anchor link
Beste Allemaal,

Ik heb een "klein" probleem. Heb een javascriptje waarmee je vallende letters te zien krijgt. Het probleem is dat het alleen in IE werkt, in andere browsers werkt het niet, en wordt het helemaal rechts uitgelijnd als normale tekst. Dit is de code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <title></title>
  <script language="JavaScript" fptype="dynamicanimation">
<!--
  
  dynamicanimAttr = "dynamicanimation"
  animateElements = new Array()
  currentElement = 0
  speed = 46
  stepsZoom = 8
  stepsWord = 8
  stepsFly = 12
  stepsSpiral = 16
  steps = stepsZoom
  step = 0
  outString = ""
  function dynAnimation()
  {
    var ms = navigator.appVersion.indexOf("MSIE")
    ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
    if(!ie4)
    {
      if((navigator.appName == "Netscape") &&
         (parseInt(navigator.appVersion.substring(0, 1)) >= 4))
      {
        for (index=document.layers.length-1; index >= 0; index--)
        {
            layer=document.layers[index]
            if (layer.left==10000)
                layer.left=0
        }
      }
      return
    }
    for (index=document.all.length-1; index >= document.body.sourceIndex; index--)
    {
      el = document.all[index]
      animation = el.getAttribute(dynamicanimAttr, false)
      if(null != animation)
      {
        if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")
        {
          ih = el.innerHTML
          outString = ""
          i1 = 0
          iend = ih.length
          while(true)
          {
            i2 = startWord(ih, i1)
            if(i2 == -1)
              i2 = iend
            outWord(ih, i1, i2, false, "")
            if(i2 == iend)
              break
            i1 = i2
            i2 = endWord(ih, i1)
            if(i2 == -1)
              i2 = iend
            outWord(ih, i1, i2, true, animation)
            if(i2 == iend)
              break
            i1 = i2
          }
          document.all[index].innerHTML = outString
          document.all[index].style.posLeft = 0
          document.all[index].setAttribute(dynamicanimAttr, null)
        }
        if(animation == "zoomIn" || animation == "zoomOut")
        {
          ih = el.innerHTML
          outString = "<SPAN " + dynamicanimAttr + "=\"" + animation + "\" style=\"position: relative; left: 10000;\">"
          outString += ih
          outString += "</SPAN>"
          document.all[index].innerHTML = outString
          document.all[index].style.posLeft = 0
          document.all[index].setAttribute(dynamicanimAttr, null)
        }
      }
    }
    i = 0
    for (index=document.body.sourceIndex; index < document.all.length; index++)
    {
      el = document.all[index]
      animation = el.getAttribute(dynamicanimAttr, false)
      if (null != animation)
      {
        if(animation == "flyLeft")
        {
          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
          el.style.posTop = 0
        }
        else if(animation == "flyRight")
        {
          el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth
          el.style.posTop = 0
        }
        else if(animation == "flyTop" || animation == "dropWord")
        {
          el.style.posLeft = 0
          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
        }
        else if(animation == "flyBottom")
        {
          el.style.posLeft = 0
          el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight
        }
        else if(animation == "flyTopLeft")
        {
          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
        }
        else if(animation == "flyTopRight" || animation == "flyTopRightWord")
        {
          el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth
          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
        }
        else if(animation == "flyBottomLeft")
        {
          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
          el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight
        }
        else if(animation == "flyBottomRight" || animation == "flyBottomRightWord")
        {
          el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth
          el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight
        }
        else if(animation == "spiral")
        {
          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
        }
        else if(animation == "zoomIn")
        {
          el.style.posLeft = 10000
          el.style.posTop = 0
        }
        else if(animation == "zoomOut")
        {
          el.style.posLeft = 10000
          el.style.posTop = 0
        }
        else
        {
          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
          el.style.posTop = 0
        }
        el.initLeft = el.style.posLeft
        el.initTop = el.style.posTop
        animateElements[i++] = el
      }
    }
    window.setTimeout("animate();", speed)
  }
  function offsetLeft(el)
  {
    x = el.offsetLeft
    for (e = el.offsetParent; e; e = e.offsetParent)
      x += e.offsetLeft;
    return x
  }
  function offsetTop(el)
  {
    y = el.offsetTop
    for (e = el.offsetParent; e; e = e.offsetParent)
      y += e.offsetTop;
    return y
  }
  function startWord(ih, i)
  {
    for(tag = false; i < ih.length; i++)
    {
      c = ih.charAt(i)
      if(c == '<')
        tag = true
      if(!tag)
        return i
      if(c == '>')
        tag = false
    }
    return -1
  }
  function endWord(ih, i)
  {
    nonSpace = false
    space = false
    while(i < ih.length)
    {
      c = ih.charAt(i)
      if(c != ' ')
        nonSpace = true
      if(nonSpace && c == ' ')
        space = true
      if(c == '<')
        return i
      if(space && c != ' ')
        return i
      i++
    }
    return -1
  }
  function outWord(ih, i1, i2, dyn, anim)
  {
    if(dyn)
      outString += "<SPAN " + dynamicanimAttr + "=\"" + anim + "\" style=\"position: relative; left: 10000;\">"
    outString += ih.substring(i1, i2)
    if(dyn)
      outString += "</SPAN>"
  }
  function animate()
  {
    el = animateElements[currentElement]
    animation = el.getAttribute(dynamicanimAttr, false)
    step++
    if(animation == "spiral")
    {
      steps = stepsSpiral
      v = step/steps
      rf = 1.0 - v
      t = v * 2.0*Math.PI
      rx = Math.max(Math.abs(el.initLeft), 200)
      ry = Math.max(Math.abs(el.initTop),  200)
      el.style.posLeft = Math.ceil(-rf*Math.cos(t)*rx)
      el.style.posTop  = Math.ceil(-rf*Math.sin(t)*ry)
    }
    else if(animation == "zoomIn")
    {
      steps = stepsZoom
      el.style.fontSize = Math.ceil(50+50*step/steps) + "%"
      el.style.posLeft = 0
    }
    else if(animation == "zoomOut")
    {
      steps = stepsZoom
      el.style.fontSize = Math.ceil(100+200*(steps-step)/steps) + "%"
      el.style.posLeft = 0
    }
    else
    {
      steps = stepsFly
      if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")
        steps = stepsWord
      dl = el.initLeft / steps
      dt = el.initTop  / steps
      el.style.posLeft = el.style.posLeft - dl
      el.style.posTop = el.style.posTop - dt
    }
    if (step >= steps)
    {
      el.style.posLeft = 0
      el.style.posTop = 0
      currentElement++
      step = 0
    }
    if(currentElement < animateElements.length)
      window.setTimeout("animate();", speed)
  }
//-->
</script>
</head>

<body bgcolor="#FFFFFF" onload="dynAnimation()">




    

      
     <table border="0"  width="100%">
  <tr><td><p valign="middle" align="center" dynamicanimation="dropWord" style="position: relative !important; left: 10000 !important"><font size="8" color="#999999" face="Arial Black">Hier de vallende tekst...</font></P>
</td><!-- Col 2 -->
  </tr>
</table>




</body>
</html>


Weet iemand hoe dit op te lossen is??? Alvast heel erg bedankt !!
 
PHP hulp

PHP hulp

26/12/2024 03:49:14
 
Jan Koehoorn

Jan Koehoorn

29/07/2008 13:09:00
Quote Anchor link
mod-edit::
Teveel code
Plaats geen hele scripts, maar snippets ter ondersteuning van je vraag. Ga er niet van uit dat leden scripts van meer dan 30 regels gaan lezen


Edit 2: ik gok erop dat FireFox dit niet snapt (document.layers):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
for (index=document.layers.length-1; index >= 0; index--)

Tip: kijk eens naar een JavaScript framework als mootools. Daarmee kun je het DOM op een crossbrowser manier benaderen en heb je geen browser detection nodig.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Joeri de Groot

Joeri de Groot

29/07/2008 13:18:00
Quote Anchor link
Allereerst excuses voor de lange code. Zal geen hele scripts meer plaatsen. Zelf ben ik op z'n zachtst gezegd geen ster in javascript. Weet iemand hoe ik die regel zo maak dat hij wel wordt ondersteund in Firefox?
 
Harmen

Harmen

29/07/2008 13:38:00
Quote Anchor link
Mag ik je een tip geven?

Gebruik niet zo'n groot script dat alleen maar een kleine "extra" geeft. Mij lijkt het erg irritant, die vallende letters. Dan komt er nog eens bij dat het ten koste gaat van de laadsnelheid van de pagina
 
Joeri de Groot

Joeri de Groot

29/07/2008 13:44:00
Quote Anchor link
Graag zie ik een oplossing voor me probleem, heb zelf al genoeg hierover nagedacht, en de website bestaat eigenlijk alleen uit deze vallende letters..
Deze kan ik dus niet weglaten ;)
Alvast bedankt!!
Gewijzigd op 01/01/1970 01:00:00 door Joeri de Groot
 
- Ariën  -
Beheerder

- Ariën -

29/07/2008 15:39:00
Quote Anchor link
Vanwaar gebruik je die vallende letters als ik vragen mag. Waarom is dat nou belangrijk?
 
Erwin Nieuwenhuis

Erwin Nieuwenhuis

29/07/2008 17:57:00
Quote Anchor link
linkje??
 
Joeri de Groot

Joeri de Groot

30/07/2008 11:16:00
Quote Anchor link
Het is niet belangrijk waarom ik vallende letters gebruik, het is belangrijk hoe ik het werkend krijg....
Iemand een idee??
Gewijzigd op 01/01/1970 01:00:00 door Joeri de Groot
 
- Ariën  -
Beheerder

- Ariën -

30/07/2008 11:37:00
Quote Anchor link
Waarom wil je dat? het is irritant, heeft geen meerwaarde, zoekmachines gaan over hun nek.
Waarom wil je ermee doorgaan?

Kijk anders eens naar Mootools zoals al eerder geopperd is. Maar ik raad af om hiermee door te gaan, tenzij het echt nodig is (waar ik geen reden voor kan verzinnen)
 
Terence Hersbach

Terence Hersbach

30/07/2008 11:47:00
Quote Anchor link
@Aar, hij vraagt een oplossing, geeft aan dat hij het perse wilt. Het heeft geen zin hem iets anders te blijven adviseren, je kan hem dus beter helpen.
 
Douwe

Douwe

30/07/2008 11:51:00
Quote Anchor link
@TS;
Ik zou, zoals gezegd, een JS-Framework als Mootools gebruiken, deze heeft een hele set functies voor onderandere grafische dingetjes die door bijna alle browsers ondersteund worden. Ook een script voor vallende letters is op basis van de Mootools-functies te maken.
Gewijzigd op 01/01/1970 01:00:00 door Douwe
 
Terence Hersbach

Terence Hersbach

30/07/2008 11:55:00
Quote Anchor link
@Douwe: Het ging mij hierom
Harmen schreef op 29.07.2008 13:38:
Mag ik je een tip geven?

Gebruik niet zo'n groot script dat alleen maar een kleine "extra" geeft. Mij lijkt het erg irritant, die vallende letters. Dan komt er nog eens bij dat het ten koste gaat van de laadsnelheid van de pagina

Aar schreef op 29.07.2008 15:39:
Vanwaar gebruik je die vallende letters als ik vragen mag. Waarom is dat nou belangrijk?

Aar schreef op 30.07.2008 11:37:
Waarom wil je dat? het is irritant, heeft geen meerwaarde, zoekmachines gaan over hun nek.
Waarom wil je ermee doorgaan?

Laatste woord gesproken, verder mag je me pm'en (om het topic niet teveel offtopic te maken)
 
Joeri de Groot

Joeri de Groot

30/07/2008 12:30:00
Quote Anchor link
Beste allemaal,

Heb het hele tutorial over Mootools gelezen op deze site, maar ben er niet veel wijzer van geworden... Is dit iets wat makkelijk te maken is?
 
Terence Hersbach

Terence Hersbach

30/07/2008 12:37:00
Quote Anchor link
wil je even een linkje geven met je huidige opzet? dan kijk ik of ik iets voor je kan maken..
 
Joeri de Groot

Joeri de Groot

30/07/2008 12:48:00
Quote Anchor link
Wat ontzettend aardig dat je wilt kijken! Het linkje: http://www.xs4all.nl/~platz3/top.html

Alvast bedankt!!
 
Terence Hersbach

Terence Hersbach

30/07/2008 14:10:00
Quote Anchor link
http://phphulp.terencehersbachl.nl/fallingletters

eerste opzetje, werkt in FF, niet getest in IE (geen tijd meer)
 
Douwe

Douwe

30/07/2008 14:23:00
Quote Anchor link
http://phphulp.terencehersbach.nl/fallingletters/ dus. (Zonder 'l') En werkt niet in IE.
 
Jacco Engel

Jacco Engel

30/07/2008 14:52:00
Quote Anchor link
letters.js

48 tot 51 :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
.start({
        '0': {
        'marginTop': [-40, 0],
        }


je moet die komma weghalen achter 'marginTop': [-40, 0]. Dat is waar JS direct over begint te zeiken. Als je dat hebt gedaan mag je weer posten of het nu wel lukt
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
 
Joeri de Groot

Joeri de Groot

30/07/2008 15:18:00
Quote Anchor link
Bedankt allemaal, het werkt in IE en FF. (doordat ik de komma heb weggehaald). Het enige probleem is nu nog dat je de letter al ziet voor een klein stukje, en dat hij daarna valt. Het liefst heb ik dat je hem helemaal niet ziet...
Weet iemand of het mogelijk is??

P.S. Terence en Jacco in het bijzonder bedankt ;)
 
Jacco Engel

Jacco Engel

30/07/2008 15:21:00
Quote Anchor link
http://www.debugbar.com/?langage=en

Aanrader voor alle IE javscripters
 
Gerben Jacobs

Gerben Jacobs

30/07/2008 16:07:00
Quote Anchor link
Joeri schreef op 30.07.2008 15:18:
Bedankt allemaal, het werkt in IE en FF. (doordat ik de komma heb weggehaald). Het enige probleem is nu nog dat je de letter al ziet voor een klein stukje, en dat hij daarna valt. Het liefst heb ik dat je hem helemaal niet ziet...
Weet iemand of het mogelijk is??

P.S. Terence en Jacco in het bijzonder bedankt ;)


Bovenaan in letters.js staat bij config 'margin-top: -30px'. Maak daar maar -50 van.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.