Фотогалерея на сайте

12
PK
На сайте с 24.10.2006
Offline
99
PSK
#11

Здравствуйте. Поднимаю тему снова. ну не получается у меня сделать все по-человечески 😡

За основу был взят скрипт уважаемого Pike.

Итак, я решил попробовать реализовать идею на php. Поскольку мне еще нужно делать подписи к картинкам, и обязательно их выравнивать по центру.

Весь код находится в <body></body>.


<?
$last = 150;
$photo = 1;
?>

<span class="formula">Фото <strong><? echo $photo; ?></strong> из <strong><? echo $last; ?></strong></span><br/>


<script language="javascript">
//при нажатии на ссылку "Вперед" должна выполняться функция next()
function next(){img = new Image();img.src = 'next.php';}
</script>

<a href="javascript:next()">Вперед</a>

<?
/* вставляем картинку на страницу */
if ($photo=="") {
echo "<img src='doha/1.gif'>";
}
else {
echo "<img src='doha/$photo.gif'>";
}
?>

<?
/* вставляем пояснение какртинки на страницу */
if ($photo=="") {
include "dohatext/1.txt";
}
else {
include "dohatext/$photo.txt";
}
?>

В файле next.php находится следующее:


<? $photo++; if ($photo>$last) $photo=1; ?>
Pike
На сайте с 13.07.2004
Offline
79
#12

Если бросите идею PHP, я могу покапаться в своем старье (типа прошлое тысячелетие) и найти на javascript с подписями, и уж выровнять вообще не проблема. Если нет, можете ткнуть мне в подпись ☝

free hosting (http://rahost.com)
PK
На сайте с 24.10.2006
Offline
99
PSK
#13
Pike:
Если бросите идею PHP, я могу покапаться в своем старье (типа прошлое тысячелетие) и найти на javascript с подписями, и уж выровнять вообще не проблема. Если нет, можете ткнуть мне в подпись ☝

Уважаемый Pike покопайтесь пожалуйста :) Кстати а что такое ткнуть в подпись?

Propeller
На сайте с 16.03.2006
Offline
69
#14
Pike:
могу покапаться в своем старье (типа прошлое тысячелетие) и найти на javascript с подписями, и уж выровнять вообще не проблема.

Это было бы замечательно, мне тоже очень интересно!

PK
На сайте с 24.10.2006
Offline
99
PSK
#15

вообще javascript в данном случае хорош тем, что просто загружает фотки и подписи, не загружая при этом новую страницу. Это удобно. Но с другой стороны хиты на счетчиках не считаются ) но главное чтобы посетителю было удобно, а не статистике.

Pike
На сайте с 13.07.2004
Offline
79
#16

Не нашел. Вот вам новый.

<head>

<script type="text/javascript" src=titles.js></script>

<script type="text/javascript">

var last=200;

var photo=1;

function next(){

photo++;

if (photo>last) photo=1;

show(photo);

}

function prev(){

photo--;

if (photo<1) photo=last;

show(photo);

}

function show(photo){

document.getElementById('photo').innerHTML="<img src='doha/"+photo+".jpg'>";

document.getElementById('title').innerHTML=titles[photo];

document.getElementById('indicator').innerHTML="Photo "+photo+" out of "+last;

}

</script>

</head><body onload=show(1)>

<div align=center>

<span id ='indicator'>

Photo 1 out of <script type=text/javascript>

document.write(last);

</script>

</span><br>

<b> &lt; <a href="javascript:prev()">Prev</a> | <a href="javascript:next()">Next</a> &gt; </b>

<p>

<div id='photo'>

</div>

<div id="title">

</div>

</div>

</body>

и titles.js, в который надо нарисать подписи:

titles= new Array("",

"моя первая картина", "моя вторая фота", "моя третья шедевра",

"четвертая пикча", "пятая нечта", "ну и так даллее"

)

PK
На сайте с 24.10.2006
Offline
99
PSK
#17
Pike:
Не нашел. Вот вам новый.

<head>
<script type="text/javascript" src=titles.js></script>

<script type="text/javascript">
var last=200;
var photo=1;
function next(){
photo++;
if (photo>last) photo=1;
show(photo);
}
function prev(){
photo--;
if (photo<1) photo=last;
show(photo);
}
function show(photo){
document.getElementById('photo').innerHTML="<img src='doha/"+photo+".jpg'>";
document.getElementById('title').innerHTML=titles[photo];
document.getElementById('indicator').innerHTML="Photo "+photo+" out of "+last;
}


</script>

</head><body onload=show(1)>
<div align=center>
<span id ='indicator'>
Photo 1 out of <script type=text/javascript>
document.write(last);
</script>
</span><br>
<b> &lt; <a href="javascript:prev()">Prev</a> | <a href="javascript:next()">Next</a> &gt; </b>

<p>
<div id='photo'>
</div>
<div id="title">
</div>

</div>

</body>

и titles.js, в который надо нарисать подписи:

titles= new Array("",
"моя первая картина", "моя вторая фота", "моя третья шедевра",
"четвертая пикча", "пятая нечта", "ну и так даллее"
)

гениально. спасибо просто огромнейшее :) массив легко и элегантно решил задачу с надписями. Еще раз большущее спасибо. Всех С Новым!

PK
На сайте с 24.10.2006
Offline
99
PSK
#18

Pike, последний вопрос :) Как Вы сделали чтобы текстовые подписи выравнивались по центру? :) не могу понять :)

Pike
На сайте с 13.07.2004
Offline
79
#19

положил все в отцентрованный див.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий