PDA

View Full Version : سوال: وجود اسلایدشو در صفحم و عدم نمایش آن!!!!!!!



masooodj67
یک شنبه 01 اردیبهشت 1392, 09:57 صبح
سلام دوستان در صفحم میخام اسلاید بگذارم ولی وقتی این کار رو میکنم جواب نمیگیرم اینم کدش



<html>
<head>
<style type="text/css">
.auto-style1 {
width: 100%;
}
</style>
<script type="text/javascript">
var width = 100%;
var height = 500;
var imgAr1 = new Array();
var rImg1 = new Array();

imgAr1[0] = "008.jpg";
imgAr1[1] = "kia-optima.jpg";
imgAr1[2] = "url.jpg";
imgAr1[3] = "saman.jpg";

for(var j = 0; j < imgAr1.length; j++)
{
rImg1[j] = new Image();
rImg1[j].src = imgAr1[j];
}

document.onload = setting();

var slide;
function setting()
{
slide = document.getElementById('pic');
slide.src = imgAr1[0];
slide.setAttribute("width",width);
slide.setAttribute("height",height);
}

//Image or picture slide show using java script
//slideshow function
var picture = 0;
function Next(){
if(picture < imgAr1.length-1){
picture=picture+1;
slide.src = imgAr1[picture];
}
}

function prev(){
if(picture > 0 ){
picture=picture-1;
slide.src = imgAr1[picture];
}
}

function start(){
slide.src = imgAr1[0];
picture = 0;
}

function end(){
slide.src = imgAr1[imgAr1.length-1];
picture = imgAr1.length-1
}
</script>
</head>
<body>
<table class="auto-style1">
<tr>
<td style="height: 500px" valign="top"><img id="pic" alt="" src="008.jpg" /></td>
</tr>
<tr>
<td>
<table class="auto-style1">
<tr>
<td style="text-align: center"><a style="color: blue; cursor: pointer;" href="#" onclick="start()">Start</a></td>
<td style="text-align: center"><a style="color: blue; cursor: pointer;" href="#" onclick="Next()">Next</a></td>
<td style="text-align: center"><a style="color: blue; cursor: pointer;" href="#" onclick="prev()">Prev</a></td>
<td style="text-align: center"><a style="color: blue; cursor: pointer;" href="#" onclick="end()">End</a></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

masooodj67
دوشنبه 02 اردیبهشت 1392, 09:53 صبح
ممنون از دوستانی که لااقل پست رو تماشا کردن ولی من خودم مشکل رو فهمیدم.فقط دوستان بهم بگید اگر میدونید چرا قسمت تعریف توابعم رو میگذارم بعد تعریف المانهای html صفحم درست جواب می گیرم ولی اگر توابع رو در قسمت head قرار بدم خیر.چرا؟هان چرااااا؟

hakim22
چهارشنبه 04 اردیبهشت 1392, 15:17 عصر
به این دلیل که اول محتویاط درون Head در Browser لود میشه و بعد محتویاط درون Body و چون کد شما درون Head قرار گرفته به محض لود شدن میخواد اجرا بشه و چون هنوز محتویاط Body ساخته نشدن در حقیقت هیچ شی نیست که jQuery بتونه بهش دسترسی پیدا کنه.

اگر کد رو در آخر بزارید این مشکل رو نخواهید داشت. راه دیگش هم اینه که کدهای jQury یا JavaScript رو درون متد


$(document).ready(function(){
کدهای شما
});


قرار بدید تا همیشه بعد بازگذاری کامل صفحه لود بشه

الگوریتم هر Browser در بارگذاری مطالب درون صفحه کمی فرق داره و بدون این کد عملا در بعضی موارد به خطا برخورد می کنید.