Просмотр полной версии : Открытие картинки в новом окне соответсвуещем её размеру.
В общем ситуация такая: я делаю сайт о игре Hitman 2 и он как и любой сайт о игре изобилует картинками. Я хотел бы попросить помощи у знающих : как сделать так чтобы при нажатие на уменьшиный вариант картинки большой открывался в новом окне строго равном размерам этой картинки и само окно чтобы было без menubar,scrollbars,status,toolbar и не масштабируемое.
Заранее большое спасибо всем откликнувшимся!
P.S. Вот адресок сайта http://www.eidosinteractive.com/games/embed.html?gmid=118 на котором сделано так как мне хотелось бы ,если кто захочет глянти чтобы ясней было о чём речь
Дам тебе хороший совет : не используй окна заданного размера . Сейчас много людей используют надстройки для IE, такие как NetCaptor . Единственный броузер который использует вкладки, но открывает такие окна это RuScaper . Но у тебя задача зделать так чтобы сайт рулил у всех .
Да я тоже считаю, что открытие кучу окон разных размеров, это не в кайф. Хотя если бы они были одного размера без тулбаров, адресной строки и т.п., а так же картинка по середине, а остальное какой-нить приятный фон, тады было бы горяздо лучше. Но опять же RaZer правильно сказал, это мало кто оценит, так как сейчас рулят такие вещи как NetCaptor и CrazyBrowser (имеется в виду потомство IE). А там это всё побарабану.
А по поводу ...
...чтобы при нажатие на уменьшиный вариант картинки большой открывался в новом окне ....
то просто сжимаешь в любом редакторе картинку до нужных размеров и вставляешь её в тэг IMG, а его в свю очередь делаешь ссылкой по типу :
<a href="PicBig1.htm"><IMG src="picSmal1.gif" border="0" height="30" width="123"></a>
где PicBig1.htm файл в котором у тебя большая картинка вставлена...
Вот и всё. :)
имхо лучше сгенерить все javascript'ом . Кстати про сжатие: как javascript так и IE 6.0 (что одно и тоже) сжимают без нормальной интерполяции, поэтому очень сильно страдает качество . Если есть желание сделать одинаковые картинки разного размера, то лучше изменять размеры посредством графического редактора (ACDSee, Photoshop...) .
:)) .. ну я так и написал
... просто сжимаешь в любом редакторе картинку до нужных размеров ...
А по поводу javascript. Да лучше так чтобы не было кучу html файлов, а был один а ссылка на картинку подставлялась бравшись из получаемого параметра. :))
Большое спасибо за ответы , но чувствуется небольшое недопонимание,видимо я не правильно выразил свою просьбу.
Сами картинки мне сжимать не нужно ,у меня есть и мальнькие ,которое играют роль своеобразных иконок и большие ,которые должны открываться в новом окне после нажатия на маленькие соответсвенно.Желательные параметры окна я описал в предыдушем моём сообшении.Ниже приклеен файл с изображением одной из страниц моего будущего сайта и такого окна(окно взято с другого сайта).Я уже не знаю что делать,сайт весь готов ,осталось решить только проблему с этими картинками.Вторую ночь лажу по сети но удалось найти только обрывки информации,и везде упоминается JavaScript .Я пытался сделать через такую запись в коде:
function wo(url,w,h){
width = screen.width;
height = screen.height;
window.open(url+"&w="+w+"&h="+h, 'showpicture','width='+(w)+',height='+(h)+',left='+((width-w)/2)+',top=0,fullscreen=0,location=0,menubar=0,scrollbars=no,status=0,to olbar=0,resizable=yes');
}
Все вроде понятно только вот url имеет какае то приписки которые я не понимаю(я только недавно начал учить и html и Javascript. Так что ,если кто вдруг разберет (в чем я практически не сомневаюсь) не пожалейти усилий ответить мне. Заранее всем большое спасибо.
В предыдушем сообшение второй файл не прошел так что досылаю в этом.
Всё достаточно просто.
В url в вашем случае дополнительно передаются параметры (в открывающуюся страницу), а именно ширина и длина.
Вы когда нибудь встречали в адресной строке такую запись
www.kpnemo.emanual.ru/index.html?width=300&height=200
вот тоже самое получиться с помощью той строки.
А параметры метода open такие:
[window].open(URL, windowName [, window Options])
URL - URL открываемого файла
windowName - Title открываемого файла
window Options - параметры открывемого окна (через запятую)
window.open("","Subscribe","scrollbars=yes,width=150,height=200,status=yes,menubar=yes,location=ye s,resizable=yes");
Ну вот вроде и всё ...
Ну а что значит это: +"&w="+w+"&h="+h , я когда всталяю путь к моей картинке он открывает окно которое мне требуется но внутри пишет что не может найти этот файл.Я не могу понять что значат эти символы написаные за url. Пожалуйста разъясните мне это, я понимаю что вам это кажется простым ,но для меня это пока что не так.
В url в вашем случае дополнительно передаются параметры (в открывающуюся страницу), а именно ширина и длина.
+"&w="+w+"&h="+h - это и есть параметры которые он подставляет к URL. Убери их они не нужны тебе, если конечно ты тоже не хочешь их передовать.
Дело в том, что в вашем примере (ссылку которую вы привели)окно больше чем сама картинка (там ещё текст есть), ну вот поэтому там в новое окно и передаются ещё параметры этой картинки, чтобы указать их в тэге IMG. По крайне мере я так думаю (код не смотрел).
Спасибо большое! Все заработало !:dance:
По ходу работы у меня появился еще один вопросик: как сделать так чтобы это окно все время было сверху ? Спасибо за ответы.
Окно можно выдвинуть на передний план (focus()) . Но реализовать Always on top через JavaScript имхо нельзя .
можно focus() на SetInterval залепить :winkgrin: это для изварщенцев
Спасибо за ответы,но если можно то чуть-чуть поконкретней.Я уже говорил что я новичёк в кодировании поэтому хотелось бы получить более объёмное объяснение.Такое свойство "focus " я ещё не встречал и не знаю как его применить Я пробовал вставить в функцию но это ничего не дало.Видимо нужно писать в скобках что-то ,а что я не знаю.Спасибо
<script>
window.focus();
</script>
или так чтобы он "always on top"
<script>
setInterval("window.focus()", 1);
</script>
только как и сказано выше, это будет очень по извращенски :) почему? попробуй - увидишь :winkgrin:
fotograf
07.06.2002, 17:26
Классный сайт. Красиво.
vBulletin® v3.8.5, Copyright ©2000-2024, Jelsoft Enterprises Ltd.