Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > слайд шоу со ссылками


Автор: KetchOzzy 15.5.2009, 17:31
есть задание - слайд шоу, картинки меняются и каждая картинка это ссылка на другую страницу. само слайд шоу я сделал, просто каждую секунду меняются картинки - нулевая, первая, вторая, и потом заного по кругу

Код

<script language="JavaScript">

i=0;
img_a=new Array();   
img_a[0]=new Image();
img_a[1]=new Image();
img_a[2]=new Image();


img_a[0].src="pic0.jpg"; 
img_a[1].src="pic1.jpg";  
img_a[2].src="pic2.jpg"; 


document.write("<img src='pic0.jpg'>");

i=0;

function img_b()      
                     
{
document.images[0].src=img_a[i].src;

i++;
if(i==3) i=0;
setTimeout("img_b()", 1000); 
                           
                             
                             
}
img_b();
</SCRIPT>


а вот сделать чтобы картинка 0 ссылалась на сайт 0, картинка 1 на сайт 1, картинка 2 на сайт 2, я не смог и уже намучился  начинается все хорошо: картинка 0 и картинка 1 работают, а вторая уже тупо не появляется  цикл тот же самый же.
Код

<script language="JavaScript">
<!--
i=0;
img_a=new Array();   
img_a[0]=new Image();
img_a[1]=new Image();
img_a[2]=new Image();

img_a[0].src="pic_0.jpg"; 
img_a[1].src="pic_1.jpg";  
img_a[2].src="pic_2.jpg"; 

function img_b()                 
{

document.write("<a href='sait_"+i+".html'><img src='pic_"+i+".jpg'></a>");
i++;
if(i>2) i=0;
setTimeout("img_b()", 1000); 
                             
                              
                             
}

img_b();

</SCRIPT>



Автор: Sanek123 25.5.2009, 15:36
Во-первых скрипт какой-то у тебя сомнительный, даже читать не хочется...
Попробуй так, для примера:
Код

<script language="JavaScript">

<!--
var
  t=0;
  imagemass = new Array("1.jpg","2.jpg","3.jpg");

function funcff()

{
 if (t>2)
    {
     t=0;
     image.src=imagemass[t];
    }

    else

    {
     image.src=imagemass[t];
     t=t+1;
    }
}

function funcrw()
{
 if (t<0)
    {
     t=2;
     image.src=imagemass[t];
    }

    else

    {
     image.src=imagemass[t];
     t=t-1;
    }
}
// -->
</script>

Понятно что imagemass - это твое img_a.
Далее, в html-коде напиши:
Код

<BODY >

<center>


<img name="image" src="3.jpg" alt="foto previwe" border="2" height="200" width="180"
    onmouseover="window.status'Просмотр изображений'"
    onmouseout="window.status''">
<br><br>

<input type="button" name="button1" value="    <<    " 
    onmouseup="funcrw();" 
    onmouseover="window.status='Предыдущее изображение'"
    onmouseout="window.status=''">

<input type="button" name="button2" value="    >>    " 
    onmouseup="funcff();"
    onmouseover="window.status='Следующее изображение'"
    onmouseout="window.status=''">


</center>
</body>

а в скрипт добавь строчки:
Код

<script language="JavaScript">

<!--
var
  t=0;
  imagemass = new Array("1.jpg","2.jpg","3.jpg");

function funcff()

{
 if (t>2)
    {
     t=0;
     image.src=imagemass[t];
         window.open(t+".html");
    }

    else

    {
     image.src=imagemass[t];
         window.open(t+".html");
     t=t+1;
    }
}

function funcrw()
{
 if (t<0)
    {
     t=2;
     image.src=imagemass[t];
         window.open(t+".html");
    }

    else

    {
     image.src=imagemass[t];
         window.open(t+".html");
     t=t-1;
    }
}
// -->
</script>
 
Теперь при нажатии на кнопку будет открыватся новое окно с соответствующим url. Здесь в качестве параметров функции window.open() можешь указать где будет открыта ссылка, в новом или в прежнем окне и т.д. А кнопочки для того чтоб видно было где в коде сидит косяк.
Далее...:
Утебя по твоему коду грузиться будут только странички с именами 1.html, 2.html и т.д. Поправим это безобразие - введем еще один массив ссылок:
Код

  linkemass = new Array("news.html","soft.html","hard.html");

Уберем нафиг кнопки, и зациклим процедуру слайд-шоу, а для открытия страниц используем новую процу funcopen() при нажатии на картинку.
В конечном итоге код будет иметь следующий вид:
Код

<html>

<head>

<title></title>
<script language="JavaScript">

<!--
var
  t=0;
  imagemass = new Array("news.jpg","soft.jpg","hard.jpg");
  linkemass = new Array("news.html","soft.html","hard.html");

function funcff()

{
 if (t>2)
    {
     t=0;
     image.src=imagemass[t];
    }

    else

    {
     image.src=imagemass[t];
     t=t+1;
    }
setTimeout("funcff();", 1000);
}

function funcopen()

{
         window.open(linkemass[t]);
}

// -->
</script>
</head>

<BODY onload="funcff();">

<img name="image" src="3.jpg" alt="foto previwe" border="2" height="200" width="180"
onclick="funcopen();">
<br><br>

</center>
</body>

</html>






Автор: mr.Anderson 25.5.2009, 16:41

M
mr.Anderson
Модератор: название темы должно содержать язык написания!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)