I am fairly new to jQuery/JavaScript so I am having a few problems, hopefully you can point me on the right track.
On my project I have a row of images, showing previews of images. Kind of a image gallery.
I want to be able to click onto the smaller images and then get simple Modal to display the full size image, dynamically resizing and animating.
Can I do this with Ajax, to refresh simple modal? I am still learning how to use Ajax with jQuery and there seems many ways to do it.
Here is what I have:
jQuery:
$('.col1').find('img.overlay').click(function() {
$('#imgpreview').modal({overlayClose:true});
var img = $(this).parent().find('img.shared').attr('src');
var imgW = $(this).parent().find('img.shared').attr('width');
var imgH = $(this).parent().find('img.shared').attr('height');
$('#imgpreview').css('width', imgW);
$('#imgpreview').css('height', imgH);
$('#imgpreview').find('img').attr('src', img);
});
});
HTML:
<div id="imgpreview"><img src=""></div>
<div class="col1 bg"><img class="overlay" src="img/overlay.gif" width="104" height="104"><img class="shared" width="104" height="104" src="img/uploaded/img1.jpg"></div>
<div class="col1 bg"><img class="overlay" src="img/overlay.gif" width="104" height="104"><img class="shared" width="104" height="104" src="img/uploaded/img2.jpg"></div>
<div class="col1 bg"><img class="overlay" src="img/overlay.gif" width="104" height="104"><img class="shared" width="104" height="104" src="img/uploaded/img3.jpg"></div>
<div class="col1 bg"><img class="overlay" src="img/overlay.gif" width="104" height="104"><img class="shared" width="104" height="104" src="img/uploaded/img4.png"></div>
<div class="col1 bg"><img class="overlay" src="img/overlay.gif" width="104" height="104"><img class="shared" width="104" height="104" src="img/uploaded/img5.jpg"></div>
<div class="col1 bg nmr"><img class="overlay" src="img/overlay.gif" width="104" height="104"><img class="shared" width="104" src="img/uploaded/img6.jpg"></div>
I can display the image inside the simple modal but the image does not sit inside the dimensions of the image so I can give it a border and styling, also means it does not sit in the middle.
Another option is to create a simple modal dialogue box for each image and echo out the jQuery with PHP since the images will be in the database. But would there be a better way?
I don’t have a clue about that modal plugin. It’s been my experience that jQuery plugins are hardly worth the trouble of figuring out. That being said, you could try this….
Then the CSS would have something like :
img #myPic{
height: 100%;
width: 100%;
}
It looks like you are a little confused by what this is in your question. In your case it is $(“img.overlay”) You can avoid all that nonsense by just adjusting the
to suit your needs.