Hej, jeg tænkte på hvordan I ville "detecte" om en scrollbar er vist eller skjult i et canvas element, når scrollbarpolicy er sat til auto.
Man kan selvfølgelig regne på om ens canvas indhold er større end canvas'ets størrelse, men bliver der ikke affyret et event eller noget ala onScrollbarVisible som man kan lytte efter?
4 kommentarer
Jeg havde samme problematik i en indkøbskurv i en Flex shop jeg arb på og indtil videre har jeg løst det på følgende måde:
1. Put en enterFrame="Render(event)" i dit canvas tag
2. I din Render funktion laver du et check på om f.eks. verticalScrollBar er null eller ej...det er den nemlig, hvergang der ik er brug for den...så
En event havde selvfølgelig været perfekt men, da scrollbar'ene ikke eksisterer før de er on så kan man ik smide eventhandlere på dem...scrollbars er det Adobe kalder Non-content children som er children, der ikke optræder f.eks. i numChildren og dermed kan man ik bruge 'addedChild' events til at checke scrollbar on / off status...
Støder jeg på noget info, der siger noget andet skal jeg nok gi et praj men indtil da virker ovenstående løsning helt fint
Ellers er det vel bare at lytte på resize event af ens indhold i ens canvas og så tjekke på om indholdet er større end canvas selv.
Som nævnt bliver scrollbars betragtet som Non Content Children og påvirker dermed ikke canvas size, når de bliver sat på...derfor kan Resize eventet desværre ikke bruges
Jeg ender nok med at beregne størrelsen, da jeg faktisk helst skal vide om scrollbaren bliver synligt før jeg positionerer min elementer, så det er vidst den eneste løsning
Tak for info om non-content children!