> jquery core provides teh width() and height(), that's all you need. Dimension 
> is not needed
> for this.
> 
> you get the available screen space just like that: $(window).width() and 
> $(window).height()
> 
> then basically, you create an image object
>  imgPreloader = new Image();
>  and when that object is loaded, you check its size and compare it to the 
> window, then modify
> the image size and the modal window size so that it nicely fits inside the 
> screen space.
>  that's what my code does at least...

That sounds good, Alexandre.

Are you returning a the "imgPreloader" variable back to the server to process 
your image
server-side, or is everything being done on the fly client-side?

Well, after looking more closely at your code, I can see you're setting the img 
attributes
based on the window dimensions... good idea.  I'll have an even closer look at 
your code.

Thanks for sharing!

Rick

> -----Original Message-----
> From: jquery-en@googlegroups.com [mailto:[EMAIL PROTECTED] On Behalf Of 
> Alexandre
> Plennevaux
> Sent: Tuesday, January 15, 2008 11:02 AM
> To: Jquery-en
> Subject: [jQuery] Re: jqmodal autosize to fit contained image in window
> 
> 
> ---------- Original Message ----------
> To:  Jquery-en (jquery-en@googlegroups.com)
> From: Rick Faircloth ([EMAIL PROTECTED])
> Subject: [jQuery] Re: jqmodal autosize to fit contained image in window
> Date: 15/1/2008 16:51:16
> 
> Hi, Alexandre...
> 
> I'm going to be working with having images sized as closely
> as possible to a user's browser window size and so I'm interested
> in what you're doing.
> 
> I was wondering if the "Dimensions" plug-in might be helpful to
> simplify what you're trying to do.  (And what I'll be trying to do, too.
> Your code is above my head, for sure).
> 
> Anyway, I'm going to try to use the Dimensions plug-in, get the users
> browser size, return that to the server via AJAX or a cookie, then
> either dynamically create an appropriately size image or pull up one
> of several sizes that I've already created and stored on the server.
> 
> Dynamically creating an image of significant size could be too slow.
> The drawback of creating multiple variations of an image and storing
> them on the server means sacrificing server space for the images.
> 
> Not sure which way I'll go.  This is for my photography and Real Estate
> websites.  Most viewers want to see as large a photo as possible.  And
> the large photos do have a powerful impact on a viewer.
> 
> Thoughts?
> 
> Rick
> 
> > -----Original Message-----
> > From: jquery-en@googlegroups.com [mailto:[EMAIL PROTECTED] On Behalf Of 
> > Alexandre
> > Plennevaux
> > Sent: Tuesday, January 15, 2008 10:40 AM
> > To: jQuery (English)
> > Subject: [jQuery] Re: jqmodal autosize to fit contained image in window
> >
> >
> > ok i kind of managed, if anyone interested, i did it like this:
> >
> > $('a.jqmodal').bind('click',function(){
> >  imgPreloader = new Image();
> >             //var mOffset = $('#modalWindow').show().offset();
> >
> >             //$.log("mWidth =" + mWidth);
> >             //$.log("mHeight =" + mHeight);
> >             imgPreloader.onload = function(){
> >                 imgPreloader.onload = null;
> >                 var imageWidth = imgPreloader.width;
> >                 var imageHeight = imgPreloader.height;
> >                 var w = $(window).width() - 100;
> >                 var h = $(window).height() - 100;
> >                             $.log('screen width =' +w);
> >                             $.log('screen height =' +h);
> >                 if (imageWidth > w) {
> >                     imageHeight = imageHeight * (w / imageWidth);
> >                     imageWidth = w;
> >                     if (imageHeight > h) {
> >                         imageWidth = imageWidth * (h / imageHeight);
> >                         imageHeight = h;
> >                     }
> >                 }
> >                 else
> >                     if (imageHeight > h) {
> >                         imageWidth = imageWidth * (h / imageHeight);
> >                         imageHeight = h;
> >                         if (imageWidth > w) {
> >                             imageHeight = imageHeight * (w /
> > imageWidth);
> >                             imageWidth = w;
> >                         }
> >                     }
> >                                     var mWinWidth = parseFloat(imageWidth + 
> > 30);
> >                                     var mWinHeight = parseFloat(imageHeight 
> > + 60);
> >                                     var mWinTop = parseFloat((h- 
> > imageHeight))/2;
> >                                     var mWinLeft = 
> > parseFloat((w-imageWidth))/2;
> >                                     $.log('mWinTop =' +mWinTop);
> >                             $.log('mWinLeft =' + mWinLeft);
> >                 $('.jqmWindow').css({
> >                                     margin: 0,
> >                                     width: mWinWidth + 'px',
> >                                     height: mWinHeight+'px',
> >                                     top: mWinTop+'px',
> >                                     left: mWinLeft + 'px'
> >                             });
> >
> >
> >                 $img = "<img id='TB_Image' src='" + this.src + "'
> > width='" + imageWidth + "' height='" + imageHeight + "' alt=''/>";
> >                 $('#modalTitle').html(this.title);
> >                 $('#modalContent').html($img);
> >                             $('#modalWindow').jqmShow();
> >
> >             }
> >             imgPreloader.src = $(this).attr("href");
> >             imgPreloader.title = $(this).attr("title");
> >
> >             return false;
> > });
> 
> 
> 
> it's not that difficult after all:
> 
> jquery core provides teh width() and height(), that's all you need. Dimension 
> is not needed
> for this.
> 
> you get the available screen space just like that: $(window).width() and 
> $(window).height()
> 
> then basically, you create an image object
>  imgPreloader = new Image();
>  and when that object is loaded, you check its size and compare it to the 
> window, then modify
> the image size and the modal window size so that it nicely fits inside the 
> screen space.
>  that's what my code does at least...
> 
> 
> 
> 
> Alexandre
> 
> 



Reply via email to