[CSS2>javascript] position: fixed;

Pagina: 1
Acties:

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
Ik probeer een position fixed werkend te krijgen onder IE6.
Werkte tot nu toe goed, maar nu ik er 1tje precies aan de onderkant van het scherm moet hebben lukt dit niet.

script wat ik tot nu toe gebruikte:

HTML:
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<meta name="MSSmartTagsPreventParsing" content="TRUE" />
<link rel="stylesheet" type="text/css" href="${includedir}default.css" title="default" />
<title>${title}</title>
<!--[if IE]>
<style>
#content{
top: 115px;
margin-bottom: 115px;
 }

 #title {
 margin-top: -10px;
 }
 
 #title, #menu {
 position: absolute;
 left: 0px;
 }
 
 #admlnk {
 position: absolute;
 bottom: 0px;
 left: -100px;
 }
</style>
<script language="JavaScript" type="text/javascript">
var LastPosY = 0;

function move_DIV() {
    var y = (ns_pos)? window.pageYOffset :
        (ie_std && ie_pos) ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) :
        ie_std ? document.documentElement.scrollTop : document.body.scrollTop;
    y+=10;
    y2=document.body.scrollHeight;
    y3=document.body.clientHeight;
    if (y!=LastPosY) {
        if (window.opera) {
            document.getElementById('title').style.pixelTop=y;
            document.getElementById('menu').style.pixelTop=y+78;
            document.getElementById('admlnk').style.pixelTop=y+200;
        }
        else if (document.layers) {
            document.layers['title'].top=y;
            document.layers['menu'].top=y+78;
            document.layers['admlnk'].top=y+200;
        }
        else if (document.getElementById) {
            document.getElementById('title').style.top=y+'px';
            document.getElementById('menu').style.top=y+78+'px';
            document.getElementById('admlnk').style.bottom=y3+'px';
        }
        else if (document.all) {
            document.all['title'].style.pixelTop=y;
            document.all['menu'].style.pixelTop=y+78;
            document.all['admlink'].style.pixelTop=y+200;
        }
        LastPosY=y;
    }
    if (TimeScroll) window.setTimeout('move_DIV()',100);
}

var TimeScroll = true;

function Init() {
    ns_pos = (typeof window.pageYOffset!='undefined');
    ie_std = (document.documentElement && typeof document.documentElement.scrollTop!='undefined');
    ie_pos = (document.body && typeof document.body.scrollTop!='undefined');
    window.onscroll=function(){window.onscroll=move_DIV;TimeScroll=true;};
    if (ns_pos||ie_std||ie_pos) move_DIV();
}
</script>
<![endif]-->
</head>
<body>
<div id="layout">
<div id="title"><a href="?page=main">[img]"${imagesdir}top_logo_1.png"[/img]</a></div>
<div id="menu">${menu}</div>
<div id="content">
${content}
</div>
<div id="admlnk">Admin</div>
</div>
<!--[if IE]>
<script type="text/javascript">
Init();
</script>
<![endif]-->
</body>
</html>


Dit werkt dus goed voor de top divjes, maar voor mijn divje wat precies aan de onderkant van het scherm moet blijven staan lukt dit niet.

Toen heb ik een ander script geprobeerd:
JavaScript:
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
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
// fixed.js: fix fixed positioning and fixed backgrounds in IE/Win
// version 1.8, 08-Aug-2003
// written by Andrew Clover <and@doxdesk.com>, use freely

