Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.11.2009, 11:23
Новичок на форуме
Отправить личное сообщение для baskerville Посмотреть профиль Найти все сообщения от baskerville
 
Регистрация: 25.11.2009
Сообщений: 3

Скрипт меняющихся картинок из внешнего js-файла
Есть скрипт меняющихся картинок.

<script>
        function RandomNumber(d) {
           return Math.floor((d+1)*Math.random());
        }        
    var images = new Array("img/01.jpg","img/02.jpg","img/03.jpg");

    function RandomGraphics() {
        document.write("<img src='"+images[RandomNumber(images.length-1)]+"' align=center hspace=10></a>");   
    }
RandomGraphics();
</script>


Это прописывание почему-то не даёт эффекта и ничего соответственно не подгружается:

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


Как заставить этот скрипт работать из внешнего js-файла?
Ответить с цитированием
  #2 (permalink)  
Старый 26.11.2009, 14:15
Новичок на форуме
Отправить личное сообщение для baskerville Посмотреть профиль Найти все сообщения от baskerville
 
Регистрация: 25.11.2009
Сообщений: 3

Люди, ну отпишитесь кто-нибудь? Помогите.
Ответить с цитированием
  #3 (permalink)  
Старый 26.11.2009, 15:00
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Теги script во внешних файлах не нужны.
Ответить с цитированием
  #4 (permalink)  
Старый 26.11.2009, 15:45
Новичок на форуме
Отправить личное сообщение для baskerville Посмотреть профиль Найти все сообщения от baskerville
 
Регистрация: 25.11.2009
Сообщений: 3

Kolyaj, нереальное спасибо. Работает!
Ответить с цитированием
  #5 (permalink)  
Старый 21.12.2009, 21:40
Новичок на форуме
Отправить личное сообщение для GhostWolf Посмотреть профиль Найти все сообщения от GhostWolf
 
Регистрация: 21.12.2009
Сообщений: 5

У меня похожая тема. Объясните пожалуйста, где баг.

Код:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript"> 

var images=new Array(new image(), new image(), new image(), new image()); 
images[0].src="0.gif"
images[1].src="1.gif"
images[2].src="2.gif"
images[3].src="3.gif"

function getRandom(min, max)
{
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

function rotate(){
 d0=getRandom(0,3);
 document.i0.src=document.images[d0].src
 do {
  d1=getRandom(0,3);
  document.i1.src=document.images[d1].src
 }while (d0==d1)
 
 do {
  d2=getRandom(0,3);
  document.i2.src=document.images[d2].src
 }while ((d0==d2)||(d1==d2))
 
  do {
  d3=getRandom(0,3);
  document.i3.src=document.images[d3].src
 }while ((d0==d3)||(d1==d3)||(d2==d3))
 
 alert(d0+"  "+d1+"  "+d2+"  "+d3);

}

 </script>
 <p><img name=i0 onclick="rotate()" src="0.gif"><img name=i1 onclick="rotate()" src="1.gif"></p>
 <p><img name=i2 onclick="rotate()" src="2.gif"><img name=i3 onclick="rotate()" src="3.gif"></p>
 <input type="button" value="rotate" onClick="rotate()">
</HEAD>
</HTML>
Генератор работает исправно, но картинки меняются совершенно непредсказуемо. Мне необходимо, чтобы они случайно тасовались, но не повторялись.

Последний раз редактировалось GhostWolf, 22.12.2009 в 08:37. Причина: очепяточка)
Ответить с цитированием
  #6 (permalink)  
Старый 21.12.2009, 22:44
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от GhostWolf
Мне необходимо, чтобы они случайно тасовались, но не повторялись.
была такая тема. Ссылка
Ответить с цитированием
  #7 (permalink)  
Старый 22.12.2009, 08:26
Новичок на форуме
Отправить личное сообщение для GhostWolf Посмотреть профиль Найти все сообщения от GhostWolf
 
Регистрация: 21.12.2009
Сообщений: 5

Фишка не в реализации алгоритма. Генератор случайных исправно выдает результаты (о чем сообщает блок Alert) Фишка в том, что картинки назначаются по непонятным мне закономерностям, часто игнорируя результат рандома.
В этом можно убедится, если запустить страницу с 4я разными картинками.

Единственная закономерность, которую я обнаружил при работе лишь с одной картинкой: она меняется на любую, исключая ту, что была в начале. Замена имени, а так же ввод дополнительных картинок к результату не приводят, либо скрипт и вовсе отказывается работать.
Просьба: человек, разбирающийся в JS, найдите баг, пожалуйста. Мне еще туеву хучу лаб делать, а осталась неделя =)
Ответить с цитированием
  #8 (permalink)  
Старый 22.12.2009, 19:31
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

просто ппц лентяи вы все аж помогать не хочется.
function rotate(){

var a=[],i;
for(i=0;i<4;i++) {
  a.push(images.splice(Math.rand()*images.length,1));
  document['i'+i].src=a[i].src;
  }
images = a;
}
Ответить с цитированием
  #9 (permalink)  
Старый 22.12.2009, 22:35
Новичок на форуме
Отправить личное сообщение для GhostWolf Посмотреть профиль Найти все сообщения от GhostWolf
 
Регистрация: 21.12.2009
Сообщений: 5

PeaceCoder, зря вы про лень. Я честно старался два вечера. Ну не знаю я JS (справочник смотрел, но во времени я ограничен и начинать с hello world и т.д. уже поздно) и отладчика к нему нема. В этом плане в ассемблере и то приятней писать.
Спасибо за строчку
document['i'+i].src=a[i].src;


Я так понял, по логике, частным ее случаем будет
document[i2].src="0.gif"

И этот случай должен работать по-любому. Просто у меня опять ничего не работает Может руки кривые. Вы не ругайтесь, я не волшебник, я только учусь. У нас препод на любой вопрос отвечает: там все написано. Вот и пляши как хочешь
Ответить с цитированием
  #10 (permalink)  
Старый 22.12.2009, 22:45
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от GhostWolf
Я так понял, по логике, частным ее случаем будет
частным случаем будет document.iN.src = a[N].src

Последний раз редактировалось PeaceCoder, 22.12.2009 в 22:50.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пжлста, найти (или написать) скрипт для смены картинок. Artweb Работа 9 25.02.2011 11:28
Скрипт вывода текста из файла yarunga Общие вопросы Javascript 6 06.05.2010 15:08
Не вызывается функция из внешнего js Danie Ваши сайты и скрипты 6 14.10.2009 11:19
Помогите создать скрипт замены картинок при наведении курсора. SantaS Я не знаю javascript 3 05.06.2009 12:59
Загрузка файла средставми js twolf Общие вопросы Javascript 8 21.10.2008 18:34