![]() |
По ссылке открывается большая картинка
<a href="#" onclick="window.open ('gallery/2/001.jpg', 'w1','top=0, left=0, titlebar=no, toolbar=no, resizable=yes, width=800, height=600, directories=no, status=no, scrollbars=yes menubar=no')"> Так вот нужно, чтобы та картинка, которая открылась в новом окне не сжималась по размерам окна, а чтобы ее высота и ширина были неизменны, и управлять ею можно было с помощью полос прокрутки. |
А почему бы не указывать параметры открываемого окна (габариты его то есть) такие же как у картинки? Задать окно полностью жесткое - не ресайзится, не имеет скроллбаров.
|
дело в том, что мои картинки имеют гораздо больший размер, чем даже 1024*768, поэтому хотелось бы, чтоб открывалось небольшое окно, в котором можно было прокуручивать длинную картинку по всей ее высоте.
|
Странное дело - у меня не сжимаются... хотя возможно, что картинки в одном из проектов не больше 800х600. %(
|
Похоже я въехал сам:
Дело просто: сжимаемость или не сжимаемость картинки зависит от настроек пользователя в браузере. а чтоб такого не было делаем так: для каждой картинки делаем отдельный html, например 1.htm с параметрами картинки <img src="1.jpg" width="1169" height="2253">, а потом уже в качестве ссылки на нее можно вешать ссылку не на саму картинку jpg , а на этот 1.htm такого же вида : <a href="#" onclick="window.open ('gallery/2/1.htm', 'w1','top=0, left=0, titlebar=no, toolbar=no, resizable=yes, width=800, height=600, directories=no, status=no, scrollbars=yes, menubar=no')"> Только одно но! Если у меня в галерее будет 500 картинок, это надо создавать 500 html страниц для каждой!!! Что не очень радует |
Это решается простым скриптом, скажем на PHP. Он будет генерить контент файла а ссылка в OnClick должна быть указана на него. Ему просто надо передать ключевой параметр, к примеру номер картинки. Узнать размер картинки средствами PHP тоже очень просто. В общем реализовать твою задумку для неограниченного количества картинок очень просто...
|
я верю, что и так можно, но я вообщем не настолько продвинутый пользователь, чтобы на php писать. Я ведь и HTML не знаю - просто что не реализует редактор приходится ручками дописывать...
Ну а если на php это просто, то может можно прямо тут пример привести? |
Оки... что-то вроде:
Пусть скрипт принимает в качестве параметра номер картинки, то есть вызываем его так - img.php?N=<some_number> Код:
//открывающее html форматирование - скажем обрамление, рамки и |
//берем параметр из строки адреса
$PicNum=$_GET["N"]; Вот тут немного непонятно... здесь нужно самому подставлять значения PicNum или оно само выставляет? И что означает {$ImgSize[3]}? |
1) Про $PicNum. Это переменная в которую записывается чисо из параметра строки адреса. Он у нас такой - http://www.some_server.xxx/some_dire...ome_number>. Так в $PicNum запишется как раз значение <some_number>, видишь обращаемся к ассоциативному массиву переменных переданных скрипту методом GET - $_GET["N"] и берем параметр с именем N. ТО есть если так - img.php?N=3, то в $PicNum будет 3... само будет :).
2) Про $ImgSize. Вызываем функцию которая вернет размеры изображения, в качестве параметра передаем ей имя файла картинки (перед вызовом функции надо проверить существование этого файла, а то возникает некрасивое сообщение об ошибке). Имя файла ненерим на лету, составляя его из параметра переданного скрипту: $ImgSize= GetImageSize("img_directory/".$PicNum.".jpg"). То есть если так - img.php?N=3, то вызов будет таким - GetImageSize("img_directory/3.jpg") (точка в PHP - это сложение строк, причеп типы приводятся к строковому автоматом). Функция возвращает массив: Цитата:
Ой, попрут меня с форума за курсы для начинающих :gigi: |
Ой, если попрут. то не надо лучше:biggrin: В любом случае спасибо за курс введения, больше мучать тебя не смею ;)
Одно скажу, что в основном все пока понятно - это точно! Дальше пока углубляться не стану, пока нет необходимости в создании пхп галереи (но похоже дело стоящее), а как надумаю, нужно будет немного поработать с изучением. |
На счет попрут - джоук :) .На то он и форум, чтобы делиться знаниями.
|
Время: 20:52. |
Время: 20:52.
© OSzone.net 2001-