/*@cc_on
@if (@_win32 && @_jscript_version>4)

var fixed_positions= new Array();
var fixed_backgrounds= new Array();
var fixed_viewport;

// Initialisation. Called when the <body> tag arrives. Set up viewport so the
// rest of the script knows we're going, and add a measurer div, used to detect
// font size changes and measure image sizes for backgrounds later   

function fixed_init() {
  fixed_viewport= (document.compatMode=='CSS1Compat') ?
    document.documentElement : document.body;
  var el= document.createElement('div');
  el.setAttribute('id', 'fixed-measure');
  el.style.position= 'absolute';
  el.style.top= '0'; el.style.left= '0';
  el.style.overflow= 'hidden'; el.style.visibility= 'hidden';
  el.style.fontSize= 'xx-large'; el.style.height= '5em';
  el.style.setExpression('width', 'fixed_measureFont()');
  document.body.insertBefore(el, document.body.firstChild);
}

// Binding. Called every time an element is added to the document, check it
// for fixed features, if found add to our lists and set initial props   

function fixed_bind(el) {
  var needLayout= false;
  var tag= el.tagName.toLowerCase();
  var st= el.style;
  var cst= el.currentStyle;
  var anc;

  // find fixed-position elements
  if (cst.position=='fixed') {
    needLayout= true;
    fixed_positions[fixed_positions.length]= el;
    // store original positioning as we'll overwrite it
    st.position= 'absolute';
    st.fixedPLeft=   cst.left;
    st.fixedPTop=    cst.top;
    st.fixedPRight=  cst.right;
    st.fixedPBottom= cst.bottom;
    st.fixedPWidth=  fixed_parseLength(cst.width);
    st.fixedPHeight= fixed_parseLength(cst.height);
    // find element that will act as containing box, for convenience later
    st.fixedCB= null;
    for (anc= el; (anc= anc.parentElement).parentElement;) {
      if (anc.currentStyle.position!='static') {
        st.fixedCB= anc;
        break;
    } }
    // detect nested fixed positioning (only ancestor need move)
    st.fixedNest= false;
    for (anc= el; anc= anc.parentElement;) {
      if (anc.style.fixedNest!=null)
        st.fixedNest= true;
        break;
    }
  }

  // find fixed-background elements (not body/html which IE already gets right)
  if (cst.backgroundAttachment=='fixed' && tag!='body' && tag!='html') {
    needLayout= true;
    fixed_backgrounds[fixed_backgrounds.length]= el;
    // get background offset, converting from keyword if necessary
    st.fixedBLeft= fixed_parseLength(cst.backgroundPositionX);
    st.fixedBTop=  fixed_parseLength(cst.backgroundPositionY);
    // if it's a non-zero %age, need to know size of image for layout
    if (st.fixedBLeft[1]=='%' || st.fixedBTop[1]=='%') {
      st.fixedBWidth= 0; st.fixedBHeight= 0;
      fixed_measureBack(el);
    }
  }
  if (needLayout) fixed_layout();
}

// Layout. On every window or font size change, recalculate positioning   

// Request re-layout at next free moment
var fixed_delaying= false;
function fixed_delayout() {
  if (fixed_delaying) return;
  fixed_delaying= true;
  window.setTimeout(fixed_layout, 0);
}

var fixed_ARBITRARY= 200;

function fixed_layout() {
  fixed_delaying= false;
  if (!fixed_viewport) return;
  var i, el, st, j, pr, tmp, A= 'auto';
  var cb, cbLeft, cbTop, cbRight, cbBottom, oLeft, oTop, oRight, oBottom;
  var vpWidth=fixed_viewport.clientWidth, vpHeight=fixed_viewport.clientHeight;

  // calculate initial position for fixed-position elements [black magic]
  for (i= fixed_positions.length; i-->0;) {
    el= fixed_positions[i]; st= el.style;
    // find positioning of containing block
    cb= st.fixedCB; if (!cb) cb= fixed_viewport;
    cbLeft= fixed_pageLeft(cb); cbTop= fixed_pageTop(cb);
    if (cb!=fixed_viewport) { cbLeft+= cb.clientLeft; cbTop+= cb.clientTop; }
    cbRight= fixed_viewport.clientWidth-cbLeft-cb.clientWidth;
    cbBottom= fixed_viewport.clientHeight-cbTop-cb.clientHeight;
    // if size is in %, must recalculate relative to viewport
    if (st.fixedPWidth[1]=='%')
      st.width= Math.round(vpWidth*st.fixedPWidth[0]/100)+'px';
    if (st.fixedPHeight[1]=='%')
      st.height= Math.round(vpHeight*st.fixedPHeight[0]/100)+'px';
    // find out offset values at max size, to account for margins
    st.left= A; st.right= '0'; st.top= A; st.bottom= '0';
    oRight= el.offsetLeft+el.offsetWidth; oBottom= el.offsetTop+el.offsetHeight;
    st.left= '0'; st.right= A; st.top= '0'; st.bottom= A;
    oLeft= el.offsetLeft; oTop= el.offsetTop;
    // use this to convert all edges to pixels
    st.left= A; st.right= st.fixedPRight;
    st.top= A; st.bottom= st.fixedPBottom;
    oRight-= el.offsetLeft+el.offsetWidth;
    oBottom-= el.offsetTop+el.offsetHeight;
    st.left= st.fixedPLeft; st.top= st.fixedPTop;
    oLeft= el.offsetLeft-oLeft; oTop= el.offsetTop-oTop;
    // edge positioning fix
    if (st.fixedPWidth[1]==A && st.fixedPLeft!=A && st.fixedPRight!=A) {
      tmp= el.offsetLeft; st.left= A; st.width= fixed_ARBITRARY+'px';
      tmp= fixed_ARBITRARY+el.offsetLeft-tmp+cbLeft+cbRight;
      st.left= st.fixedPLeft; st.width= ((tmp<1)?1:tmp)+'px';
    }
    if (st.fixedPHeight[1]==A && st.fixedPTop!=A && st.fixedPBottom!=A) {
      tmp= el.offsetTop; st.top= A; st.height= fixed_ARBITRARY+'px';
      tmp= fixed_ARBITRARY+el.offsetTop-tmp+cbTop+cbBottom;
      st.top= st.fixedPTop; st.height= ((tmp<1)?1:tmp)+'px';
    }
    // move all non-auto edges relative to the viewport
    st.fixedCLeft= (st.fixedPLeft=='auto') ? oLeft : oLeft-cbLeft;
    st.fixedCTop= (st.fixedPTop=='auto') ? oTop : oTop-cbTop;
    st.fixedCRight= (st.fixedPRight=='auto') ? oRight : oRight-cbRight;
    st.fixedCBottom= (st.fixedPBottom=='auto') ? oBottom : oBottom-cbBottom;
    // remove left-positioning of right-positioned elements
    if (st.fixedPLeft=='auto' && st.fixedPRight!='auto') st.fixedCLeft= 'auto';
    if (st.fixedPTop=='auto' && st.fixedPBottom!='auto') st.fixedCTop= 'auto';
  }


  // calculate initial positioning of fixed backgrounds
  for (i= fixed_backgrounds.length; i-->0;) {
    el= fixed_backgrounds[i]; st= el.style;
    tmp= st.fixedBImage;
    if (tmp) {
      if (tmp.readyState!='uninitialized') {
        st.fixedBWidth= tmp.offsetWidth;
        st.fixedBHeight= tmp.offsetHeight;
        st.fixedBImage= window.undefined;
      }
    }
    st.fixedBX= fixed_length(el, st.fixedBLeft, vpWidth-st.fixedBWidth);
    st.fixedBY= fixed_length(el, st.fixedBTop, vpHeight-st.fixedBHeight);
  }

  // now call scroll() to set the positions from the values just calculated
  fixed_scroll();
}

// Scrolling. Offset fixed elements relative to viewport scrollness

var fixed_lastX, fixed_lastY;
var fixed_PATCHDELAY= 300;
var fixed_patching= false;

// callback function after a scroll, because incorrect scroll position is
// often reported first go!
function fixed_patch() {
  fixed_patching= false;
  var scrollX= fixed_viewport.scrollLeft, scrollY= fixed_viewport.scrollTop;
  if (scrollX!=fixed_lastX && scrollY!=fixed_lastY) fixed_scroll();
}

function fixed_scroll() {
  if (!fixed_viewport) return;
  var i, el, st, viewportX, viewportY;
  var scrollX= fixed_viewport.scrollLeft, scrollY= fixed_viewport.scrollTop;
  fixed_lastX= scrollX; fixed_lastY= scrollY;

  // move non-nested fixed-position elements
  for (i= fixed_positions.length; i-->0;) {
    st= fixed_positions[i].style;
    viewportX= (st.fixedNest) ? 0 : scrollX;
    viewportY= (st.fixedNest) ? 0 : scrollY;
    if (st.fixedCLeft!='auto') st.left= (st.fixedCLeft+viewportX)+'px';
    if (st.fixedCTop!='auto') st.top= (st.fixedCTop+viewportY)+'px';
    viewportX= (st.fixedCB==null || st.fixedCB==fixed_viewport) ? 0 : viewportX;
    viewportY= (st.fixedCB==null || st.fixedCB==fixed_viewport) ? 0 : viewportY;
    st.right= (st.fixedCRight-viewportX+1)+'px'; st.right= (st.fixedCRight-viewportX)+'px';
    st.bottom= (st.fixedCBottom-viewportY+1)+'px'; st.bottom= (st.fixedCBottom-viewportY)+'px';
  }

  // align fixed backgrounds to viewport
  for (i= fixed_backgrounds.length; i-->0;) {
    el= fixed_backgrounds[i]; st= el.style;
    viewportX= scrollX;
    viewportY= scrollY;
    while (el.offsetParent) {
      viewportX-= el.offsetLeft+el.clientLeft;
      viewportY-= el.offsetTop +el.clientTop;
      el= el.offsetParent;
    }
    st.backgroundPositionX= (st.fixedBX+viewportX)+'px';
    st.backgroundPositionY= (st.fixedBY+viewportY)+'px';
  }

  // call back again in a tic
  if (!fixed_patching) {
    fixed_patching= true;
    window.setTimeout(fixed_patch, fixed_PATCHDELAY);
  }
}

// Measurement. Load bg-image into an invisible element on the page, when
// loaded write the width/height to an element's style for layout use; detect
// when font size changes

function fixed_measureBack(el) {
  var measure= document.getElementById('fixed-measure');
  var img= document.createElement('img');
  img.setAttribute('src', fixed_parseURL(el.currentStyle.backgroundImage));
  measure.appendChild(img);
  el.style.fixedBImage= img;
  if (img.readyState=='uninitialized')
    img.attachEvent('onreadystatechange', fixed_measureBackImage_ready);
}

function fixed_measureBackImage_ready() {
  var img= event.srcElement;
  if (img && img.readyState!='uninitialized') {
    img.detachEvent('onreadystatechange', fixed_measureBackImage_ready);
    fixed_layout();
  }
}

var fixed_fontsize= 0;
function fixed_measureFont() {
  var fs= document.getElementById('fixed-measure').offsetHeight;
  if (fixed_fontsize!=fs && fixed_fontsize!=0)
    fixed_delayout();
  fixed_fontsize= fs;
  return '5em';
}

// Utility. General-purpose functions

// parse url() to get value inside

function fixed_parseURL(v) {
  v= v.substring(4, v.length-1);
  if (v.charAt(0)=='"' && v.charAt(v.length-1)=='"' ||
      v.charAt(0)=="'" && v.charAt(v.length-1)=="'")
    return v.substring(1, v.length-1);
  else return v;
}

// parse length or auto or background-position keyword into number and unit

var fixed_numberChars= '+-0123456789.';
var fixed_ZERO= new Array(0, 'px');
var fixed_50PC= new Array(50, '%');
var fixed_100PC= new Array(100, '%');
var fixed_AUTO= new Array(0, 'auto');

function fixed_parseLength(v) {
  var num, i;
  if (v=='left'  || v=='top')    return fixed_ZERO;
  if (v=='right' || v=='bottom') return fixed_100PC;
  if (v=='center') return fixed_50PC;
  if (v=='auto')   return fixed_AUTO;
  i= 0;
  while (i<v.length && fixed_numberChars.indexOf(v.charAt(i))!=-1)
    i++;
  num= parseFloat(v.substring(0, i));
  if (num==0) return fixed_ZERO;
  else return new Array(num, v.substring(i));
}

// convert parsed (number, unit) into a number of pixels

function fixed_length(el, l, full) {
  var tmp, x;
  if (l[1]=='px') return l[0];
  if (l[1]=='%')  return Math.round(full*l[0]/100);
  // other units - measure by setting position; this is rather inefficient
  // but then these units are used for background-position so seldom...
  tmp= el.currentStyle.left;
  el.style.left= '0';
  x= el.offsetLeft;
  el.style.left= l[0]+l[1];
  x= el.offsetLeft-x;
  el.style.left= tmp;
  return x;
}

// convert stupid IE offsetLeft/Top to page-relative values

function fixed_pageLeft(el) {
  var v= 0;
  while (el.offsetParent) {
    v+= el.offsetLeft;
    el= el.offsetParent;
  }
  return v;
}
function fixed_pageTop(el) {
  var v= 0;
  while (el.offsetParent) {
    v+= el.offsetTop;
    el= el.offsetParent;
  }
  return v;
}

// Scanning. Check document every so often until it has finished loading. Do
// nothing until <body> arrives, then call main init. Pass any new elements
// found on each scan to be bound   

var fixed_SCANDELAY= 500;

function fixed_scan() {
  if (!document.body) return;
  if (!fixed_viewport) fixed_init();
  var el;
  for (var i= 0; i<document.all.length; i++) {
    el= document.all[i];
    if (!el.fixed_bound) {
      el.fixed_bound= true;
      fixed_bind(el);
  } }
}

var fixed_scanner;
function fixed_stop() {
  window.clearInterval(fixed_scanner);
  fixed_scan();
}

fixed_scan();
fixed_scanner= window.setInterval(fixed_scan, fixed_SCANDELAY);
window.attachEvent('onload', fixed_stop);
window.attachEvent('onresize', fixed_delayout);
window.attachEvent('onscroll', fixed_scroll);

@end @*/

