Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Laten we 't weer eens over layers hebben.... :-(

Anoniem
Bigfoot
4 antwoorden
  • Ik heb een soort smoelenboek. Als er met de muis over een foto bewogen wordt moet de naam van die persoon verschijnen. Dat doe ik door een textbox in een layer te gebruiken (simpel onMouseOver/onMouseOut script, gecombineerd met Javascript-functies om de bijbehorende naam te bepalen).

    Nu het probleem. Een aantal van die foto's staan aan de rechterkant van het scherm. Om te voorkomen dat een deel van de naam buiten het scherm valt wil ik de bijschriften rechts uitlijnen, zodat ze altijd op het scherm passen en daar begint de ellende.

    De breedte van de textbox is variabel, dat hangt af van de breedte van de naam. De breedte wordt uitgedrukt in het aantal tekens in die textbox. Om 'm rechts uit te lijnen moet ik echter de breedte in pixels hebben. Die trek ik af van de breedte van het scherm en het resultaat is de left-positie van de layer waar de textbox in staat. Ik kan echter niet zomaar punten in pixels omrekenen (behalve misschien bij het gebruik van een niet-proportioneel font, maar dat vind ik niet mooi).

    Misschien is het gebruik van textboxen in een layer niet de juiste manier, maar hoe moet het dan wel?
  • Kun je niet een tabelletje om de namen heen maken.

    v.b:

    [tabel]
    [naam]
    [/tabel]

    Greerz,
    Dilbert
  • Ben er niet zeker van. Dan moet je volgens mij een layer maken met een tabel erin, en daarin één cel. Kun je de breedte en uitlijning van een tabelcel uitlezen/instellen in een script? Dan zijn er wel mogelijkheden hoewel het een hoop gereken oplevert. Die tabelcel kan namelijk ook midden in het scherm staan en links uitgelijnd worden.

    Een andere oplossing zou nog het gebruik van plaatjes zijn. Dan zou ik elk bijschrift in een apart GIF-bestandje moeten zetten. Je kunt gewoon de breedte van het plaatje bepalen en het probleem is opgelost. Vind dat echter niet zo'n mooie oplossing. Nog afgezien van het werk dat je er voor moet doen. Op het moment dat er in het smoelenboek iets veranderd moet worden zijn de foto's al beschikbaar. Ik vind het dan wel zo netjes als je gewoon in de pagina even de naam kan veranderen en dat je dan niet eerst weer een GIF-bestand moet maken.

    [ Dit Bericht is bewerkt door: Bigfoot op 2002-02-25 11:03 ]
  • Volgens mij doe je veel moeilijker dan noodzakelijk is, maar daarvoor heb ik niet genoeg inzicht in wat je maakt.

    Maar met helemaal alles gaan lopen berekenen schiet je over het algemeen niet zoveel op, helemaal niet als het ook nog in meerdere browsers moet gaan werken. Ik zou je opzet nog eens heroverwegen..
    Maar met document.getElementById('layer').offsetWidth krijg je de breedte in pixels

Beantwoord deze vraag

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