Toon posts:

[DIV / TABLE] plaatje onderaan pagina met layers

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een pagina die uit meerdere lagen (<div>) bestaat, waaronder:
- 1 laag met content (deze pagina kan dus een kilometer lang zijn, maar een andere keer 1 cm
- 1 laag met een plaatje en een verticale balk. de balk moet doorlopen tot onderaan de pagina (dus niet het scherm) en helemaal onderaan is er eensoort overlopend stukje in een gifje. die moet dus ook helemaal onderaan de pagina ipv scherm.

De DIV HEIGHT staat bij de balk-laag op 100%, maar dan neemt hij uiteraard de schermhoogt, maar als laag 1 (content) 1 km lang is, moet laag 2 (plaatje en balk) ook 1 km lang zijn.

Is er een manier om deze 2 lagen toch gescheiden te houden, en toch even lang?????

Verwijderd

Dit is een interessant probleem waar ik ook nog geen bevredigende oplossing voor heb gevonden. Je kunt een aantal dingen doen:

1. De verticale balk een vaste breedte geven en in een achtergrond image verwerken. Zie bijvoorbeeld http://www.theinstitute.nl.

2. De achtergrond van de hele pagina de kleur geven van de verticale balk en de content een maximale breedte en hoogte zodat die over de kleur heenvalt. Dit werkt echter alleen als de content altijd langer is dan de inhoud van de balk.

Meer creatieve oplossingen zie ik graag tegemoet, want dit is behelpen...

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 00:27

Pelle

🚴‍♂️

Je kunt toch gewoon met JS de schermhoogte en de div-height uitlezen van de eerste div? Die vergelijk je met elkaar, kijkt welke groter is, en aan de hand daarvan positioneer je in het onLoad-event van de body de tweede div.

Verwijderd

Topicstarter
op http://www.theinstitute.nl staat het plaatje (linksonder) onderaan het SCHERM, maar moet onderaan de PAGINA.

Javascript: volgens mij kan ik een DIV een ID geven of een NAME en daarmee de hoogte opvragen. ik ga het proberen

Verwijderd

redelijk simpel, maar helaas vereist dit een beetje javascript.

Nadat een pagina geladen is dan zijn de dimensies van de elementen bekend. Met andere woorden, deze kan je opvragen en het andere element dynamisch aanpassen. Zie de volgende code:
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
<html>
 <head>
  <script language="javascript">
  <!--
  var NS4 = (navigator.appName=="Netscape" && document.layers);
  function document_onload()
  {
      lObj = (NS4)?document.layers["layer1"]:document.all["layer1"];
      lObj2 = (NS4)?document.layers["layer2"]:document.all["layer2"];
      if(!lObj || !lObj2) return;
      h1 = (NS4)?lObj.height:lObj.offsetHeight;
      h2 = (NS4)?lObj.height:lObj2.offsetHeight;  
      h = (h1>h2)?h1:h2;
      if(!NS4){ lObj=lObj.style;lObj2=lObj2.style;}
      lObj.height=h;
      lObj2.height=h;
  }
  window.onload=document_onload;
  //-->
  </script>
  <style type="text/css">
  <!--
   .mylayer{position:absolute;visibility:visible;top:50px;border:1px solid black;}
  //-->
  </style>
 </head>
 <body>
  <div id="layer1" class="mylayer" style="left:10px;">
   ALLE DATA<BR>
   ALLE DATA<BR>
   ALLE DATA<BR>
   ALLE DATA<BR>
  </div>

  <div id="layer2" class="mylayer" style="left:10px;">BLAAT</div>
 </body>
</html>


Als hierna data veranderd (bijvoorbeeld door het dynamisch toevoegen van content) dan moet je de document_onload() even opnieuw aanroepen.

Ik heb de code niet getest, maar het zou moeten werken.

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

oei, ik bespeur weer document.all :/ daar ben ik ook al een keer bijna voor geband ;)

www.jurgroessen.nl


Verwijderd

document.all is Internet Explorer specifiek. Niets mis mee. Als je IE4 compatible wilt zijn dan moet je die wel gebruiken om de collectie aan te roepen (anders een eval). Als je geen IE4 compatibility wilt hebben dan gebruik je getElementById. Er is GEEN reden om document.all NIET te gebruiken.

