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

HTML+CSS+JavaScript

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

 

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

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

тема: Не работает книжка на JS
 
 автор: ToNic   (17.08.2006 в 00:37)   письмо автору
 
 

Осторожно! Жирный трафик картинок! Можете с начала отключить картинки в браузере.
На http://tonic.aviel.ru/Books у меня книжка.
Надо чтобы эти три HTM файла можно было просто кинуть в любую папку с фотками без изменений и всё сразу заработало. Хотя оглавление все равно придется редактировать... Видимо, проблема в определении номера картинки... Я JS плохо знаю, это ведь не VB, блокнот методы и свойства объектов не подскажет :^)

   
 
 автор: 12345   (17.08.2006 в 02:39)   письмо автору
 
   для: ToNic   (17.08.2006 в 00:37)
 

JS не умеет читать имена файлов в удалённом каталоге. Чтобы получить имена, их надо хотя бы перечислить в странице.
(HTML не смотрел и о постановке задачи не только догадываюсь.)

   
 
 автор: ToNic   (17.08.2006 в 10:14)   письмо автору
 
   для: 12345   (17.08.2006 в 02:39)
 

А вот и может, он алертами выдает. И файл не в удаленном каталоге а в соседнем фрейме.
Вот код:

<script language=JavaScript> 
var there=0
function back(){
there=strtoint(parent.frame2.document.location)
there=there-1
alert(parent.frame2.document.location)
gothere()
}
function forv(){
there=strtoint(parent.frame2.document.location)
there=there+1
alert(parent.frame2.document.location)
gothere()
}
function gothere(){
if there<100 {there='0'+there}
if there<10 {there='00'+there}
parent.frame2.document.location=there+'.jpg'
alert(parent.frame2.document.location)
}
</script>
<a target=frame2 href=oglavlenie.htm>Оглавление</a>
<button title=Назад onclick=back()><<<</button>
<button title=Вперед onclick=forv()>>>></button>

Это код http://tonic.aviel.ru/Books/D.Rodjers_algoritmi_mashinnoj_grafiki/Navigation.htm

   
 
 автор: servannin   (17.08.2006 в 12:01)   письмо автору
 
   для: ToNic   (17.08.2006 в 10:14)
 

Тоник, ты и в самом деле Тоник...

Тебе же человек по-русски сказал - 'JS не умеет читать имена файлов в удалённом каталоге'.
А ты про фреймы ... ты видишь какую-то связь между фреймами и удалёнными каталогами? :)

   
 
 автор: ToNic   (17.08.2006 в 18:13)   письмо автору
 
   для: servannin   (17.08.2006 в 12:01)
 

Знаю, но фотки не в удаленном каталоге!
Не в удаленном! В собственном! Читает в собственном! Читает, я проверял! Поблема вот в чем:
there=strtoint(parent.frame2.document.location)
Чем я должен заменить strtoint ?
Как из текстовой переменной выделить цифры и засунуть эти цифры в переменную типа Integer(целочисленную переменную)? В JS никаких типов нет, но надо заставить его превратить
"блаблабла/002.jpg" в 2, потом в 3 (прибавить 1), потом в "003", и потом в "003.jpg"!
Понятно? Как?!?! Как выделить из строки число? Это как команда VAL() в Бейсике

   
 
 автор: 12345   (17.08.2006 в 19:14)   письмо автору
 
   для: ToNic   (17.08.2006 в 18:13)
 

Он там читает document.location - .URL выведеного файла. А there=there-1 говорит, что это - число. strtoint() вытаскивает число из УРЛа. Например, если в пути других цифр нет, можете использовать
strtoint=function(s){return s.toString().replace(/\D/g,"");}


Поэтому в каталоге нужно специально поименовать рисунки. А читать любое имя рисунка JS не может. Как scandir() (PHP 5).

   
 
 автор: ToNic   (18.08.2006 в 00:00)   письмо автору
 
   для: 12345   (17.08.2006 в 19:14)
 

Извините пожалуйста за надоедливость...
Но так как вы сказали у меня не работает...
А сразу так можно? У меня вызывает ошибку...
there=there.tostring().replace(/\D/g,"")

Я конечно тут ламер, но может...
there=tostring(there).replace(/\D/g,"")

Или просто
there=there.replace(/\D/g,"")

   
 
 автор: 12345   (18.08.2006 в 01:11)   письмо автору
 
   для: ToNic   (18.08.2006 в 00:00)
 

Я не знаю, куда Вы его ставите и какую ошибку он вызывает.

   
 
 автор: ToNic   (18.08.2006 в 11:04)   письмо автору
 
   для: 12345   (18.08.2006 в 01:11)
 

Всё, 12345, уже никакую!
Это был приступ синдрома кривых рук.:^)
Теперь у меня ошибка здесь:

function gothere(){
if there<100 {there='0'+there}
alert(there)
if there<10 {there='00'+there}
alert(there)


Иф плохо написал?

   
 
 автор: ToNic   (18.08.2006 в 11:12)   письмо автору
 
   для: ToNic   (18.08.2006 в 11:04)
 

Скобки забыл! Супер! Всем спасибо!
Теперь всё пашет и поддерживает до 999 страниц!

   
Rambler's Top100
вверх

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