14.05.2011, 16:09
|
Интересующийся
|
|
Регистрация: 24.05.2009
Сообщений: 19
|
|
0931454574,
во-первых, ещё раз спасибо тебе, что откликнулся. единственный человек с форума.
смотри, как у меня работает.
только к чему вся морока с php и txt, если мой предыдущий код работл так же и без ошибок (а нынешний периодически сбоит, не могу разобраться почему)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Random Image</title>
</head>
<body>
<div id="reload">
<a href="index.html"><img src="images/image_0.jpg" align="middle" border="0" name="RandomImg" ></a></div>
<script language="JavaScript">
<!--
// Genarate random value from 0-5
var rand_no = Math.floor(6*Math.random());
// This defines the source of the preview image (For example images/image_0.jpg)
document.images['RandomImg'].src="images/image_" + rand_no + ".jpg";
// -->
</script>
</body>
</html>
и по-прежнему картинка меняется только при полном обновлении страницы.
сейчас я попробую твой random.php совместить с теми галерейными скриптами, ссылки на которые я выкладывал несколькими постами раньше. ты тоже попробуй допилить код, пожалуйста)
|
|
14.05.2011, 16:12
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
причём проверки не успел ? вещь элементарная ведь
if( $f = fopen('name.txt','a+')) { ...... }
else {.........}
Последний раз редактировалось dmitriymar, 14.05.2011 в 16:21.
|
|
14.05.2011, 16:52
|
Человек
|
|
Регистрация: 10.03.2011
Сообщений: 305
|
|
THER1ON,
Дополнить, в смысле без перегрузки оновление сделать? Тогда так.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<TITLE>0931454574.blogspot.com</TITLE>
<META name="content-Type" content="text/html; charset=windows-1251">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function()
{
good();
});
function good()
{
setInterval(random,3000);
}
function random( )
{
$.post("random.php", { name: "John", time: "2pm" },
function(data){
//alert("Data Loaded: " + data);
$("#images").attr("src",data);
});}
</script>
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251">
</head>
<body>
<img src="image/1.jpg" id="images">
</body>
</html>
__________________
XYZ
|
|
14.05.2011, 16:53
|
Человек
|
|
Регистрация: 10.03.2011
Сообщений: 305
|
|
dmitriymar,
И что? если открылся то функция возращает true и продолжается работа, что не нравится?
__________________
XYZ
|
|
14.05.2011, 16:55
|
Человек
|
|
Регистрация: 10.03.2011
Сообщений: 305
|
|
THER1ON,
То что нужно?
Посмотрел, изменения внесены)
Одно изображение не показывается, нужно узнать почему.
Самый простой вариант добавить в javascript вывод и имени файла, чтобы увидеть какой отсутствует! И уже от этого плясать
Вот вариант
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<TITLE>0931454574.blogspot.com</TITLE>
<META name="content-Type" content="text/html; charset=windows-1251">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function()
{
good();
});
function good()
{
setInterval(random,3000);
}
function random( )
{
$.post("random.php", { name: "John", time: "2pm" },
function(data){
//alert("Data Loaded: " + data);
$("#images").attr("src",data);
$("#button").attr("value",data);
});}
</script>
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251">
</head>
<body>
<img src="image/1.jpg" id="images">
<input type="button" name="true" value = "ok" id="button">
</body>
</html>
Понял что не показывает))
берет значение последнего поля в массиве имен, а оно значение количества имен. Так что просто в пхп удалить последнее поля из массива имен.
в пхп скрипте измени просто строку
$r= mt_rand(3,$count);
на $r= mt_rand(3,$count-1);
__________________
XYZ
Последний раз редактировалось 0931454574, 14.05.2011 в 17:04.
|
|
14.05.2011, 16:57
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от 0931454574
|
function write_new_name($file)
{
// Считаем сколько файлов
//новые записи добавляются в существующий файл
$f = fopen('name.txt','a+');
$file = "$file\r\n";
fwrite($f,$file);
fclose($f);
// закрывать файл функцией fclose не обязательно, но рекомендуется
// возвращает true если все прошло ок.
return true;
}
|
всегда будет true, не важно запишется или нет !как всё запущенно....
|
|
14.05.2011, 17:28
|
Интересующийся
|
|
Регистрация: 24.05.2009
Сообщений: 19
|
|
0931454574,
я не успеваю отвечать, как ты быстро изменения вносишь)
вот содержание name.txt:
.
3.jpg
5.jpg
4.jpg
..
2.jpg
6.jpg
1.jpg
видимо random.php переодически даёт ссылку на точки. не понятно, откуда они берутся в массиве...
и ещё я хотел сделать функцию random() на <img src="image/1.jpg" id="images" onclick="">, но у меня не получается. можешь это тоже подправить?
UPD: в консоли firebug нашёл подтверждение - random.php даёт "image/.."
Последний раз редактировалось THER1ON, 14.05.2011 в 17:34.
|
|
14.05.2011, 17:35
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
это не точки
|
|
14.05.2011, 17:36
|
Человек
|
|
Регистрация: 10.03.2011
Сообщений: 305
|
|
THER1ON,
в пхп скрипте измени просто строку
$r= mt_rand(3,$count);
на $r= mt_rand(3,$count-1);
что нужно? напиши список !
__________________
XYZ
|
|
14.05.2011, 17:56
|
Интересующийся
|
|
Регистрация: 24.05.2009
Сообщений: 19
|
|
dmitriymar,
а что тогда?) видимо мой идентификатор точек сбоит...
0931454574,
я сразу изменил, как ты написал. только всё равно выскакивают неработающие изображения. т.е. это подправить, сделать, что бы изображение менялось не по setInterval, а по клику. и, вроде, всё... эффект какой-нить, например fade, привинтить, но это мелочь, на самом деле.
UPD: и ещё, самое первое изображение, которое появляется при загрузки страницы, тоже должно быть случайным
UPD2: onclick я сделал.
Последний раз редактировалось THER1ON, 14.05.2011 в 18:11.
|
|
|
|