Met getElementById heb je gelijkertijd NS6, Opera en Mozilla compatibiliteit.... als je dat wilt. Ikzelf gebruik veel liever de IE only vormen omdat de kosten en moeite niet opwegen tegen het aantal gebruikers dat exotische browsers gebruikt. In tegenstrijd met de regel dat elke gebruiker een extra gebruiker is en dus meer inkomsten. Ik ben waar kan IE only... en support alleen Netscape versie 4 wanneer nodig.

Drastisch eh ;-)

Verwijderd

document.all is oud en je gebruikt ook nog eens document.layers i.p.v. document.getElementById, dus je onderstuend wel IE 4+ en NS 4 maar geen moderne browsers zoals Mozilla en NS 7 ? omgekeerde wereld zou ik zeggen.

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

Verwijderd schreef op 15 oktober 2002 @ 13:33:
document.all is Internet Explorer specifiek. Niets mis mee. Als je IE4 compatible wilt zijn dan moet je die wel gebruiken om de collectie aan te roepen (anders een eval). Als je geen IE4 compatibility wilt hebben dan gebruik je getElementById. Er is GEEN reden om document.all NIET te gebruiken.

Met getElementById heb je gelijkertijd NS6, Opera en Mozilla compatibiliteit.... als je dat wilt. Ikzelf gebruik veel liever de IE only vormen omdat de kosten en moeite niet opwegen tegen het aantal gebruikers dat exotische browsers gebruikt. In tegenstrijd met de regel dat elke gebruiker een extra gebruiker is en dus meer inkomsten. Ik ben waar kan IE only... en support alleen Netscape versie 4 wanneer nodig.

Drastisch eh ;-)
outsch, hier doe je een hele linke uitspraak.
Ik, en niet alleen ik, ben het er geheel niet mee eens.
Als je nu nog IE4 ondersteuning verkiest boven IE5+/Moz/Opera ben je IMHO verkeerd bezig...

Aangezien je net geregd hebt op GoT kun je niet weten dat dit onderwerp al uitvoerig besproken is en dat je me absoluut niets nieuws vertelt ;)

www.jurgroessen.nl


Verwijderd

Ik wil ook geen discussie uitlokken over wel of niet en persoonlijke voorkeuren. Maar IMHO is Netscape dood en Opera etc. het niet waard om voor te coderen. Ik hoor het eigenlijk wel te supporten, maar heb hier zelf een bewuste keuze voor gemaakt. Net als het reclamebureau waar ik werk. Als de vraag naardie ondersteuning wel aanwezig is wordt dat uiteraard aangeboden, maar is niet standaard.

Dat ik zelf NS4 nog steeds "ondersteun" is meer vanwege het feit dat die code snel uit m'n vingers vliegt :-).

Microsoft's IE heeft gelukkig de grootste markt. Die andere 3% moet nog overstappen. Is mijn visie. Maar laten we deze discussie niet verder volgen want daar komt idd geen eind aan :-)

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

pas maar op dat je geen ban krijgt :)

Je gaat nu wel heel erg ver om te zeggen dat ze dood zijn. NS4 is zo goed als overleden, althans (meer en meer) personen (zoals Scott Andrew) beweren dit...

Je kan er niet zomaar vanuit gaan dat NS4 niet meer ondersteund hoeft te worden... Ergens in de afgelopen 3 maanden was er iemand die zij dat er zelfs binnen een onderneming alleen nog maar gebruik werd gemaakt van NS4..

Dus als je écht wilt dat je website goed blijft werken zal ik (als ik jou was) het wel ondersteunen :)

Verwijderd

Woudloper. Ik wil die discussie niet voeren. Het is een feit dat elke website vereisten heeft, als een klant niet kiest voor een uitgebreidde variant wordt een bepaalde browser niet ondersteunt. Simpel as is, daarnaast dan ook nog eens de persoonlijke voorkeur of je een browser wel of niet ondersteunt en de beslissing is gemaakt. IE dus. Verder ben ik het wel helemaal eens met jouw post! :)

Verwijderd

veel belangrijker, AOL lanceerd binnenkort de nieuwe AOL internetsuit en die zou best eens gebaseerd kunnen zijn op de Gecko engine, dat betekend dus dat er 35 Miljoen mensen gebruik gaan maken van 'die browser van dat bedrijf dat dood is volgens CJ_S'

