Vraag & Antwoord

Webprogrammeren & scripting

Element alleen zichtbaar vanaf bepaalde vensterbreedte

13 antwoorden
  • Goed, nu ik eindelijk alle elementen op hun plaats heb staan waar ze horen ongeachte de resolutie is het tijd voor de volgende stap. Ik wil namelijk een banner in de zijkolommen plaatsen (die nu leeg zijn), maar pas vanaf een bepaalde vensterbreedte om eea wel prettig te houden voor bezoekers met wat kleinere vensters. Het zou dus iets moeten worden als: [code:1:c7f9d7452b]if window width >1110px; show element else hide element[/code:1:c7f9d7452b] Maar dat is dan ook zo'n beetje alles wat ik weet. Ik ben geen JS guru, maar ik heb begrepen dat JS wel het middels is om het voor elkaar te krijgen. Kan iemand me op weg helpen?
  • Je zou het zo kunnen doen: [code:1:9c8db486d0] <script type="text/javascript"> // <![CDATA[ var breed=0; if (document.documentElement && document.documentElement.clientWidth) { breed=document.documentElement.clientWidth; } else if (document.body.clientWidth) { breed=document.body.clientWidth; } if (breed > 1110) { //Zet hier de code voor je plaatje document.write("<img src='blaat.jpg'>"); } // ]]> </script> [/code:1:9c8db486d0] Er zijn heel veel manieren om het op te lossen, dit is er een van P.S. code is niet getest ;)
  • Thanks, ga het proberen. Werkt dat trouwens voor alle gangbare browsers? Ik wil nl minimaal alles werkend hebben onder IE 6/7, FF, Opera en Safari.
  • [quote:a3faaaf259]Werkt dat trouwens voor alle gangbare browsers[/quote:a3faaaf259] Hier een lijstje : http://www.howtocreate.co.uk/tutorials/javascript/browserwindow
  • Bovenstaande werkt goed in opera, FF en IE6, maar niet in IE7. De link die Error404 geeft bekeken en daaruit begrijp ik dat ik voor IE het statement [code:1:5c35680be6](typeof(window.innerWidth) == 'number' )[/code:1:5c35680be6] moet toepassen. Dit werkt niet echt. Ik heb nu de volgende code: [code:1:5c35680be6]<html> <body> <script type="text/javascript"> // <![CDATA[ var breed=0; // if(typeof(window.innerWidth) == 'number' ) { // breed=window.innderwidth; //} // else if (document.documentElement && document.documentElement.clientWidth) { breed=document.documentElement.clientWidth; } else if (document.body.clientWidth) { breed=document.body.clientWidth; } if (breed > 1100) { document.write("<img src='logo.gif'>"); } // ]]> </script></body> </html>[/code:1:5c35680be6] Zo werkt het overal, behalve in IE7. Haal ik de commentes bij het eerste IF statement weg, dan doet hij het nog wel in IE 6, maar verder vertikt-ie het. Wat is de fout, hoe krijg ik het overal werkend?
  • Je zou er op deze manier een oplossing voor kunnen maken : [code:1:50317456b7] version=0; if(navigator.appName.indexOf("Internet Explorer") != -1) { temp=navigator.appVersion.split("MSIE"); version=parseFloat(temp[1]); } if (version == 0) //NON IE browser will return 0 {code} if (version == 6) {code} if (version == 7) {code} etc. [/code:1:50317456b7]
  • Hmm.. kan ik eens mee stoeien inderdaad. [size=8:21c6f9f2d5]wat een gezeur trouwens, kunnen die gasten zich niet gewoon allemaal aan dezelfde standaard houden? :-? [/size:21c6f9f2d5]
  • [size=8:7c4f78610a]inderdaad! zou wel zo handig zijn :-)[/size:7c4f78610a] Oke, succes in ieder geval!
  • Het werkt nu (waarvoor dank), al begint IE7 te zeiken over dat het een onveilig ActiveX is en die blokkeert het in eerste instantie (zo'n geel balkje dat onder de tabbladen naar beneden komt zakken). Ik heb nooit wat aan mij IE instellingen gedaan, aangezien ik het alleen maar gebruik om te testen. Ik ga er dus vanuit dat het gros van de gebruikers dit krijgt. Persoonlijk vind ik dat vreemd. Er staat toch geen onveilige code in lijkt mij, en JavaScript is toch ook vrij standaard. Valt hier nog wat aan te doen?
  • Dat kan als je het op je eigen computer probeert te bekijken. Als je de pagina online zet dat zou hij dat niet meer moeten doen. begin IE ook te *zeiken* als je 'm online zet? ;)
  • Goeie vraag, niet geprobeerd eigenlijk. Het is toch maar een testpagina met alleen dat scriptje. Ik ga het vanavond even proberen. Waarom maakt dat eigenlijk verschil?
  • Inderdaad, na uploaden blijft de melding weg. Niet zo belangrijk voor mijn probleem maar wel leuk om te weten: waarom geeft IE die melding wel als ht lokaal geopend wordt maar niet als het online staat?
  • Mooi dat het gelukt is. IE heeft verschillende zones, lokale zone (je PC) en bijvoorbeeld een internet zone. De verschillende zones hebben verschillende instellingen voor de beveiliging. Die op je Pc is wat stenger als op het internet.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.