Scrollbars div verbergen vanuit object

Status
Niet open voor verdere reacties.

Enmos

Gebruiker
Lid geworden
28 aug 2010
Berichten
7
Hoi allemaal,

Ik heb een DIV met een OBJECT erin. In het OBJECT wordt een html pagina geladen.
Nu wil ik in bepaalde situaties de scrollbars van de DIV verbergen, maar dat moet gebeuren vanuit de pagina die in het OBJECT geladen wordt.
Ik krijg dit met geen mogelijkheid voor elkaar. Hoe pak ik dit aan?
Alvast bedankt voor de hulp :)

Dit is de DIV met het object (in index.htm):
Code:
<div id="content_div" style="position: absolute; display: block; width: 698px; left: 0px; top: 162px; background-color: white;">

<object id="content" data="home.htm" type="text/html" width=698px height=520px>

</div>
Nu moet dus vanuit "home.htm" de scrollbars van DIV "content_div" worden verborgen.
 
Laatst bewerkt:
Hoi,



Ja, ik heb zojuist wat testjes gedraaid; het kan! Hier heb ik het getest in Firefox 3.x en daar werkte het; IE geeft een fout (8). Chrome doet t ook.

Overgens kan je dit denk ik veel beter doen met <iframe>'s. Die zijn veel beter ondersteund, ook door IE.



Zie deze testpagina voor code.
 
Laatst bewerkt:
Hoi,



Ja, ik heb zojuist wat testjes gedraaid; het kan! Hier heb ik het getest in Firefox 3.x en daar werkte het; IE geeft een fout (8). Chrome doet t ook.

Overgens kan je dit denk ik veel beter doen met <iframe>'s. Die zijn veel beter ondersteund, ook door IE.



Zie deze testpagina voor code.

Hoi That Guy,

Ik heb het idee dat ik niet helemaal duidelijk ben geweest. Ik zal hieronder de link naar de website waar het om gaat plaatsen.
Zie "Karpers" en dan helemaal onder aan zijn de plaatjes. Als je op een plaatje klikt moet de scrollbar verdwijnen.
De website werkt momenteel trouwens alleen in FF, maar dat krijg ik wel voor elkaar.

Link
 
Hoi,


Oh, je was heel duidelijk hoor, en ik heb je vraag ook beantwoord, alleen niet direct ;)

Dit is het idee: in je karpers.htm heb je bij je plaatjes dit staan:[JS]<img ... onclick='readyImg(this.id);' ...>[/JS]oid. Als je er nou dit van maakt:[JS]<img ... onclick='fixScrollBars(); readyImg(this.id);' ...>[/JS]en deze JS toevoegd:
HTML:
<script type='text/javascript'>
function fixScrollBars()
{
   window.parent.document.getElementById('content_div').style.overflow = 'hidden';
}
</script>

Nogsteeds, volgens mij kan je *veel* beter <iframe>'s gebruiken, maar dit's natuurlijk wel een stuk origineler :D




:thumb:
 
Ah, ok. Alleen heb ik dat al geprobeerd en het werkt niet. De scrollbars blijven gewoon staan (website is geupdate met functie etc.)
Misschien zie ik iets over het hoofd, maar ik zou niet weten wat..

Aan Iframes heb ik wel gedacht maar ik wilde het zo proberen. Iframes hebben zo hun eigenaardigheden ;)
Als dit echt niet lukt probeer ik het met Iframes, of anders gewoon verschillende pags.
 
Hmmm,

okay, doe eens een extra testje: zet IN de fixScrollBars() functie, voor EN na die regel code, dit:[JS]alert('fsb 1');
// en erna
alert('fsb 2');[/JS]en kijk dan eens of ie een alert geeft.
 
Hmmm,

okay, doe eens een extra testje: zet IN de fixScrollBars() functie, voor EN na die regel code, dit:[JS]alert('fsb 1');
// en erna
alert('fsb 2');[/JS]en kijk dan eens of ie een alert geeft.

Ik krijg ze allebei terug.
 
Hmmm, dat is raar. Maak er eens dit van:[JS]function fixScrollBars()
{
alert('_' + window.parent.document.getElementById('content_div') + '_');
}
[/JS]van?

Mocht je iets krijgen van
_[Object HTMLDivObject]_
oid, maak er dan eens dit van:[JS]function fixScrollBars()
{
window.parent.document.getElementById('content_div').style.backgroundColor = '#f06';
}[/JS]Zo niet, post dan even het result van de alert().




:thumb:
 
Hmmm, dat is raar. Maak er eens dit van:[JS]function fixScrollBars()
{
alert('_' + window.parent.document.getElementById('content_div') + '_');
}
[/JS]van?

Mocht je iets krijgen vanoid, maak er dan eens dit van:[JS]function fixScrollBars()
{
window.parent.document.getElementById('content_div').style.backgroundColor = '#f06';
}[/JS]Zo niet, post dan even het result van de alert().




:thumb:


Ik krijg inderdaad "_[object HTMLDivElement]_" terug.

