aika Posted December 13, 2009 Report Share Posted December 13, 2009 taisu bildes priekšapskates fonkciju. (jQuery utt) php pusē: <A class='preview' HREF='bilde_liela.jpg' title='virsraksts'> $("a.preview").hover(function(e){ this.t = this.title; this.title = ""; var c = (this.t != "") ? "<br/>" + this.t : ""; $("body").append("<p id='preview'><img src='"+ this.href +"' alt='Image preview' />"+ c +"</p>"); $("#preview") .css("top",(e.pageY - xOffset) + "px") .css("left",(e.pageX + yOffset) + "px") .fadeIn("slow"); }, 1v. mēģināju no php puses iebarot platumu/2 kā mainīgo w: <A class='preview' HREF='bilde_liela.jpg' w='$PuseNoPlatuma' title='virsraksts'> <img src='"+ this.href +"' width='" +this.w + "' ... - nestrādā2v. mēģināju javas pusē dabūt platumu: this.width/2 - uzrāda kā undefinedmēģināju javas pusē lādēt bildi un dabūt platumu: var newImg = new Image(); newImg.src = this.href; var width = newImg.width/2; ... ... <img src='"+ this.href +"' width='" +width + "' ... - beidzot strādā, taču sāka baigi bremzēt! Jautājums - kāpēc nestrādāja 1 un 2 (ja jau this. kā noprotu ir bildes objekts) variants? vai varbūt ir loģiskāki un ātrāki veidi? Quote Link to comment Share on other sites More sharing options...
0 xPtv45z Posted December 13, 2009 Report Share Posted December 13, 2009 this.width strādās tikai tad, kad atbilstošajam elementam būs width="" uzlikts un to vērtību arī rādīs. Ja vajag elementa pašreizējo platumu, tad lieto this.offsetWidth Quote Link to comment Share on other sites More sharing options...
0 aika Posted December 15, 2009 Author Report Share Posted December 15, 2009 this.width strādās tikai tad, kad atbilstošajam elementam būs width="" uzlikts un to vērtību arī rādīs. Ja vajag elementa pašreizējo platumu, tad lieto this.offsetWidth nope - nestrādā ne this.offsetWidth, ne width parametra padošana no php puses Quote Link to comment Share on other sites More sharing options...
0 indoom Posted December 15, 2009 Report Share Posted December 15, 2009 (edited) Pirmkārt, javascript nav java. Otrkārt "this" tavā skriptā nav bildes objekts, bet anchors $('a.preview'); Un lai dabūtu lielumu no bildes, kas nav ielādējusies, protams, vispirms tad tā ir jāielādē ar to new Image(); Vai arī jānolasa no $('#preview > img'), ko appendo zem body, bet tad vispirms redzama būs lielā un tad samazināsies. Ceturtkārt, funkcijas nenoslēdz ar komatu, bet ar ; Edited December 15, 2009 by indoom Quote Link to comment Share on other sites More sharing options...
Question
aika
taisu bildes priekšapskates fonkciju. (jQuery utt)
php pusē: <A class='preview' HREF='bilde_liela.jpg' title='virsraksts'>
1v. mēģināju no php puses iebarot platumu/2 kā mainīgo w: <A class='preview' HREF='bilde_liela.jpg' w='$PuseNoPlatuma' title='virsraksts'>
- nestrādā2v. mēģināju javas pusē dabūt platumu:
- uzrāda kā undefinedmēģināju javas pusē lādēt bildi un dabūt platumu:
- beidzot strādā, taču sāka baigi bremzēt!Jautājums - kāpēc nestrādāja 1 un 2 (ja jau this. kā noprotu ir bildes objekts) variants?
vai varbūt ir loģiskāki un ātrāki veidi?
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.