Deze werkte goed met fixed aan de boven en aan de onderkant, maar nu klopt de x-positie niet meer van de divjes aan de bovenkant. Het lukt me niet om die uit het script te halen de x-veranderaar, want die is in dit geval niet nodig. Ook heb ik geprobeerd door naar de y-positie-veranderaar te kijken of ik dat in het eerste script kan implementeren, maar dat lukt ook niet.

En van de eerste code lukt het dus niet om de bottom te houden.
Iemand suggesties?

  • Superdeboer
  • Registratie: December 2002
  • Niet online

Superdeboer

Sa-weee-tah

Nah, ik ben JavaScript niet voldoende machtig om zulke scripts even aan te passen zodat ze wel werken... :P

Maar wat je wel kunt proberen is het script van Dean Edwards. Dat is de bekende auteur van een verzameling JavaScriptjes onder de naam IE7, die een groot aantal tekortkomingen van IE6 moeten verhelpen.

Het betreffende script vind je hier en dan moet je even zoeken naar
code:
1
2
3
// -----------------------------------------------------------------------
//  position: fixed
// -----------------------------------------------------------------------


Veel mensen zijn zo enthousiast over IE7, dat je een grote kans hebt dat dit wél goed werkt. Ik heb deze toepassing zelf niet getest... maar even een ander scriptje testen is voor jou vast eenvoudiger dan het rewriten van een niet goed werkend script. ;)
Let overigens even op de licentievoorwaarden die verbonden zijn aan gebruik van de scripts of delen daarvan.