Het kleurtje werkt wel (lekker kleurtje trouwens :p)..

Dus op een of andere manier wordt 'overflow' niet herkent?
 
Ummmm.. het moet blijkbaar toegepast worden op het Object niet op de Div.. wel een beetje vreemd maar het werkt nu :)

Zie hier: http://www.enmos.eu/testing


Bedankt voor de goede hulp! :)
 
Laatst bewerkt:
Hehe, paars! :D (#f06 is altijd een leuke testkleur)



Mooi dat t werkt! :thumb:
 
That Guy (#4): Nog steeds, volgens mij kan je *veel* beter <iframe>'s gebruiken, maar dit's natuurlijk wel een stuk origineler :d
Enmos (#5): Aan Iframes heb ik wel gedacht maar ik wilde het zo proberen. Iframes hebben zo hun eigenaardigheden ;)
Als dit echt niet lukt probeer ik het met Iframes, of anders gewoon verschillende pags.
... en ik zie dat inmiddels de testing-pagina is overgegaan op een <iframe>.

Maar helemaal begrijpen doe ik het niet: of je nu een frameset gebruikt, of een iframe voor de content, of een object voor de content ... het blijven in wezen allemaal één-pagina-sites.

Met alle grote nadelen van dien: bv. er is geen link naar een bepaalde pagina te maken (je moet altijd met de startpagina beginnen). Dus de bezoeker die een kennis wil wijzen op een uitzonderlijk mooie pagina in je site, kan in z'n mailtje naar de kennis niet even snel de link opgeven, maar moet vertellen: "Je gaat naar www.enmos.eu, en dan klik je op het derde visje van boven".
Met alleen een hoofdmenu is dat misschien nog draaglijk, maar als er een submenu aan te pas komt, wordt het verhaal steeds langer ... :confused:
En als Google een pagina vindt, en de bezoeker daarop klikt: dan mist deze het menu (tenzij je daarvoor weer speciale -script- maatregelen gaat treffen). :rolleyes:

Kortom, mijn vraag (de site staat zo te zien nog in de kinderschoenen):
  • Waarom maak je er niet meteen een mooie php-site van?
  • Dan heb je menu en header ook altijd (in 1 bestandje) binnen handbereik, zien alle pagina's er prachtig hetzelfde uit, en is een wijziging in menu voor de hele site in 3 tellen gepiept.
  • Opmaak is met css te regelen, werkt in alle browsers, scriptwerk overbodig (ook voor mensen met pure tekstbrowsers of voorlees-browsers toegankelijk), enz.
  • Zie deze, of anders deze! :)
Voor een publiekssite voor een zo groot mogelijk publiek zou ik dat zeker aanbevelen.

Met vriendelijke groet,
CSShunter
 
... en ik zie dat inmiddels de testing-pagina is overgegaan op een <iframe>.

Maar helemaal begrijpen doe ik het niet: of je nu een frameset gebruikt, of een iframe voor de content, of een object voor de content ... het blijven in wezen allemaal één-pagina-sites.

Met alle grote nadelen van dien: bv. er is geen link naar een bepaalde pagina te maken (je moet altijd met de startpagina beginnen). Dus de bezoeker die een kennis wil wijzen op een uitzonderlijk mooie pagina in je site, kan in z'n mailtje naar de kennis niet even snel de link opgeven, maar moet vertellen: "Je gaat naar www.enmos.eu, en dan klik je op het derde visje van boven".
Met alleen een hoofdmenu is dat misschien nog draaglijk, maar als er een submenu aan te pas komt, wordt het verhaal steeds langer ... :confused:
En als Google een pagina vindt, en de bezoeker daarop klikt: dan mist deze het menu (tenzij je daarvoor weer speciale -script- maatregelen gaat treffen). :rolleyes:

Kortom, mijn vraag (de site staat zo te zien nog in de kinderschoenen):
  • Waarom maak je er niet meteen een mooie php-site van?
  • Dan heb je menu en header ook altijd (in 1 bestandje) binnen handbereik, zien alle pagina's er prachtig hetzelfde uit, en is een wijziging in menu voor de hele site in 3 tellen gepiept.
  • Opmaak is met css te regelen, werkt in alle browsers, scriptwerk overbodig (ook voor mensen met pure tekstbrowsers of voorlees-browsers toegankelijk), enz.
  • Zie deze, of anders deze! :)
Voor een publiekssite voor een zo groot mogelijk publiek zou ik dat zeker aanbevelen.

Met vriendelijke groet,
CSShunter

CSShunter, bedankt voor die links. Ga ik zeker eens naar kijken (voor mijn eigen website).
De website die ik aan het maken was was voor een ander. Die wilde het zo simpel mogelijk. Ik ben inmiddels al verder gegaan op een website met meerdere pagina's (dus zonder Iframe's etc.). In elk geval heb ik weer wat geleerd zullen we maar zeggen ;)
In elk geval erg bedankt voor je antwoord! :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan