0 / 0 / 1
Регистрация: 09.05.2012
Сообщений: 33
1

Создание галереи

05.09.2012, 18:43. Показов 4534. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужна помощь в создании небольшой "галлереи". Сразу о том что должно получиться: миниатюры располагаются в блоке(рис.1), при нажатии на одну из них, она открываеться во весь блок(рис.2).
При повторном нажатии возвращаемся обратно к миниатюрам. Важно чтобы минитиатюры открывались именно во весь блок, не больше и не меньше.
Искал много решений на jquery и js. Может это можно реализовать и проще не знаю. Но ничего похожего не находил. Либо было много лишнего, но так как в js плохо разбираюсь реализовать не получается.
Миниатюры
Создание галереи   Создание галереи  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2012, 18:43
Ответы с готовыми решениями:

Создание динамической галереи
Всем доброго времени суток, столкнулся с проблемой написания скрипта галереи, в которой выводятся...

Создание флеш галереи на jQuery
http://www.shalagin.ru/ это ссылка на одну забавную галерею, я не правда не знаю как плавно...

Найти список галереи
Добрый вечер! Подскажите, пожалуйста, каким образом идет получение списка галерей через данный...

Обновление галереи на JQuery
Здравствуйте! Люди добрые, помогите, пожалуйста. Я не программист, но по работе возникла...

8
54 / 54 / 2
Регистрация: 04.03.2012
Сообщений: 495
05.09.2012, 20:56 2
а зачем сразу на java то???
0
Эксперт JSЭксперт HTML/CSS
2435 / 1114 / 312
Регистрация: 23.06.2011
Сообщений: 3,525
06.09.2012, 10:26 3
Цитата Сообщение от vantyz Посмотреть сообщение
зачем сразу на java то???
потому что при клике, не наведении. При наведении нет решения. В центр не попадёшь.
а где написано java?

плохо что царь Леонид счёл не царским делом сказать размеры и количество.

Добавлено через 1 час 7 минут
по простому
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<table id="slyTaBlya">
<tr>
<td><img src="../pics/pic01.jpg" alt=""></td>
<td><img src="../pics/pic02.jpg" alt=""></td>
<td><img src="../pics/pic03.jpg" alt=""></td>
<td><img src="../pics/pic04.jpg" alt=""></td>
<td><img src="../pics/pic05.jpg" alt=""></td>
</tr>
<tr>
<td><img src="../pics/pic06.jpg" alt=""></td>
<td><img src="../pics/pic07.jpg" alt=""></td>
<td><img src="../pics/pic08.jpg" alt=""></td>
<td><img src="../pics/pic09.jpg" alt=""></td>
<td><img src="../pics/pic10.jpg" alt=""></td>
</tr>
<tr>
<td><img src="../pics/pic11.jpg" alt=""></td>
<td><img src="../pics/pic12.jpg" alt=""></td>
<td><img src="../pics/pic13.jpg" alt=""></td>
<td><img src="../pics/pic14.jpg" alt=""></td>
<td><img src="../pics/pic15.jpg" alt=""></td>
</tr>
<tr>
<td><img src="../pics/pic16.jpg" alt=""></td>
<td><img src="../pics/pic17.jpg" alt=""></td>
<td><img src="../pics/pic18.jpg" alt=""></td>
<td><img src="../pics/pic19.jpg" alt=""></td>
<td><img src="../pics/pic20.jpg" alt=""></td>
</tr></table>
CSS
1
2
3
4
5
6
7
8
#slyTaBlya {margin:100px auto auto 300px;}
#slyTaBlya {border-collapse:collapse; position:relative; top:0; left:0;}
#slyTaBlya td {border:1px solid black; padding:5px;}
 
#slyTaBlya img {vertical-align:top; cursor:pointer; border:0;}
#slyTaBlya img.bigP {width:507px; height:388px; position:absolute; top:0; left:0;}
 
#slyTaBlya img, #slyTaBlya td {width:90px; height:86px;}
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(function(){
 
onload=function(){
var m, k;
m=document.getElementById("slyTaBlya").getElementsByTagName("img");
k=m.length;
while(k--){m[k].onclick=bigPic;};
 };
 
function bigPic(){
if(this.className=="bigP"){this.className="";}
else{this.className="bigP";};
 };
 
 
 })();
