Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   скрипт галереи (https://javascript.ru/forum/jquery/17282-skript-galerei.html)

THER1ON 14.05.2011 16:09

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 совместить с теми галерейными скриптами, ссылки на которые я выкладывал несколькими постами раньше. ты тоже попробуй допилить код, пожалуйста)

dmitriymar 14.05.2011 16:12

причём проверки не успел ? вещь элементарная ведь
if( $f = fopen('name.txt','a+')) { ...... }
else {.........}

0931454574 14.05.2011 16:52

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>

0931454574 14.05.2011 16:53

dmitriymar,
И что? если открылся то функция возращает true и продолжается работа, что не нравится?

0931454574 14.05.2011 16:55

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);

dmitriymar 14.05.2011 16:57

Цитата:

Сообщение от 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, не важно запишется или нет !как всё запущенно....

THER1ON 14.05.2011 17:28

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/.."

dmitriymar 14.05.2011 17:35

это не точки

0931454574 14.05.2011 17:36

THER1ON,
в пхп скрипте измени просто строку

$r= mt_rand(3,$count);

на $r= mt_rand(3,$count-1);

что нужно? напиши список !

THER1ON 14.05.2011 17:56

dmitriymar,
а что тогда?) видимо мой идентификатор точек сбоит...
0931454574,
я сразу изменил, как ты написал. только всё равно выскакивают неработающие изображения. т.е. это подправить, сделать, что бы изображение менялось не по setInterval, а по клику. и, вроде, всё... эффект какой-нить, например fade, привинтить, но это мелочь, на самом деле.

UPD: и ещё, самое первое изображение, которое появляется при загрузки страницы, тоже должно быть случайным
UPD2: onclick я сделал.


Часовой пояс GMT +3, время: 07:51.