Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Рандомное слайд шоу
 
 автор: Druid   (26.09.2008 в 20:22)   письмо автору
 
 


<img alt="Случайный скриншот" border=0 name=SlideShow> 

<script language=javascript> 
var slideShowSpeed = 30000; // время смены картинки в миллисекундах 
var crossFadeDuration = 3; 
var Pic = new Array(); 

Pic[0] = '/img1/.jpg'; 
Pic[1] = '/img/2.jpg'; 

var t; 
var j = 0; 
var p = Pic.length; 
var preLoad = new Array(); 
for (i = 0; i < p; i++){ 
    preLoad[i] = new Image(); 
    preLoad[i].src = Pic[i]; 

function runSlideShow(){ 
    if (document.all){ 
        document.images.SlideShow.style.filter='blendTrans(duration=2)'; 
        document.images.SlideShow.style.filter='blendTrans(duration=crossFadeDuration)'; 
        document.images.SlideShow.filters.blendTrans.Apply(); 
    } 
    document.images.SlideShow.src = preLoad[j].src; 
    if (document.all){ 
        document.images.SlideShow.filters.blendTrans.Play(); 
    } 
    j = j + 1; 
    if (j > (p - 1)) j=0; 
    t = setTimeout('runSlideShow()', slideShowSpeed); 

runSlideShow(); 
</script> 


Как сделать чтоб слайд шоу было рандомным и все рисунки в папке /img сами присваивались масиву?

  Ответить  
 
 автор: PAT   (26.09.2008 в 22:38)   письмо автору
 
   для: Druid   (26.09.2008 в 20:22)
 

Javascript'y информация о папках на сервере недоступна - Javascript работает только с информацией, загруженной в браузер.

Поэтому "рандомный" вывод картинок из папки сервера может быть осуществлен только на сервере и только серверными же средствами.

  Ответить  
 
 автор: вялый   (26.09.2008 в 22:50)   письмо автору
 
   для: PAT   (26.09.2008 в 22:38)
 

возможно имена картинок лежат в каком то фиксированном диапазоне, и JS знает границы этого диапазона. Тогда - возможно

  Ответить  
 
 автор: вялый   (26.09.2008 в 23:29)   письмо автору
 
   для: Druid   (26.09.2008 в 20:22)
 

может так
<img alt="Случайный скриншот" border="0" name="SlideShow">  

<script language=javascript>  
var slideShowSpeed = 30000; // время смены картинки в миллисекундах  
var crossFadeDuration = 3;  
var Pic = new Array();  

Pic[0] = '/img1/.jpg';  
Pic[1] = '/img/2.jpg';  

var p = Pic.length;  
var preLoad = new Array();  
for (i = 0; i < p; i++){  
    preLoad[i] = new Image();  
    preLoad[i].src = Pic[i];  
}  
function runSlideShow(){  
    if (document.all){  
        document.images.SlideShow.style.filter='blendTrans(duration=2)';  
        document.images.SlideShow.style.filter='blendTrans(duration=crossFadeDuration)';  
        document.images.SlideShow.filters.blendTrans.Apply();  
    }  
    var j=Math.floor(Math.random()*p);   
    document.images.SlideShow.src = preLoad[j].src;  
    if (document.all){  
        document.images.SlideShow.filters.blendTrans.Play();  
    }  
setTimeout(runSlideShow,slideShowSpeed);  
}  
runSlideShow();  

>все рисунки в папке /img сами присваивались масиву
это, как уже сказал PAT, через клиентский JS сделать невозможно

  Ответить  
 
 автор: Druid   (27.09.2008 в 00:00)   письмо автору
 
   для: вялый   (26.09.2008 в 23:29)
 

за рандом спасиб..)

а можно както совместить переменные пхп и явы?

  Ответить  
 
 автор: Druid   (28.09.2008 в 18:28)   письмо автору
 
   для: Druid   (27.09.2008 в 00:00)
 

Ребят а может есть возможность както уменьшыть писанину? Чтоб ето не писать, картинок просто оч много((

Pic[0] = '/topimg/0.jpg'; 
Pic[1] = '/topimg/1.jpg'; 
Pic[2] = '/topimg/2.jpg'; 
Pic[3] = '/topimg/3.jpg'; 
Pic[4] = '/topimg/4.jpg'; 
Pic[5] = '/topimg/5.jpg'; 
Pic[6] = '/topimg/6.jpg'; 
.......

  Ответить  
 
 автор: вялый   (28.09.2008 в 18:55)   письмо автору
 
   для: Druid   (28.09.2008 в 18:28)
 

for(i=0;i<7;i++)
   {Pic[i]='/topimg/'+i+'.jpg';
  }

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования