Я отслеживаю предыдущий пост
( Необычное поле с одним изображением * ), чтобы узнать, возможно ли использовать уменьшенное изображение в fancybox для динамического создания большего отображаемого изображения. Я знаю, что вы можете использовать document.createElement ("IMG"); чтобы добавить увеличенную версию существующего изображения в ваш документ, или вы можете использовать target.style.width и target.style.height, чтобы изменить размер изображения и назначить его другому идентификатору, но я не могу получите fancybox для доступа и использования этой увеличенной версии миниатюры. Вам всегда нужно 2 размера для каждого изображения?
Вот код, который я использовал. Он будет изменять размеры изображений самостоятельно, но, похоже, не работает с fancybox. Я определяю следующую функцию javascript для работы с изображениями:
<script>function magnify() {
var thumbnail = document.getElementById('image_2');
var target = document.getElementById('image_2_larger');
var w = thumbnail.width;
var h = thumbnail.height;
target.style.width= w*1.5 +'px';
target.style.height= h*1.5 +'px';
</script>
<body>
<p class="imglist">
<a id="image_2_larger" href="smallImage.jpg"
onclick="magnify()" data-fancybox>
<img id="image_2" src="smallImage.jpg"></a></p>
</body>
Нажатие на ссылку активирует лайтбокс, но id = "image_2_larger" отображается в нормальном размере. Я подтвердил, что javascript создаст увеличенное изображение, если я просто сделаю это без fancybox
<img id="target" src="smallImage.jpg" onclick="magnify()">
<img id="thumbnail" src="smallImage.jpg">