View Full Version : نمايش عكس در صفحه وب به صورت Random
payamix
12 September 2004, 08:56 PM
<SCRIPT LANGUAGE="JavaScript">
var theImages = new Array()
theImages[0] = '1.gif'
theImages[1] = '2.gif'
theImages[2] = '3.gif'
theImages[3] = '4.gif'
var j = 0
var p = theImages.length;
var preBuffer = new Array()
for (i = 0; i < p; i++){
preBuffer[i] = new Image()
preBuffer[i].src = theImages[i]
}
var whichImage = Math.round(Math.random()*(p-1));
function showImage(){
document.write('<img src="'+theImages[whichImage]+'">');
}
</script>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
showImage();
</script>
houtanal
12 September 2004, 09:56 PM
آقا براي برنامه هاتون توضيح هم بگذاريد بهتره
توضيح كد بالا:
در خط اول متغييري با نام theimage از نوع يك آرايه جديد تعريف شده(يه آرايه با اين نام ساخته شده)
در چهار خط بعد به خانه هاي آرايه مقدار (در اينجا اسم عكس) داده شده
در خط بعد متغييري به نام j تعريف شده كه ازش استفاده هم نشده :o
در خط بعد متغيير p تعريف شده و با تعداد خانه هاي آرايه مقدار دهي شده(X.length=For array count)
در خط بعد آرايه جديدي به نام prebuffer تعريف شده كه در خطوط بعد با استفاده از حلقه for به اون مقدار دهي شده
متغيير whichimage وظيفه نگه داري يك عدد تصادفي را بر عهده دارد (Math.random is for create random number)
تابع showimage هم كار خاصي جز نمايش عكس انجام نمي دهد
در صفحه هم كه تنها اين تابع فراخواني شده
سئوالي بود بپرسين براي مطالعه www.w3schools.com
8)
payamix
12 September 2004, 10:01 PM
خيلي ممنون براي توضيح كامل شما
البته من خودم از جاوا خوشم نمياد :P
payamix
12 September 2004, 10:08 PM
اينم php :wink: :
<?
$dir = "";
function Get_Image_list($dir) {
if(!$dir) {
$dir = ".";
}
$file_array = array();
$dir_handle = opendir($dir);
$a = 0;
while($file = readdir($dir_handle)) {
if((preg_match('/jpg/',$file)) ||
(preg_match('/png/',$file)) ||
(preg_match('/gif/',$file)) ||
(preg_match('/jpeg/',$file))) {
$file_array[$a] = $file;
$a++;
}
}
return $file_array;
}
$files = Get_Image_list($dir);
$max = count($files)-1;
srand((double)microtime()*1000000);
$index = rand(0,$max);
$image_name = $files[$index];
echo("<IMG SRC=\"".$image_name."\">");
?>
توي اين برنامه احتياجي به ذكر نام تك تك فايل ها نيست ...
houtanal
12 September 2004, 10:18 PM
حال توضيح اين يكي رو ندارم كد رو بخوننين سئوال بود بپرسين
payamix
12 September 2004, 10:29 PM
سوال من:
اين دستور چه ميكند ؟
$a++;
رها
13 September 2004, 02:53 AM
اين دستور متغير a$ رو يك واحد افزايش مي دهد.
به قرينه اون دستور --a$ يك واحد از متغير مي كاهد.
البته به تناسب اينكه ++ قبل يا بعد از متغير باشد ممكن است نتيجه فرق كند.
vBulletin v3.7.1, Copyright ©2000-2008, Jelsoft Enterprises Ltd.