0
0 / 0 / 1
Регистрация: 09.05.2012
Сообщений: 33
06.09.2012, 20:33  [ТС] 4
newJS,
Пример рабочий и суть ты уловил. Но есть большое "но": как я понял js просто растягивает миниатюру. Тоесть если я помещю фото, то естественно при увеличении оно будет размазано. Как это можно исправить?
0
Эксперт JSЭксперт HTML/CSS
2435 / 1114 / 312
Регистрация: 23.06.2011
Сообщений: 3,525
07.09.2012, 07:47 5
В данном случае наоборот, картинка нормального, правильного размера и она сжимается в иконку. Или использовать пару small -> big, немного скрипт изменить и с именами заморочиться.
Скрипт простой и по быстрому, чё с него взять.
1
0 / 0 / 1
Регистрация: 09.05.2012
Сообщений: 33
08.09.2012, 14:59  [ТС] 6
newJS,
После того как тебе написал, разобрался что перепутал на счет изображений. То что он простой это даже хорошо. Мне и нужна была простая галлерея. Все картинки четкие получаюся, добавил в CSS пару строк, кое-что поменял. Смотриться отлично. Побольше бы в инете таких простых скриптов. И таких людей) Времени не много свободного, но понял что пора изучить Js. Вообщем пошел учить) Спасибо большое за помощь!
0
0 / 0 / 1
Регистрация: 09.05.2012
Сообщений: 33
09.09.2012, 22:24  [ТС] 7
newJS,
Я конечно начал изучать, но еще не силен в нем) Вот возникла еще одна проблема. У меня в документе распологаються 2 такие галереи. И во второй не работает увеличение. Как я понял это из-за того, что у getElementById должен быть уникальный id. Вообщем дальше погуглил и понял, что надо менять id на class, тогда можно будет задать несколько классов для галерей и прописать их в js (там ведь цикл?). Вообщем пробывал по разному ничего не выходит. В конце концов запутался. Нужна помощь!
0
Заблокирован
09.09.2012, 23:58 8
King Leonidas, id на класс менять не надо.

поменяйте лучше на name.
и воспользуйесь методом getElementsByName ()
0
Эксперт JSЭксперт HTML/CSS
2435 / 1114 / 312
Регистрация: 23.06.2011
Сообщений: 3,525
10.09.2012, 06:41 9
только ид разные
HTML5
1
2
3
4
5
6
7
8
9
<table id="slyTaBlya1">
<tr>
....
</tr></table>
 
<table id="slyTaBlya2">
<tr>
.....
</tr></table>
здесь тоже только второе ид добавилось
если будет разное количество картинок, в css нужно будет размеры подправить, каждому свои, в остальном само работает
CSS
1
2
3
4
5
6
7
8
#slyTaBlya1, #slyTaBlya2 {margin:100px auto auto 300px;}
#slyTaBlya1, #slyTaBlya2 {border-collapse:collapse; position:relative; top:0; left:0;}
#slyTaBlya1 td, #slyTaBlya2 td {border:1px solid black; padding:5px;}
 
#slyTaBlya1 img, #slyTaBlya2 img {vertical-align:top; cursor:pointer; border:0;}
#slyTaBlya1 img.bigP, #slyTaBlya2 img.bigP {width:507px; height:388px; position:absolute; top:0; left:0;}
 
#slyTaBlya1 img, #slyTaBlya1 td, #slyTaBlya2 img, #slyTaBlya2 td {width:90px; height:86px;}
здесь тоже второй цикл со своим ид добавился, раздельно чтобы можно было разное количество картинок использовать
вторая функция без изменений
Javascript
1
2
3
4
5
6
7
8
9
onload=function(){
var m, k;
m=document.getElementById("slyTaBlya1").getElementsByTagName("img");
k=m.length;
while(k--){m[k].onclick=bigPic;};
m=document.getElementById("slyTaBlya2").getElementsByTagName("img");
k=m.length;
while(k--){m[k].onclick=bigPic;};
 };


P.S.
Цитата Сообщение от newJS Посмотреть сообщение
плохо что царь Леонид счёл не царским делом сказать размеры и количество.
вот оно боком полезло, это чтобы все головой думали прежде чем писать
0
10.09.2012, 06:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2012, 06:41
Помогаю со студенческими работами здесь

Появление картинок из галереи
Здравствуйте! Подскажите как решить возникшую проблемку. Есть галерея картинок на сайте. Как...

Скрипт для галереи
есть ли у кого нибудь скрипт на галерею, чтоб были превью окошки слева небольшие со стрелками...

Нужно исправить скрипт галереи
Коллеги программисты, помогите решить задачку. Мне нужно сделать галерею типа рисунка (смотрите...

Отображаются не все картинки в галереи сайта
Доброго времени суток! Люди вот сделал сайт и тама есть галерея, где я по нажатию на ссылку должна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru