Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Need For Speed World Site > Программирование > Нужна помощь по Javascript

Автор: LNV 17.04.2007 - 15:08
Начиаю с общего. Задумка такая: скрипт берёт, например, изображения из определённой папки на сервере и загружает их на страницу. (это то легко, но...) Требуется, чтобы при добавлеии в папку изображения с порядковым номером на 1 больше последнего, он автоматом добавлялсяч на страницу без её редактирования, и так до бесконечности. (то есть условние окончания выполнения скрипта задаётся отсутствием следующего файла).
Как вы считаете, насколько подобное осуществимо?

Автор: K1llM@n 17.04.2007 - 16:53
Вполне осуществимо, но требуется запускать этот скрипт периодически (например, раз за 1 час). Он каждый заново считывает данные и заносит новые при условии их появления (условие появления пробивается по типу названия, может сохранятся в отделном файле и сверятся с названиями изображений по их порядковому числу, т.е. создается так называемый массив данных номер-название изображения, а по нему идет загрузка на странице).

Автор: © Лёлик 17.04.2007 - 17:02
2LNV
Я же говорил уже, что на JavaScript нет функции проверки существования файла на сервере!
На сколько я знаю конечно _)

Автор: LNV 17.04.2007 - 17:08
2K1llM@n
думал об этом, но как на пытаюсь написать, никак не выходит. Ещё трабл собственно говоря в том, что с явой я пока не на «ты» smile.gif

   Добавлено спустя 2 минуты 18 секунд:
2© Лёлик
ну не проверки существованиЯ, а например: <img src="" onload='javascript: add()' onError='javascript: stop()'> smile.gif

Автор: © Лёлик 17.04.2007 - 20:03
В таком случае последний рисунок загрузится, и будет крестик с ошибкой. А это не есть гут! Короче хз, пробовать надо )

Автор: Zloy Lex 17.04.2007 - 22:05
2LNV
Принципиально важно, чтобы это делал javascript? Помоему лучше, чтобы это выполнял код ПХП (конечно, если он используется).

Автор: LNV 17.04.2007 - 22:10
2© Лёлик
да.. вот в этом то и трабл.. но со стилями можно поиграть. можно было бы при ошибке загрузки сделать файл невидимым (чтобы не отображался крестик) но поле шибки уже занято... rolleyes.gif

   Добавлено спустя 1 минуту 10 секунд:
2Zloy Lex
вот в том то и трабл, что а php это осуществимо достаточно легко, а вот на яве трудноВАТА smile.gif
да, надо только на яве

Автор: Zloy Lex 17.04.2007 - 22:31
2LNV
Для реализации задачи могут использоваться функции работы с файлами и директориями. А их JavaScript не имеет. Например определить существует ли файл или посчитать кол-во файлов в директории не получиться.
Так что если ограничиваться JavaScript-ом, то я вижу только 2 варианта. Хранить кол-во файлов либо их список. На основе этого можно сриптом сгенерировать хтмл-код и вставить на необходимое место хтмл-документа.

ЗЫ если вдруг я в чем-то ошибаюсь — прошу прощения. я web-программированием давно не занимался и мог что-то подзабыть. smile.gif

