Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.03.2013, 11:55
Новичок на форуме
Отправить личное сообщение для Grafkote Посмотреть профиль Найти все сообщения от Grafkote
 
Регистрация: 26.03.2013
Сообщений: 2

Простая галерея. Нужна помощь
У меня сложилась проблема с написанием первого скрипта на JS.
Мне нужна галерея но простым языком. В сети видел либо ссылки на библиотеки, либо написано с сокращениями непонятными мне. Прошу поясните какие должны быть действия.

есть n картинок, нужно что бы при нажатии открывался див поверх контента и посередине было увеличенное изображение.

var a=new Array();
a[0].src = "foto1.jpg";
a[1].src = "foto2.jpg";
a[2].src = "foto3.jpg";


function showDiv (image)
{	       
 d = document.createElement('div');
 d.className='backdiv';
 document.body.appendChild(d);
 d.HTMLstr+="<img src=\"по идее тут как-то надо вписать массив?\">\n";
 document.body.style.overflow = 'hidden';
}


<img  id="photo1" src="foto1.jpg" OnClick="showDiv(this)"/>
<img  id="photo2" src="foto2.jpg" OnClick="backDiv(this)"/>
<img  id="photo3" src="foto3.jpg" OnClick="backDiv(this)"/>


Див поверх контента открывается но изображение никак не получается вывести.
Ответить с цитированием
  #2 (permalink)  
Старый 26.03.2013, 15:33
Аспирант
Отправить личное сообщение для Ervin Посмотреть профиль Найти все сообщения от Ervin
 
Регистрация: 19.03.2013
Сообщений: 84

function showDiv (image) {
 var el = document.createElement("DIV"),
      img = document.createElement("IMAGE");
 
 el.className = "backdiv";
 img.src =  image.id + "_big.jpg";
 el.appendChild(img);
 document.body.appendChild(el);
}


Массив тут не нужен. Просто брать id с картинки по которой нажали и загружать эту картинку в большом размере.
Ответить с цитированием
  #3 (permalink)  
Старый 27.03.2013, 11:10
Новичок на форуме
Отправить личное сообщение для Grafkote Посмотреть профиль Найти все сообщения от Grafkote
 
Регистрация: 26.03.2013
Сообщений: 2

так получается мне для каждой большой картинки прописывать с новой строки ?
img.src =  image.id + "_big.jpg";


Сейчас сделал для одной выдает ошибку:
OnClick="showDiv(this) либо Null, либо не определено.
Ответить с цитированием
  #4 (permalink)  
Старый 27.03.2013, 11:38
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Сделайте скрытый див, который будете показывать при увеличении картинка (например с id div) в него положите img с id, например img, далее при клике на картинку просто раскрывайте скрытый див. В каждой картинке можно положить ссылку на её большую копию. Это будет выглядеть примерно так:

var div = document.getElementById('div'), img = document.getElementById('img');

function showBigImage() {
  div.style.display = 'block'; // раскрываем блок (обычно пишу с jQuery могу путать)
  img.src = this.getAttribute('name'); // задали картинке путь к большой картинке
}


Верстка:
<div id='div' style='display: none'><img src='#'></div>
<img src='images/img1.jpg' name='images/img1_big.jpg' onclick='showBigImage'>
<img src='images/img2.jpg' name='images/img2_big.jpg' onclick='showBigImage'>


Ну и ещё можно по клику на document скрывать большую картику.

Последний раз редактировалось tsigel, 27.03.2013 в 11:43.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощь в JavaScript михаил Общие вопросы Javascript 26 30.10.2013 12:07
Нужна помощь по слайдеру seoguru Работа 3 28.01.2013 22:02
нужна помощь тех кто разбирается. igoryk jQuery 2 20.10.2010 19:42
Нужна помощь, если можно Fox-WNT Общие вопросы Javascript 3 27.07.2010 11:38
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17