• Уважаемый посетитель!!!
    Если Вы уже являетесь зарегистрированным участником проекта "миХей.ру - дискусcионный клуб",
    пожалуйста, восстановите свой пароль самостоятельно, либо свяжитесь с администратором через Телеграм.

Вопросы по сайтостроительству, полезные советы новичкам

  • Автор темы Автор темы Злючка
  • Дата начала Дата начала
И снова я :)

Я хочу сделать так, чтобы когда я на странице нажимаю на уменьшенный вариант картинки, то когда выскакивает окно с настоящим размером, окно была размером с саму картинку...
 
NiVa4e
Размеры можно задать в window.open (универсальный пример с центровкой окна):
Код:
var myWindow;
function openCenteredWindow(url) {
    var width = 400;
    var height = 300;
    var left = parseInt((screen.availWidth/2) - (width/2));
    var top = parseInt((screen.availHeight/2) - (height/2));
    var windowFeatures = "width=" + width + ",height=" + height + 
        ",status,resizable,left=" + left + ",top=" + top + 
        "screenX=" + left + ",screenY=" + top;
    myWindow = window.open(url, "subWind", windowFeatures);
}
Касаемо урла. Есть несколько направлений:
1) создать кучу *.htm для каждой картинки
2) Передача имени картинки в php скрипт: *.php?image=img1.jpg;
3) Передача имени картинки в htm: *.htm?img1.jpg;
Последний способ малоизвестен. Дело в том, что в html тоже можно передавать параметры, а получить их можно с помошью функции window.location.search.toString() - это все что после знака "?".
 
Мне не совсем понятно, а что делать с этим кодом?
Куда его нужно вставлять?
 
NiVa4e написал(а):
Куда его нужно вставлять?
В <script type="text/javascript"></script>
Вызывать: <a href="javascript:openCenteredWindow('url')"><img ...></a>

или <a href="javascript:openCenteredWindow('имя картинки')"><img ...></a>; а скрипте window.open("фиксированный url"+"?"+url, "subWind", windowFeatures); url тут - параметр "имя картинки", передавается в функцию openCenteredWindow - в случае если нужно полноценную html страничку открыть.
 
если я всё правильно понял, в чём я сомневаюсь...
то у меня получился такой вот скрипт...:
<html>
<head>
<title>Народ.Ру: Новая страница</title>
</head>
<body>
<script type="text/javascript">var myWindow;
function openCenteredWindow(url) {
var width = 360;
var height = 450;
var left = parseInt((screen.availWidth/2) - (width/2));
var top = parseInt((screen.availHeight/2) - (height/2));
var windowFeatures = "width=" + width + ",height=" + height +
",status,resizable,left=" + left + ",top=" + top +
"screenX=" + left + ",screenY=" + top;
myWindow = window.open(url, "subWind", windowFeatures);</script>

<a href="javascript: openCenteredWindow('/020.jpg')"><img ...></a>

</body>
</html>



вот результат... вот
В чём я напутал? :(
 
NiVa4e
Ответ в любой нормальной книге по созданию сайтов и по html в частности.
Попробуй предварительно вникать в тот текст, который копируешь.

С моей строны тоже правда тоже невнимательность: забыл одну закрывающую скобку поставить. Смотри исправленный код.

Подсказка:
- разобраться в относительных путях. чем отличаются "/020.jpg", "./020.jpg", "../020.jpg"
- как оформляется <img> (если хочншшь сделать превьюшку) и <а>

Еще интересный расширенный вариант:
печать html-кода в открытый popUp:
Код:
<script language="JavaScript" type="text/javascript">
function popwnd(label, path)
{
var xtop = (screen.height-390)/2, xleft = (screen.width-258)/2;
var rule = "<img src='"+path+"' height=300 width=258 border=0 alt=''>";
msg = "<html><head><TITLE>"+label+"</TITLE></head>";
msg += "<BODY BGCOLOR=#ffffff>" + rule +"</BODY></html>";

popup = window.open("","popDialog","height=390,width=258,top="+xtop+",left="+xleft+",scrollbars=auto";
popup.document.write(msg);
popup.document.close();
}
</script>
 
В общем, я разобрался :)
Только у меня вопрос...
Вот результат... но у меня фотка съезжает, т.е. окно не прямо по ней ложится...
И в превью у меня на фотке рамка синяя....
 
NiVa4e написал(а):
но у меня фотка съезжает, т.е. окно не прямо по ней ложится...
Угу, сдвигается на 16 пикселов. Так будет с любым изображением, открытом в браузере. Чтобы его не было, нужно использовать полноценную html-страницу и в разделе head дописать
Код:
<style type="text/css">
body { margin: 0; padding: 0; }
</style>
NiVa4e написал(а):
И в превью у меня на фотке рамка синяя....
А какую хочешь? ;)
Без рамки: <img border="0" src="... " >
 
А вот еще простой вариант — <a href="javascript:void(open('адрес', null, 'width=ширина,height=высота,scrollbars=no,resizable=no'))">ссылка</a>.
 
Trotil, спасибо огромное! (y) Выручил! :heart:

P.S. А нереально сделать свой вид бегунка? Опять же без использования Flash? (В условия жесткие меня поставили... :( )
 
IE поддерживает изменение цветов «скроллбара», примеры можно найти в поисковиках.
 
Однако при помощи jscript можно реализовать различные более нетривиальные задачи, чем изменение цветов скролбара. (т.е. реализовать собственный скроллбар с нужной функциональностью)
 
возможно ли сделать окно со скроллбаром без использования фреймов, без форм? Одни JS?

ЗЫ: div отказывается функционировать
 
+Deep_Sin+ написал(а):
возможно ли сделать окно со скроллбаром без использования фреймов, без форм? Одни JS?
Окно и так будет со скроллбаром, если содержимое вылезет за пределы окна. Не совсем понятен вопрос.
 
Назад
Сверху