Автор: LNV 18.04.2007 - 14:35
вот, у меня получилось что-то вроде этого, но почему-то onload не выполняется.. (отображается только первый скрин) может пишу не так? rolleyes.gif
var x=1;
function addon() {x++};
function add() {document.write («<img src=http://localhost/qqq/images_s/»+i+«.jpg onLoad='javascript: addon()'>»+ « »)};
for (i=1; i==x; i++) { add()};

Автор: Zloy Lex 18.04.2007 - 15:22
2LNV
Конечно не так.
Смотри что ты делаешь. Ты инициализируешь переменную X единицей. В цикле условие окончания у тебя i==x. Т.к. i изначально единица, то цикл выполняеться один раз. smile.gif

   Добавлено спустя 9 минут 3 секунды:
Вообще идея интересная. Но я пока сомниваюсь что она сработает. redface.gif

   Добавлено спустя 20 минут 15 секунд:
Кстати еще кое-что не правильное. А именно алгоритм.
Вот подумай, если все это заработает, то когда закончиться добавление картинок? smile.gif Т.к. следующая картинка прогружаться должна при загрузке текущей, получаеться бесконечный цикл.

ЗЫ document.write не добавляет, а изменяет содержание.

Автор: © Лёлик 18.04.2007 - 20:12
Цитата (Zloy Lex @ 18.04.2007 — 18:22)
ЗЫ document.write не добавляет, а изменяет содержание.

юзай
< div id=lialialia > рисунки < / div>
А потом програмно на яве прибавляй к значению этого lialialia новую картиночку

Автор: LNV 18.04.2007 - 20:40
2Zloy Lex
Цитата
В цикле условие окончания у тебя i==x.

это хренова. я надеялся, что проверка на окончаие идёт после выполнения команда, а не до неё.
Цитата
Вообще идея интересная. Но я пока сомниваюсь что она сработает.

сменил i==x на i>=x Результат: первые 15 скринов, которые были в папке отобразились, а потом нет, и так до заполнения буфера, а именно 5 с лишним косарей ссылок biggrin.gif
Цитата
Вот подумай, если все это заработает, то когда закончиться добавление картинок?

во замысле добавление картинок должно было быть закончено, когда нарушается условие i==x (но как оказалось, в этом есть траблы)
Цитата
ЗЫ document.write не добавляет, а изменяет содержание.

не, не извеняет, он просто пишет, и пишет каждый аз заного, так что тут всё норм.
2© Лёлик
если будет время, можешь чуточку поподробнее?

Автор: Zloy Lex 18.04.2007 - 20:52
2LNV
Цитата (LNV @ 18.04.2007 — 20:40)
не, не извеняет, он просто пишет, и пишет каждый аз заного, так что тут всё норм.

А пиатьт заного и изменять на новое — не одно и тоже ? smile.gif

2LNV
Цитата (© Лёлик @ 18.04.2007 — 20:12)
юзай < div id=lialialia > рисунки < / div> А потом програмно на яве прибавляй к значению этого lialialia новую картиночку

Я думаю он имел ввиду следующее:
Цитата
document.getElementById(«lialialia»).innerHTML = document.getElementById(«lialialia»).innerHTML + «<img src.....>»;

innerHTML — это содержание тэга. в данном примере слово «рисунки »
Еще есть подобные: innerText, value ...

Автор: © Лёлик 18.04.2007 - 21:02
Ну вот делаешь стиль такой допустим
Цитата
< div id=cool > < img src=«1.gif» border=0 > < /div >

Для того чтобы получить содержание этого куска cool
Цитата
kusochek = document.getElementById(«cool»).value;

В переменную kusochek у тебя поместить всё что между div. Тип этой переменной строка => смело добавляем ещё один рисунок и присваем значению:
Цитата
kusochek = kusochek+ «< img src='2.gif' border=0 >»;
document.getElementById(«cool»).style.display = kusochek;

надеюсь понятно объяснил )
   Добавлено спустя 42 секунды:
2Zloy Lex
Да именно так )
   Добавлено спустя 36 секунд:
2LNV
Вместо таких « кавычек ставь двойную "

Автор: Zloy Lex 18.04.2007 - 21:20
Цитата (LNV @ 18.04.2007 — 20:40)
во замысле добавление картинок должно было быть закончено, когда нарушается условие i==x (но как оказалось, в этом есть траблы)

Траблы не только в этом. У тебя переменная x увеличиваеться при загрузке очередной картинки, а цикл, в котором эта переменная используется, выполняеться один раз при загрузке страницы.
Вообщем если я правильно понял твой «замысел» spiteful.gif smile.gif , то скрипт должен выглядеть примерно так:
Цитата
...
  var folder = «./img/»;
  var x = 1;
  function AddIMG(){
      document.getElementById(«lialia»).innerHTML = document.getElementById(«lialia»).innerHTML + «<img src='» + folder + x + «.jpg' onLoad='javascript:AddIMG();' >»;
      x++;
  }
...
<div id=«lialia»></div>

Но ты, думаю, сам можешь увидеть, что конца этому нет, т.к. кол-во файлов — нигде не проверяеться.
В этом и заключается основная проблема твоей задачи. JavaScript не имеет функций работы с файлами. Т.е. нет способов проверить «существует ли файл» или «сколько файлов в папке», как, к примеру, можно сделать на том же PHP.

Автор: LNV 18.04.2007 - 23:41
А как же условие onerror? оно перекрывает (отключает) oтload или нет?
Цитата
В этом и заключается основная проблема твоей задачи. JavaScript не имеет функций работы с файлами. Т.е. нет способов проверить «существует ли файл» или «сколько файлов в папке», как, к примеру, можно сделать на том же PHP.

да знаю.. я ад этой проблемой уже с месяц, если не бошльше сижу, и вот лишь сейчас решил посоветоваться. smile.gif

Автор: Zloy Lex 19.04.2007 - 00:23
Цитата (LNV @ 18.04.2007 — 23:41)
А как же условие onerror? оно перекрывает (отключает) oтload или нет?

onerror отрабатывает при ошибке в скрипте, а ошибки ведь нет. Скрипт всего навсего добавляет заданный текст в заданное место. И все несуществующие файлы (картинки) для скрипта тоже только текст. Он их добавит и мы увидим пустые квадратики с крестиком smile.gif .
Поидее все именно так. dontknow.gif

ЗЫ чесное слово. я не вижу иного решения проблемы, как хранить кол-во или перечень файлов. dontknow.gif

Автор: Levis 19.03.2008 - 23:58
Помогите плз)) У меня ЯваСкрипт не пашет)) прогу фиг установишь

Автор: RESTARTER 20.03.2008 - 00:28
Это что? Вопрос? Утверждение? В чём проблема то?Какая прога?

Need For Speed World Site 2003 - 2024
https://www.nfsko.ru/forum