When I write my code, only God and I know what it means. One week later, only God knows.
Hell yes it's a Cuban Cigar, but I'm not supporting their economy, I'm burning their fields.


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Heb je ook weleens proberen te [google=position fixed in IE6]? Want eerste hit geeft meteen een relevante oplossing ;)

http://www.stunicholls.myby.co.uk/layouts/fixed.html

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • BetuweKees
  • Registratie: Januari 2003
  • Laatst online: 15-05 20:44

BetuweKees

Flipje uit Tiel

poeh wat een lap javascript..

doe het zelf zoals beschreven staat op http://devnull.tagsoup.com/fixed/
(staat net iets meer uitleg bij dan van de link van BtM909, maar neem aan dat beide eea het zelfde aanpakken)

Through meditation I program my heart to beat breakbeats and hum basslines on exhalation -Blackalicious || *BetuweKees was AFK; op de fiets richting China en verder


  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
BetuweKees schreef op woensdag 22 december 2004 @ 02:02:
poeh wat een lap javascript..

doe het zelf zoals beschreven staat op http://devnull.tagsoup.com/fixed/
(staat net iets meer uitleg bij dan van de link van BtM909, maar neem aan dat beide eea het zelfde aanpakken)
Deze werkt dus niet bij mijn site(al ooit geprobeerd.
BtM909 schreef op woensdag 22 december 2004 @ 00:50:
Heb je ook weleens proberen te [google=position fixed in IE6]? Want eerste hit geeft meteen een relevante oplossing ;)

