Я пытаюсь разработать код, в котором jquery принимает изображения и изменяет их размеры в соответствии с родительским div, с возможностью щелчка по изображению, чтобы просмотреть его в полном размере с помощью fancybox. Я пытаюсь сделать все изображения с помощью класса «expand» и не ожидаю, что у вас больше, чем на изображении с этим классом на странице.Использование fancybox для просмотра полноразмерного изображения
Ниже приведено то, что я до сих пор придумал. Изображение очень просто меняется, и я могу щелкнуть по изображению, чтобы поднять fancybox, но он имеет размер, размер которого не изменен, а не оригинал. У меня есть fwidth и fheight как vars для оригинальных измерений, но указание их не работает, так как его встроенный. Итак, мне нужно использовать iframe, который я выяснил, и попытался .wrap ссылку вокруг него и указать ссылку как iframe с указанными размерами, захватив .attr («src») для ссылки. Но независимо от того, что я делаю, он переходит на 404 страницу в fancybox. Ниже я имею, не уверен, как действовать дальше, или я думаю об этой проблеме не так?
if($('img.expand').length){
var parentClass = $('img.expand').parent().attr("class");
var fwidth = $('img.expand').attr("width");
var fheight = $('img.expand').attr("height");
if($('img.expand').parents().is('.grid_10')){
$('img.expand').each(function() {
var maxwidth = 590;
var obj = $('img.expand');
var width = obj.width();
var height = obj.height();
if (width > maxwidth) {
//Set variables for manipulation
var ratio = (height/width);
var new_width = maxwidth;
var new_height = (new_width * ratio);
//Shrink the image and add link to full-sized image
obj.height(new_height).width(new_width);
}
});
}
$('img.expand').fancybox({
'transitionIn' : 'fade',
'transitionOut' : 'fade',
'speedIn' : 600,
'speedOut' : 200,
'overlayShow' : false,
'titlePosition' : 'inside'
});
}