Простая галерея. Нужна помощь
У меня сложилась проблема с написанием первого скрипта на 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)"/> Див поверх контента открывается но изображение никак не получается вывести. |
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 с картинки по которой нажали и загружать эту картинку в большом размере. |
так получается мне для каждой большой картинки прописывать с новой строки ?
img.src = image.id + "_big.jpg"; Сейчас сделал для одной выдает ошибку: OnClick="showDiv(this) либо Null, либо не определено. |
Сделайте скрытый див, который будете показывать при увеличении картинка (например с 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 скрывать большую картику. |
| Часовой пояс GMT +3, время: 12:19. |