http://www.stunicholls.myby.co.uk/layouts/fixed.html
Natuurlijk heb ik daar gezocht. Ook heb ikd ie even uitgeprobeerd, maar werkt niet voor mijn site, je kan domweg niet meer scrollen en mist dus een deel van de tekst.

[ Voor 46% gewijzigd door Scorpion1984 op 22-12-2004 10:32 ]


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Leuk stukje javascript (van Andrew Clover) wat je hebt toegevoegd om het 'fixed' werkende te krijgen, echter werkt dat dus niet in jou geval. Heb je al eens geprobeerd om andere 'position:fixed' oplossing te gebruiken, zoals de hierboven voorgestelde IE7?
Deze werkt dus niet bij mijn site(al ooit geprobeerd.
Wat werkt er dan niet voor wat betreft die oplossing? Het is immers toch een goed beschreven oplossing...

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
Superdeboer schreef op woensdag 22 december 2004 @ 00:46:
Nah, ik ben JavaScript niet voldoende machtig om zulke scripts even aan te passen zodat ze wel werken... :P

Maar wat je wel kunt proberen is het script van Dean Edwards. Dat is de bekende auteur van een verzameling JavaScriptjes onder de naam IE7, die een groot aantal tekortkomingen van IE6 moeten verhelpen.

Het betreffende script vind je hier en dan moet je even zoeken naar
code:
1
2
3
// -----------------------------------------------------------------------
//  position: fixed
// -----------------------------------------------------------------------


Veel mensen zijn zo enthousiast over IE7, dat je een grote kans hebt dat dit wél goed werkt. Ik heb deze toepassing zelf niet getest... maar even een ander scriptje testen is voor jou vast eenvoudiger dan het rewriten van een niet goed werkend script. ;)
Let overigens even op de licentievoorwaarden die verbonden zijn aan gebruik van de scripts of delen daarvan.
Dat is dus voor ie7 en werkt niet in IE6, waar ik dus naar zoek.

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
Woudloper schreef op woensdag 22 december 2004 @ 10:35:
Leuk stukje javascript (van Andrew Clover) wat je hebt toegevoegd om het 'fixed' werkende te krijgen, echter werkt dat dus niet in jou geval. Heb je al eens geprobeerd om andere 'position:fixed' oplossing te gebruiken, zoals de hierboven voorgestelde IE7?


