X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> недостатки слайд-шоу
juckoff
juckoff
Topic Starter сообщение 16.7.2009, 18:50; Ответить: juckoff
Сообщение #1


В этом простеньком слайдшоу есть недостаток:
нельзя зацикленные картинки использовать как ссылки

Можно ли малой кровью «подкрутить» скрипт чтоб с ссылками был?
И в какую сторону крутить?

<script>
var slide = new Array;
var pictureName = new Array("flower[1].jpg", "flower[2].jpg", "flower[3].jpg", "flower[4].jpg");
for (var i = 0; i < pictureName.length; i++) {
slide[i] = new Image();
slide[i].src = pictureName[i];
}
var m = new Array(0, 100);
var nextImage = 0;
var t = "";

function next(step) {
if (t != "") return;
m[0] = 0;
m[1] = 100;
nextImage = nextImage + step;
if (nextImage == pictureName.length) {
nextImage = 0;
}
if (nextImage == -1) {
nextImage = pictureName.length - 1;
}

document.getElementById("after").src = slide[nextImage].src;
change_slide();
}
function change_slide() {
m[0] += 1;
m[1] -= 1;
document.getElementById("before_div").style.opacity = m[1]/100;
document.getElementById("after_div").style.opacity = m[0]/100;
document.getElementById("after_div").style.filter="alpha(opacity="+m[0]+")";
document.getElementById("before_div").style.filter="alpha(opacity="+m[1]+")";
t = setTimeout("change_slide()",5);
if (m[0] > 98) {
clearTimeout(t);
document.getElementById("before").src = slide[nextImage].src;
document.getElementById("before_div").style.opacity = 100;
document.getElementById("before_div").style.filter="alpha(opacity=0)";
t = "";
}
}
</script>
<style>
.pic { position: absolute; top: 100px; left: 100px }
a.navigation { text-decoration: none }
</style>

<div id="after_div" class="pic">
<img id="after" src="flower[2].jpg">
</div>
<div id="before_div" class="pic">
<img id="before" src="flower[1].jpg">
</div>
<a href="javascript:next(-1)" class="navigation"><< Назад</a> <a href="javascript:next(1)" class="navigation">Вперед >></a>
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Galen
Galen
сообщение 16.7.2009, 18:56; Ответить: Galen
Сообщение #2


Можно. Я бы добавил ещё один div с onclick и менял бы ссылку в нём (куда переходить) вместе с картинками.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
juckoff
juckoff
Topic Starter сообщение 17.7.2009, 14:33; Ответить: juckoff
Сообщение #3


спасибо, так и сделал, но с циклом проблема, подскажите плиз что не так в фнкции open_window?

<script>

var slide = new Array;
var pictureName = new Array("flower[1].jpg", "flower[2].jpg", "flower[3].jpg", "flower[4].jpg");

for (var i = 0; i < pictureName.length; i++) {

slide[i] = new Image();
slide[i].src = pictureName[i];
}

var m = new Array(0, 100);
var nextImage = 0;
var t = "";


function next(step) {

if (t != "") return;

m[0] = 0;
m[1] = 100;

nextImage = nextImage + step;

if (nextImage == pictureName.length) {

nextImage = 0;
}

if (nextImage == -1) {

nextImage = pictureName.length - 1;
}


document.getElementById("after").src = slide[nextImage].src;

change_slide();

}

function change_slide() {

m[0] += 1;
m[1] -= 1;

document.getElementById("before_div").style.opacity = m[1]/100;
document.getElementById("after_div").style.opacity = m[0]/100;
document.getElementById("after_div").style.filter="alpha(opacity="+m[0]+")";
document.getElementById("before_div").style.filter="alpha(opacity="+m[1]+")";

t = setTimeout("change_slide()",5);
if (m[0] > 98) {

clearTimeout(t);
document.getElementById("before").src = slide[nextImage].src;
document.getElementById("before_div").style.opacity = 100;
document.getElementById("before_div").style.filter="alpha(opacity=0)";
t = "";
}

}

function open_window(w,h)
{
var win = "width="+w+",height="+h+",menubar=no,location=no,resizable=no,scrollbars=no";
newWin = window.open(slide[nextImage].scr,"newWin",win);
newWin.focus();
}

</script>

<style>

.pic { position: absolute; top: 100px; left: 100px }
a.navigation { text-decoration: none }

</style>


<div onClick="javascript:open_window('flower[1].jpg','800','600')"">
<div id="after_div" class="pic">
<img id="after" src="flower[2].jpg">
</div>
<div id="before_div" class="pic">
<img id="before" src="flower[1].jpg">
</div>
</div>

<a href="javascript:next(-1)" class="navigation"><< Назад</a> <a href="javascript:next(1)" class="navigation">Вперед >></a>


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужен рерайтер-новостник по теме шоу-бизнес.
5 treward 2910 12.11.2017, 13:35
автор: VDcopywriter
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыВыполняю различные действия с изображениями (также делаю слайд-шоу)
13 Russ33 3384 23.6.2016, 1:19
автор: Russ33
Открытая тема (нет новых ответов) где найти такой плагин ? (слайд с фоном за картинкой)
2 coma 3576 6.9.2012, 19:52
автор: -coma2-
Открытая тема (нет новых ответов) Помогите вставить слайд-шоу в шапку сайта на WordPress.
0 userlinz1 9201 19.7.2012, 5:03
автор: -userlinz1-
Открытая тема (нет новых ответов) Нужно доработать слайд-шоу на jQuery и css - добавить ссылки к картинкам
1 klimentino 3828 2.1.2012, 19:14
автор: -klimentino-


 



RSS Текстовая версия Сейчас: 23.4.2024, 20:55
Дизайн