Web-мастер: курс молодого бойца

Jquery загрузка случайной строки в див из файла

   

 Добавлено 2009-11-10 18:50:36



Сообщений: 166
Зарегистрирован: 06.01.2008

Цитировать
Помогите разобраться
код:
<style type="text/css">
#field{
    width:170px;
    display:block;
    border:1px solid #900000;
    min-height:100px;
    background:url(./loader.gif)no-repeat 50% 50%;
    font-family:verdana;
    padding:5px;
    font-size:12px;
    color:#404040;
}
</style>

<script type="text/javascript">

$(document).ready(function(){
    $("a").click(function(){
        $("#field").css({"background" : "#FFF","padding" : "5px"});
        $("#field").load("./files/text_001.txt");
    })
})
</script>

<div id="field"></div>
<a href="#">загрузить</a>

Вообщем задача такая.
Есть папка "files" с текстовыми файлами.
Не могу понять каким образом можно
подгружать содержимое дива с ID="field"
содержимым случайного текстового файла с
этой папки, без перезагрузки страницы.

P.S.
В принципе можно было бы реализовать, показ
случайной строки из одного текстового файла.

Спасибище огроменное откликнувшимся :)


http://www.hoster24.ru/billing/aff.php? - САМЫЙ ЛУЧШИЙ ХОСТИНГ
Наверх  Посмотреть профиль   Отредактировано автором 10.11.2009

 Добавлено 2009-11-13 09:09:28
evgenijj
Модератор




Сообщений: 1371
Зарегистрирован: 09.11.2007

Цитировать
А что тебя смущает? Тут есть два варианта - делаем асинхронный запрос на сервер скрипту getContentRandomFile.php
$(document).ready(function(){
    $("a").click(function(){
        $("#field").load("getContentRandomFile.php");
    })
})
Серверный скрипт с помощью функции readdir() читает содержимое директории (фильтруя директории, в том числе . и ..), выбирает случайный файл функцией rand() и отдает его содержимое.

Второй вариант - при формировании страницы мы создаем средствами PHP JavaScript-массив с именами файлов, а когда нам надо загрузить содержимое случайного файла в div, выбираем имя этого файла из массива с помощью JavaScript-функции random().


Денежные купюры пронумерованы для того, чтобы когда-нибудь я мог сложить их все одну к одной, по порядку.
Наверх  Посмотреть профиль   Сайт автора Отредактировано автором 13.11.2009

 Добавлено 2009-11-13 14:27:08



Сообщений: 166
Зарегистрирован: 06.01.2008

Цитировать
evgenijj

хорошо, у меня получилось вот так:

index.php:


<?
<html>
<
head>
<
title></title>
<
script type="text/javascript" src="jquery.js"></script>
<style type="text/css">
#field{
    width:170px;
    display:block;
    border:1px solid #900000;
    min-height:100px;
    background:url(./loader.gif)no-repeat 50% 50%;
    font-family:verdana;
    padding:5px;
    font-size:12px;
    color:#404040;
}
</style>
<script type="text/javascript">

$(document).ready(function(){
    $("a").click(function(){
        $("#field").css({"background" : "#FFF","padding" : "5px"});
        $("#field").load("qwe.php");
    })
})
</script>
</head>
<body>
<div id="field"></div>
<a href="#">загрузить</a>
</body>
</html>
?>


qwe.php:

<?
$cont 
file("anekdot.txt");
$max count($cont);
$i rand(0$max);
echo 
$cont[$i];
?>

анекдот загружается сразу. А как сделать паузу в 2 сек, что бы крутился в диве значок загрузки, чтобы было ощущение загрузки? А то он (анекдот вылетает сразу)?


http://www.hoster24.ru/billing/aff.php? - САМЫЙ ЛУЧШИЙ ХОСТИНГ
Наверх  Посмотреть профиль   Отредактировано автором 13.11.2009

 Добавлено 2009-11-14 10:09:22
evgenijj
Модератор




Сообщений: 1371
Зарегистрирован: 09.11.2007

Цитировать
KUKURIKAN пишет:
А как сделать паузу в 2 сек, что бы крутился в диве значок загрузки, чтобы было ощущение загрузки? А то он (анекдот вылетает сразу)?
Функция sleep()

P.S. У тебя ошибка в серверном скрипте. Допустим, файл anekdot.txt содержит пять строк:
0 первая строка
1 вторая строка
2 третья строка
3 четвертая строка
4 пятая строка

Если $i=5 получим обращение к несуществующему элементу массива.


Денежные купюры пронумерованы для того, чтобы когда-нибудь я мог сложить их все одну к одной, по порядку.
Наверх  Посмотреть профиль   Сайт автора Отредактировано автором 14.11.2009
   
Быстрый ответ
 
Цвет шрифта: Закрыть все теги
Сообщение
Защитный код