[...]

Wat werkt er dan niet voor wat betreft die oplossing? Het is immers toch een goed beschreven oplossing...
Om de een of andere manier scrollt ie gewoon domweg weg.

Verwijderd

Dat is dus voor ie7 en werkt niet in IE6, waar ik dus naar zoek.
Anders lees je het eerst is even door.

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
/*
W3C compliance for Microsoft Internet Explorer

this module forms part of IE7
IE7 version 0.7.3 (alpha) 2004/09/18
by Dean Edwards, 2004
*/
if (window.IE7
met andere woorden, IE7, ook na een test wees het uit dat het NIET werkte.

Verwijderd

Hmm, eigenwijs... Het zou handig zijn als je ook even ie7-core.js doornam.
code:
1
window.IE7 = this;
... de IE7 fixed demo zou je ook is kunnen proberen, et cetera.

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
ow, ik wist niet dat er een core bij zat, had alleen dat andere script gezien. En nergens een overzicht of een verwijzing dat het onderdeel was van meerdere scripts. Dus dat kan ik nog proberen.

Heb ondertussen toch de layout veranderd waardoor het divje boven aan de pagina komt te staan en het met het script dat ik al had toch "fixed" kan hebben.

  • BetuweKees
  • Registratie: Januari 2003
  • Laatst online: 15-05 20:44

BetuweKees

Flipje uit Tiel

Scorpion1984 schreef op woensdag 22 december 2004 @ 10:29:
[...]
Deze werkt dus niet bij mijn site(al ooit geprobeerd.
Mag ik je vragen hoe je geprobeerd hebt dan? De hack kan vrij nauw luisteren nl, verkeerde html of foutje in css en hij doet t niet meer..
Eerste keer dat ik em zelf gebruikte lukte het me ook alleen na paar keer proberen en pas toen ik netjes vanuit het voorbeeld uit ging bouwen. Even volhouden dus.. ;)

Through meditation I program my heart to beat breakbeats and hum basslines on exhalation -Blackalicious || *BetuweKees was AFK; op de fiets richting China en verder


  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 17-05 11:19
BetuweKees schreef op woensdag 22 december 2004 @ 16:58:
[...]


Mag ik je vragen hoe je geprobeerd hebt dan? De hack kan vrij nauw luisteren nl, verkeerde html of foutje in css en hij doet t niet meer..
Eerste keer dat ik em zelf gebruikte lukte het me ook alleen na paar keer proberen en pas toen ik netjes vanuit het voorbeeld uit ging bouwen. Even volhouden dus.. ;)
Probleem is dat de layout al te uitgewerkt is om vanaf begin om te bouwen. Verder is de xhtml, en css compleet valid volgens de w3c validators.
Pagina: 1