Het spreekt ook van een ongelofelijke kortzichtigheid om gewoon over de moderne browsers heen te stappen en alleen NS 4 (oud ouder oudst!!!!!) en IE te ondersteunen. Ik weet niet beter dan dat vanaf IE 5 document.getElementById ondersteund word en dan is de keuze toch heel snel gemaakt tussen document.all en document.getElementById ?
Bijkomstig effect is dat je ook meteen (met hier en daar een kleine aanpassing) Mozilla en evt. Opera gebruikers van je site kan laten genieten.

Als je voor internet bezig bent is het de bedoeling dat je de kennis die je bezit continue uitbreid en update, doe je dat niet, dan sta je stil.

Verwijderd

Shadow3333,
Hoef je mij niet te vertellen. Ik vertel de feiten zoals ze bij mij van toepassing zijn. M.a.w. IE4 ondersteunen. En deze discussie niet voort te zetten aangezien dat niet relevant is voor deze topic. Zijn deze 2 punten zo moeilijk te begrijpen?

Dat AOL de nieuwe Gecko engine gaat gebruiken is al een aantal maanden bekend, maar ik maak me daar geen zorgen om. Ik meen mij ook iets te herinneren dat dit alleen geldt voor de amerikaanse en canadese gebruikers en niet de nederlandse... maar dat weet ik niet 100% zeker.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 09:19

crisp

Devver

Pixelated

Verwijderd schreef op 15 oktober 2002 @ 14:20:
Shadow3333,
Hoef je mij niet te vertellen. Ik vertel de feiten zoals ze bij mij van toepassing zijn. M.a.w. IE4 ondersteunen. En deze discussie niet voort te zetten aangezien dat niet relevant is voor deze topic. Zijn deze 2 punten zo moeilijk te begrijpen?

Dat AOL de nieuwe Gecko engine gaat gebruiken is al een aantal maanden bekend, maar ik maak me daar geen zorgen om. Ik meen mij ook iets te herinneren dat dit alleen geldt voor de amerikaanse en canadese gebruikers en niet de nederlandse... maar dat weet ik niet 100% zeker.
Om toch even hierop door te gaan (niet als discussiepunt), maar is je wel bekend dat de js performance bij gebruik van document.getElementById stukken beter is dan bij het gebruik van document.all?

Intentionally left blank


Verwijderd

Ja, maar meer vanuit logica. document.all bevat extra functies om bijvoorbeeld alle tags op te roepen. Dit zit niet in getElementById maar in getElementsByTagName. Levert uiteindelijke meer performance op, maar is te verwaarlozen.

Verwijderd

Topicstarter
om nog even op de essentie van dit topic terug te komen: ik ga jouw scriptje nog even proberen thuis (geen internet op kamertje) en dan hoor je het nog.

Ik doe zelf overigens niet meer aan Netscape-ondersteuning, hoewel dit nu wel een gevaarlijke opmerking is. Ik kijk altijd even of het er een beetje uitziet en of ik het in niet al te lange tijd kan aanpassen en anders pech. >:)

[ Voor 0% gewijzigd door Verwijderd op 17-10-2002 12:46 . Reden: ik had halve zinnen getiept ]


Verwijderd

Naar mijn hart! Succes!

Verwijderd

Topicstarter
He CJ_S! Thanx a lot! die code is echt superrr! werkt perfect! _/-\o_

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 09:19

crisp

Devver

Pixelated

Verwijderd schreef op 17 oktober 2002 @ 12:41:
om nog even op de essentie van dit topic terug te komen: ik ga jouw scriptje nog even proberen thuis (geen internet op kamertje) en dan hoor je het nog.

Ik doe zelf overigens niet meer aan Netscape-ondersteuning, hoewel dit nu wel een gevaarlijke opmerking is. Ik kijk altijd even of het er een beetje uitziet en of ik het in niet al te lange tijd kan aanpassen en anders pech. >:)
Ik hoop dat je hiermee doelt op NS4 en niet op NS6+/Mozilla want dan ben je idd wel erg gevaarlijk bezig... ;)

Intentionally left blank

Pagina: 1