pal8 Postad 20 oktober, 2010 Share Postad 20 oktober, 2010 Någon som vet hur man kan hämta höjd på en bild som är dynamiskt skapad med new Image() eller createElement('img'). Jag lyckas inte. Inte heller om jag kör det onLoad. Länk till kommentar Dela på andra webbplatser More sharing options...
Wargen41 Postad 20 oktober, 2010 Share Postad 20 oktober, 2010 Menar du innan eller efter bilden renderats? Efter att den renderats är det väl attributet .offsetHeight. Utan att rendera bilden vet jag inte om det går att få reda på dess dimensioner. Länk till kommentar Dela på andra webbplatser More sharing options...
BeeMan Postad 23 oktober, 2010 Share Postad 23 oktober, 2010 På en allra minsta nivå så kan man använda något i stil med: var widthAndheight = { // Globala variabler width: null, height, null, getWidth: function() { var theImage = document.getElementById('imageId'); widthAndheight .width = theImage.width; }, getHeight: function() { var theImage = document.getElementById('imageId'); widthAndheight .height = theImage.height; } } Länk till kommentar Dela på andra webbplatser More sharing options...
pal8 Postad 23 oktober, 2010 Författare Share Postad 23 oktober, 2010 På en allra minsta nivå så kan man använda något i stil med: var widthAndheight = { // Globala variabler width: null, height, null, getWidth: function() { var theImage = document.getElementById('imageId'); widthAndheight .width = theImage.width; }, getHeight: function() { var theImage = document.getElementById('imageId'); widthAndheight .height = theImage.height; } } Mitt problem är att hämta höjden direkt efter man skapat en ny bild med t ex createElement. Att hämta höjd på en existerande bild är inga problem. Länk till kommentar Dela på andra webbplatser More sharing options...
BeeMan Postad 23 oktober, 2010 Share Postad 23 oktober, 2010 Mitt problem är att hämta höjden direkt efter man skapat en ny bild med t ex createElement. Att hämta höjd på en existerande bild är inga problem. Så med andra ord vill du att efter man skapat en tag med createElement('img') så vill du ha ut höjden på den innan man processar hela koden? D.v.s exempel laddar upp bilden på en server eller liknande? Länk till kommentar Dela på andra webbplatser More sharing options...
pal8 Postad 23 oktober, 2010 Författare Share Postad 23 oktober, 2010 Så med andra ord vill du att efter man skapat en tag med createElement('img') så vill du ha ut höjden på den innan man processar hela koden? D.v.s exempel laddar upp bilden på en server eller liknande? Ja typ. Den ska sedan visas centrerat på sidan. Länk till kommentar Dela på andra webbplatser More sharing options...
BeeMan Postad 25 oktober, 2010 Share Postad 25 oktober, 2010 Ja typ. Den ska sedan visas centrerat på sidan. Du lär inte få mycket hjälp när du är så kortfattad! Formulera om ditt problem så man förstår det bättre istället. Du vill ha ut höjden och bredden på en bild efter att skapat ett img element med createElement('img') och jag har get dig ett förslag som inte var lösningen. Vad är du då exakt ute efter mr.Kort-fattad! Länk till kommentar Dela på andra webbplatser More sharing options...
pal8 Postad 25 oktober, 2010 Författare Share Postad 25 oktober, 2010 Du lär inte få mycket hjälp när du är så kortfattad! Formulera om ditt problem så man förstår det bättre istället. Du vill ha ut höjden och bredden på en bild efter att skapat ett img element med createElement('img') och jag har get dig ett förslag som inte var lösningen. Vad är du då exakt ute efter mr.Kort-fattad! Jag tycker inte man kan förklara det på ett mer begripligt sätt än så. Vet du vad createElement är? Länk till kommentar Dela på andra webbplatser More sharing options...
BeeMan Postad 25 oktober, 2010 Share Postad 25 oktober, 2010 Jag tycker inte man kan förklara det på ett mer begripligt sätt än så. Vet du vad createElement är? Om jag inte vetat det hade jag väl inte ens valt att svara på ditt inlägg? Pucko! Länk till kommentar Dela på andra webbplatser More sharing options...
pal8 Postad 25 oktober, 2010 Författare Share Postad 25 oktober, 2010 Om jag inte vetat det hade jag väl inte ens valt att svara på ditt inlägg? Pucko! Lugna ner dig. Tack för din hjälp men sådana svar har inte här att göra och inte i forum överhuvudtaget. Hur kan du komma så snabbt till ordet "pucko" bara för att du inte förstår frågan? Jag kan inte hjälpa att du inte förstår en enkel problemställning som har med javascript att göra. Min förhoppning var att någon som känner till problemet och kan mer om javascript visste svaret. Den personen kommer veta exakt vad jag talar om på grundval av det jag sagt. D v s hur hämtar man höjden på en bild skapad med createElement. Googlar man hittar man fler med samma problem men jag har inte hittat svaret än. Eller jo, kanske. Någon var inne på att hämta det när bilden skapats med onLoad satt på bilden, vilket är helt logiskt, men det vill sig inte. Så därav min chansning att fråga här. Eftersom du inte tycks förstå problematiken så behöver du inte heller svara eller bli så upprörd. Länk till kommentar Dela på andra webbplatser More sharing options...
Chalk Postad 25 oktober, 2010 Share Postad 25 oktober, 2010 Du har inte gett något kodexempel, så jag måste gissa lite. Om du kör myImg.naturalHeight, vad får du då? Har du angett någon höjd för objektet efter createElement('img')? Länk till kommentar Dela på andra webbplatser More sharing options...
pal8 Postad 25 oktober, 2010 Författare Share Postad 25 oktober, 2010 Du har inte gett något kodexempel, så jag måste gissa lite. Om du kör myImg.naturalHeight, vad får du då? Har du angett någon höjd för objektet efter createElement('img')? Koden är fortfarande createElement('img') och sedan hämta höjden. Mycket enkelt. Används naturalHeight? Det räcker väl med .height. Men ingen skillnad. Länk till kommentar Dela på andra webbplatser More sharing options...
Chalk Postad 25 oktober, 2010 Share Postad 25 oktober, 2010 Du kan inte bara köra createElement('img') utan något annat. Länk till kommentar Dela på andra webbplatser More sharing options...
Gerhard Postad 25 oktober, 2010 Share Postad 25 oktober, 2010 Jag tycker inte heller att det är helt självklart var problemet ligger. Detta fungerar alldeles utmärkt för mig: var img = document.createElement('img'); img.src = 'myImage.png'; alert(img.height); Jag antar därför att det inte är alls så du menar? Länk till kommentar Dela på andra webbplatser More sharing options...
Gerhard Postad 25 oktober, 2010 Share Postad 25 oktober, 2010 Anger du, precis som Chalk säger, ingen källa så borde du rimligen inte få någon höjd heller. Länk till kommentar Dela på andra webbplatser More sharing options...
BeeMan Postad 25 oktober, 2010 Share Postad 25 oktober, 2010 Lugna ner dig. Tack för din hjälp men sådana svar har inte här att göra och inte i forum överhuvudtaget. Hur kan du komma så snabbt till ordet "pucko" bara för att du inte förstår frågan? Jag kan inte hjälpa att du inte förstår en enkel problemställning som har med javascript att göra. Min förhoppning var att någon som känner till problemet och kan mer om javascript visste svaret. Den personen kommer veta exakt vad jag talar om på grundval av det jag sagt. D v s hur hämtar man höjden på en bild skapad med createElement. Googlar man hittar man fler med samma problem men jag har inte hittat svaret än. Eller jo, kanske. Någon var inne på att hämta det när bilden skapats med onLoad satt på bilden, vilket är helt logiskt, men det vill sig inte. Så därav min chansning att fråga här. Eftersom du inte tycks förstå problematiken så behöver du inte heller svara eller bli så upprörd. Dålig dag verkar det som du? Det med puckor var ju ironi !! Men du verkar ta åt dig saker & ting väldigt personligt! Ber om ursäkt för det! onLoad = När bilden laddats klart på i dokumentet (sidan). Jag frågade dig innan om du vill ha ut dimensionerna på bilden innan hela koden körs, d.v.s innan sidan laddas men nae där fick man inget konkret svar av dig. OM man ska förstå sig på ditt problem? så vill du ha ut höjden efter att bilden laddats? Då kan du använda det som Chalk postat annars får du som sagt definiera ditt problem lite mer Jag tycker inte heller att det är helt självklart var problemet ligger. Då är vi två, man förstår ju inte vad det är han är ute efter exakt! Hade han kunnat offra fem minuter extra vid sitt inlägg för att göra en bättre förklaring så hade han fått ett korrekt svar som han hade kunnat vara glad över! Länk till kommentar Dela på andra webbplatser More sharing options...
pal8 Postad 25 oktober, 2010 Författare Share Postad 25 oktober, 2010 Dålig dag verkar det som du? Det med puckor var ju ironi !! Nu glider du långt ifrån ämnet. Knappast jag som har en dålig dag. Ursäkten mottagen. Ironi eller inte så bör du nog undvika det typen av språk om du inte ska bli missförstådd. Länk till kommentar Dela på andra webbplatser More sharing options...
pal8 Postad 25 oktober, 2010 Författare Share Postad 25 oktober, 2010 Jag tycker inte heller att det är helt självklart var problemet ligger. Detta fungerar alldeles utmärkt för mig: var img = document.createElement('img'); img.src = 'myImage.png'; alert(img.height); Jag antar därför att det inte är alls så du menar? Det ser ut som min kod. :-) Nja, fungerar det om du startar om webläsaren? Efter en reload går det bra men inte första laddningen av sidan efter uppstart av läsaren. Det är då problemet uppstår. Länk till kommentar Dela på andra webbplatser More sharing options...
pal8 Postad 25 oktober, 2010 Författare Share Postad 25 oktober, 2010 Du kan inte bara köra createElement('img') utan något annat. Självfallet inte. Det var inte heller vad jag frågade om. Länk till kommentar Dela på andra webbplatser More sharing options...
Chalk Postad 25 oktober, 2010 Share Postad 25 oktober, 2010 Självfallet inte. Det var inte heller vad jag frågade om. Som sagt, det vore trevligt och lättare att hjälpa till om du ville ge lite mer information om det du vill ha hjälp med. Vi fumlar lite i mörkret. Använder du window.onload? Länk till kommentar Dela på andra webbplatser More sharing options...
pal8 Postad 25 oktober, 2010 Författare Share Postad 25 oktober, 2010 Som sagt, det vore trevligt och lättare att hjälpa till om du ville ge lite mer information om det du vill ha hjälp med. Vi fumlar lite i mörkret. Använder du window.onload? Vi? Ursäkta men jag förstår inte varför det är så svårt att förstå. Tror du gör det svårare än vad det är jag frågar efter. Se Gerhards svar. Jag laddar bilden dynamiskt, vid behov, ungefär som Gerhards kodsnutt visar. Men det är samma sak om man kör det vid onload. Länk till kommentar Dela på andra webbplatser More sharing options...
Chalk Postad 25 oktober, 2010 Share Postad 25 oktober, 2010 Hoppas någon annan kan hjälpa dig, jag ger upp med din attityd. Länk till kommentar Dela på andra webbplatser More sharing options...
climacx Postad 25 oktober, 2010 Share Postad 25 oktober, 2010 Mitt förslag till lösning är att trådskaparen, tillika frågaren, själv besvarar frågan. Han tycks vara den enda som sitter inne med nödvändig information och dessutom inte tycks besväras av frågarens attityd. Mao, (hjälp dej) "själv är bästa dräng"* *gäller ej besservissrar på vippen att blotta sina (o)kunskapsluckor Länk till kommentar Dela på andra webbplatser More sharing options...
pal8 Postad 26 oktober, 2010 Författare Share Postad 26 oktober, 2010 Hoppas någon annan kan hjälpa dig, jag ger upp med din attityd. Chalk, det är lungt från min sida. Tror inte det är jag som sitter med attitydproblem. Länk till kommentar Dela på andra webbplatser More sharing options...
pal8 Postad 26 oktober, 2010 Författare Share Postad 26 oktober, 2010 Garhard, du tycks förstå vad det är jag frågar om och som inte har en dålig dag. :-) Hoppas du såg min följdfråga. Vore tacksam om du kunde hjälpa mig med ett svar. Precis som din kodsnutt visade är det ett normalt förfarande för att både skapa ett element, en bild i detta fall, och sedan hämta höjden. Vad jag försöker förstå är hur man ska angripa problemet första gången man kommer in på sidan, för då fungerar det inte. Och jag förstår inte riktigt varför. Visserligen är det logiskt att bild först måste skapas, d v s att hämta den onload, men även det fallerar. Som sagt, jag har sett fler som har samma problem men utan att hitta svar. Min lösning nu är att jag anger givna värden för bilden vid skapandet men anger css display till none, låter den laddas, hämtar värdena, sätter rätt bredd och höjd och placerar den mitt på sidan, och sedan kör display:block. Fungerar bra, men på någon läsare som ser man ett litet hopp liksom, första gången. Länk till kommentar Dela på andra webbplatser More sharing options...
Rekommendera Poster
Arkiverat
Det här ämnet är nu arkiverat och är stängt för ytterligare svar.