Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передать памаметр странице, Открыть окно с картинкой 
:(
    Опции темы
Budy
Дата 4.3.2005, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



:Приветсвую
Как можно от одной путем ссылки передать праметр?
Ну например. Я делаю сайт, а там ну навалом картинок. Ну много и все. Допустим на главной странице лежат скриншоты этих картинок, т.е. они же самые, но уменьшенные, ну для выбора. И при нажатии на любую, происходит переход на страницу, где эта же картинка, но большая, которую можно "Сохранить как...". Дак вот, чтоб не делать для каждой картинки страницу, ищу способ: через ссылку передается имя картинки, скриптом обрабатываем ссылку, получаем имя и выводим картинку.
ЗЫ.Все пишется в HTML, ну например на Народе будет сайт. Надо как-нить все сделать Java'ой.
Помогите, плиз.


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Aliance
Дата 4.3.2005, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата(Budy @ 4.3.2005, 21:52)
Надо как-нить все сделать Java'ой.

12390231289 раз говорю: Java и JavaScript - две абсолютно разные вещи!

Цитата(Budy @ 4.3.2005, 21:52)
Как можно от одной путем ссылки передать праметр?

Ты тут ничего не пропустил? «Мы тут не телепаты...» ©

Тебе нужно так: есть index.htm, там есть <IMG src="1.jpg">, при клике нужно открывать http://www.domen.ru/1.jpg ? Так?

PM MAIL WWW ICQ Skype   Вверх
Budy
Дата 4.3.2005, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Ну вот на сайте 2 странички: на 1ой - маленькие картинки, а на второй отображается выбранная картинка.
На например на 1ой странице щелкаем по картинке 1.jpg... и передаем ее имя (например)
Код

<A href='2.html#1.jpg'> <IMG src='1.jpg' width=50% height=50%> </A>

А страница 2 как-нить обрабовает эту ссылку и получит что
Код

imgname="1.jpg"

А потом отображаем картинку:
Код

document.write('<Img src='+imgname+'>');


Это сообщение отредактировал(а) sergej.z - 7.3.2005, 01:00


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Aliance
Дата 4.3.2005, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Все гораздо проще, зри в корень проблемы:
Код

<HTML>
<HEAD>
<title>Тест</title>

<script type="text/javascript">
function link(url) {
window.open(url,"pict","status=no,toolbar=no");
}
</script>
</HEAD>

<BODY>

<div id="block" style="border: 1px red solid">
<BR>
<IMG src="1.gif" id="img1" border=0 onclick="link(this.src)">
<IMG src="2.gif" id="img2" border=0 onclick="link(this.src)">
<IMG src="3.gif" id="img3" border=0 onclick="link(this.src)">
</div>

</BODY>
</HTML>


Это сообщение отредактировал(а) sergej.z - 7.3.2005, 01:01
PM MAIL WWW ICQ Skype   Вверх
Ni@m
Дата 4.3.2005, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 11.3.2004
Где: почти Киев

Репутация: 1
Всего: 6



В том же окне
Код

<img src="image.png" onclick="window.location = 'image.png'">

А вот это в новом
Код

<img src="image.png" onclick="window.open('image.png')">



Это сообщение отредактировал(а) Ni@m - 4.3.2005, 22:57
--------------------
Обучение - как переливание воды из одной чашки в другую: всегда лучше, чтоб чашка со знаниями нахордилась выше.
PM MAIL WWW ICQ   Вверх
Aliance
Дата 4.3.2005, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Тут придеться для каждой картинки менять src, а смысл, если можно передать аргументом?! smile
PM MAIL WWW ICQ Skype   Вверх
Budy
Дата 5.3.2005, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Нет же, ребята! Все не то.
Мне не нужно открывать картинку в новом окне. Мне нужно ее открыть в моей HTML странице, на которой будут, например, ссылка на главную и еще че-нить написано.

А на 2ой странице при входе нужно получить имя картинки, которую надо отобразить в полной форме и вывести картинку.


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Ni@m
Дата 5.3.2005, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 11.3.2004
Где: почти Киев

Репутация: 1
Всего: 6



Ты поставил неправильно вопрос. Делай пустой слой, куда отображать картинку.
Код


<script language=javascript>
function changePic(pic)
{
  var hidDiv = document.getElementById('pic');
  hidDiv.style.display = "block";
  var img = document.createElement('img');
   img.setAttribute('src',pic);
  hidDiv.replaceChild(img,hidDiv.firstChild);
}
</script>
<div id=pic style="display: none;">picture</div><!-- hidden div-->
<img src="image.png" onclick="changePic('bigImg.png')">


Это сообщение отредактировал(а) Ni@m - 7.3.2005, 12:50
--------------------
Обучение - как переливание воды из одной чашки в другую: всегда лучше, чтоб чашка со знаниями нахордилась выше.
PM MAIL WWW ICQ   Вверх
Aliance
Дата 5.3.2005, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Ni@m
Комментарии сотри smile
Слои проблему я так понял не решат... Нужна новая страница?!

Нужно создавать новое окно пустое и туда добавлять текст и картинку.
Код

<HTML>
<HEAD>
<title>Тест</title>

<script type="text/javascript">
var newWindow;
function makeNewWindow(pict) {
 im = pict;
   // убеждаемся, что окно не открыто
   if (!newWindow || newWindow.closed) {
       newWindow = window.open("","sub","status=no,toolbar=no,height=200,width=300");
       // задержка для IE
       setTimeout("writeToWindow(im)", 50);
   } else if (newWindow.focus) {
       // Окно открыто, передаем ему фокус
       newWindow.focus();
   }
}

function writeToWindow(pic) {
   // создаем контент для окна
   var newContent = "<html><head><title>Script-created Window</title></head>";
   newContent += "<body><IMG src="+pic+">";
   newContent += "<a href='index.html'>Назад</a>";
   newContent += "</body></html>";
   // вставляем HTML в новое окно
   newWindow.document.write(newContent);
   newWindow.document.close();
}

</script>
</HEAD>

<BODY>

<div id="block" style="border: 1px red solid">
<BR>
<IMG src="1.gif" id="img1" border=0 onclick="makeNewWindow('1.gif')">
<IMG src="2.gif" id="img2" border=0 onclick="makeNewWindow('2.gif')">
</div>

</BODY>
</HTML>


Это сообщение отредактировал(а) sergej.z - 7.3.2005, 01:03
PM MAIL WWW ICQ Skype   Вверх
Budy
Дата 6.3.2005, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Thanks, Aliance и Ni@m!
Как раз то, что нужно. Огромное спасибо!


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Sardar
Дата 11.3.2005, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



О передаче параметров странице можно почитать здесь: http://forum.vingrad.ru/index.php?showtopi...hl=search&st=15

Я так понял ты хотел открыть новое окно, в котором есть некоторая разметка(меню и т.п.) + большя картинка. Картинку передаём параметрами.
Код
function GetVars(sep) { //конструктор контейнера с аргументами
 this.length=varsGetLength; //взять длинну
 sep=(sep!=null)? sep: '&';
 var srch=window.location.search; //ИЕ даст нам уже раскодированную строку, Опера не изменную
 srch=decodeURLString(srch);
 if(srch.length<1) return;
 var i=0,b=1,d=0;
 while(i<srch.length) {
  i=srch.indexOf(sep,i+1);
  i=(i<0)? srch.length: i;
  var val=srch.substring(b,i);
  var sepr=val.indexOf('='); //за split в JS надо... :(
  if(sepr>0) this[val.substring(0,sepr)]=val.substr(sepr+1);
  else this[val]=true;
  b=i+1;
  d++;
 }
}
function varsGetLength() { //результат надо кешировать
 if(typeof(this.document)!='undefined') return 0;
 var ct=0;
 for(i in this) if(typeof(this[i])!='function') ct++;
 return ct;
}
//а подобной функции в JS нет :(, decodeURI это не совсем то что нужно
//можно еще юзать escape() вместо самоделок...
function decodeURLString(str) {
 for(var i=str.indexOf('%'); i>=0; i=str.indexOf('%',i+1)) {
  var num=parseInt(str.substr(i+1,2),16);
  if(!isNaN(num)) {
   var part1=(i>0)? str.substring(0,i): "";
   var part2=(i<str.length-3)? str.substr(i+3): "";
   str=(part1+String.fromCharCode(num)+part2);
  }
 }
 return str;
}

//пишем код картинки
getVars=new GetVars();
if(getVars["image"]) document.write("<img src='./images/"+getVars["image"]+"'>");
else document.write("<span>No image</span>");


Первая часть скрипта собирает параметры из URL, затем пишем в документ разметку картинки. Этот код открывается в новом окне. В родительском можно поставить:
Код
<a href="./showImage.htm?image=im1.jpg" target="mwin"><IMG src="thumb1.gif" border=0 /></a>
<a href="./showImage.htm?image=im2.jpg" target="mwin"><IMG src="thumb2.gif" border=0 /></a>
<a href="./showImage.htm?image=im3.jpg" target="mwin"><IMG src="thumb3.gif" border=0 /></a>



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1016 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.