Scripteki sorun

Kodla Büyü

safi6003

Seçkin Üye
Seçkin Üye
Mesajlar
286
Merhaba arkadaşlar elimde şöyle bir kod var ve çalışmakta ancak sorun şu ki haftanın günlerine ait olan sayı değerlerine göre resimler yanlış geliyor.Örnek olarak haftanın günlerinden cuma ise resim olarak salı gününe ait olan geliyor.Açmam gerekirse haftanın günlerine göre nöbet çizelgesi hazırladım ve pazartesi gününe pazartesi gününe ait olan 1 nolu resim gelmesi gerekirken bir karışıklık var ve çarşamba güne ait olan resim geliyor.Sorunu nasıl çözebilirim?
Kod:
    <script

language="JavaScript">

 
<!-- Begin

var today = new Date();

var day = today.getDay();

var stime=new Date();

stime.setFullYear(2014,11,0);

var hafta=Math.floor((today-stime)/(1000*60*60*24*7));//0 11 2014 den sonra geçen hafta sayısı

arday = new Array( 


"resimler/nobetci/1.png",
"resimler/nobetci/2.png", 
"resimler/nobetci/3.png",
 "resimler/nobetci/4.png",
 "resimler/nobetci/5.png",
"resimler/nobetci/6.png", 
"resimler/nobetci/7.png"


);

document.write("<img src='" + arday[(day+hafta%7) %7] + "'>");

// End -->

</script>
 
Kod:
document.write("<img src='" + arday[(day+hafta%7) %7] + "'>");
kodundaki day+hafta%7 kısmı bence day+hafta * 7 olacak.
 
Yakup hocam dediğinizi yaptım ancak bu seferde bugün pazar olmasına rağmen pazartesi günü nöbet listesini görüntüledi.Demiştim ama haftanın ilk günü pazar kabul edince yani resimlerin glme sırasında en başa pazar gününün resmini getirince düzeldi.Şu an için sorunsuz çalışıyor.Çok teşekkür ederim.
 
Sayın hocam,
Nöbet çizelgeniz her hafta değişiyor mu yoksa liste haftalık olup, tüm ay ya da nöbetçiler değişene kadar aynı mı kalıyor?
Eğer nöbet çizelgeniz sabitse aşağıdaki gibi de o günün nöbetçisini gösterebilirsiniz.
Kod:
<script language="JavaScript">
<!-- Begin
var d = new Date();
var n = d.getDay();
arday = new Array( 
"resimler/nobetci/1.png",
"resimler/nobetci/2.png", 
"resimler/nobetci/3.png",
"resimler/nobetci/4.png",
"resimler/nobetci/5.png",
"resimler/nobetci/6.png", 
"resimler/nobetci/7.png"
);

document.write("<img src='" + arday[n] + "'>");

// End -->

</script>
1.png pazar gününe ait olmalı.
 
yakuphan' Alıntı:
Sayın hocam,
Nöbet çizelgeniz her hafta değişiyor mu yoksa liste haftalık olup, tüm ay ya da nöbetçiler değişene kadar aynı mı kalıyor?
Eğer nöbet çizelgeniz sabitse aşağıdaki gibi de o günün nöbetçisini gösterebilirsiniz.
Kod:
<script language="JavaScript">
<!-- Begin
var d = new Date();
var n = d.getDay();
arday = new Array( 
"resimler/nobetci/1.png",
"resimler/nobetci/2.png", 
"resimler/nobetci/3.png",
"resimler/nobetci/4.png",
"resimler/nobetci/5.png",
"resimler/nobetci/6.png", 
"resimler/nobetci/7.png"
);

document.write("<img src='" + arday[n] + "'>");

// End -->

</script>
1.png pazar gününe ait olmalı.
Çizelgemiz sabit her gün için farklı öğretmen gurubu var.
 
kodu uzatmışsınız denemedim ama şu şekilde çalışması lazım..

0->pazar
1->pazartesi
şeklinde

Kod:
<script language="JavaScript">

<!-- Begin
var bugun = new Date();

document.write("<img src='resimler/nobetci/" + bugun.getDay() + ".png'>");

// End -->
</script>
 
Kod:
     <script

language="JavaScript">

 
<!-- Begin

var today = new Date();

var day = today.getDay();

var stime=new Date();

stime.setFullYear(2008,10,0);

var hafta=Math.floor((today-stime)/(1000*60*60*24*7)); //0 01 2010 den sonra geçen hafta sayısı

arday = new Array( 

"resimler/nobetci/6.png",
"resimler/nobetci/0.png",
"resimler/nobetci/1.png", 
"resimler/nobetci/2.png", 
"resimler/nobetci/3.png",
"resimler/nobetci/4.png",
"resimler/nobetci/5.png" 



);

document.write("<img src='" + arday[(day+hafta*7) %7] + "'>");

// End -->

</script>

Arkadaşlar bu şekilde sıkıntısız çalışmakta.Resimleri 6.png ile başladım çünkü 6. haftayı pazar günü ile başlattım.O zaman sorunsuz çalıştı.Yardımcı olan tüm öğretmenlerime çok teşekkür ederim.Burada ki sorunu hallettik ama başka bir sorun daha var.Günlük ders programı yayınlamak istiyorum ama şöyle bir sorunum var.16 adet sınıf var ve panoda onların derslerini göstermek için yeterli yer yok.Gün ve ssate göre yani pazartesi günü 1. derste hangi sınıftalar göstermek için nasıl birşey yapabilirm.Lcd pano uygulamasında öğretmenim çok güzel yapmış ama tabi biz bunu scriptlerile nasıl yaparız.Güne göre çağırabiliyoruz ama saatide işin içine nasıl alacaz hadi yaptık çağarttığımız tablo panoda yine sığmayacaktır onu nasıl kayan hale getirecez gibi bir sürü sorun var :)
 
Kod:
<html>
<body>
<div style="font-size:24px"><a href="javascript:iptal()">DURDUR</a></div>

<div id="Zaman" style="font-size:24px"></div>
<div id="Ders" style="font-size:24px"></div>
<div id="Tablo" style="font-size:24p"></div>


<script language="JavaScript">
<!-- Begin
// derslerin başlangıç saatleri
var saat=new Array(
"08:30",  // 1.Ders başlangıç saati
"08:40",  // 2.Ders başlangıç saati
"09:00",  // 3. Ders başlangıç saati
"09:10",  // 4. Ders başlangıç saati
"10:17",  // 5. Ders başlangıç saati
"10:18",  // 6. Ders başlangıç saati
"10:33",  // 7. Ders başlangıç saati
"10:34",  // 8. Ders başlangıç saati
"10:35",  // 9. Ders başlangıç saati
"10:36",  // 10. Ders başlangıç saati
"11:00"   // son dersin bittiği saati buraya yazın
);

var saatler=new Array();

function toDate(dStr,format) {	
	var now = new Date();
	if (format == "h:m") {
		//now.setFullYear("2014","11","19");
 		now.setHours(dStr.substr(0,dStr.indexOf(":")));
 		now.setMinutes(dStr.substr(dStr.indexOf(":")+1));
 		now.setSeconds(0);
 		return now.getTime();
	}else 
		return "Invalid Format";
	}

//kurulmuş timerı durdur
function iptal() {
  clearInterval(myVar);
}

//Her 1 snde çalışacak fonksiyon. 
function myTimer() {

  //güncel saat bilgisi
  var d = new Date();  
  document.getElementById("Zaman").innerHTML = "Saat : " + d.toLocaleTimeString();
  
  var tmp_str="";
  var kontrol=false;
  
  for (var i=0;i<saatler.length;i++) {
  kontrol=saatler[i] > d.getTime();  
  if (kontrol==true) {
	ders=i;
	//console.log("İ " + i);
	document.getElementById("Ders").innerHTML=i + " .ders";
	break;
	}
  else {
	document.getElementById("Ders").innerHTML="DERS DIŞI ZAMAN";
  }
  }  
}
  


//saat dizisini karşılaştırma için dönüştürüp yeni diziye ekle
for (var i=0;i<saat.length;i++) {
	//alert(toDate(saat[i],"h:m"));
	saatler.push(toDate(saat[i],"h:m")) ;
}
//console.log("Dönüşmüş saatler " + saatler);


//saatleri sayfaya ekle
//saatler.length-1  son saat bilgisi bitiş saati olduğu için ekranda görünmesine gerek yok.
var tmp_str="";
for (var i=0;i<saatler.length-1;i++) {
	tmp_str=tmp_str + "<hr>" + saat[i];
	
}
document.getElementById("Tablo").innerHTML=tmp_str;

//console.log("Dönüşmüş saatler " + saatler);
//her 1 snde çalışacak myTimer fonksiyonu kur
var myVar=setInterval(function () {myTimer()}, 1000);

// End -->

</script>
</body>
</html>
bu kodları dener misin? saat dizisini kendinize göre ayarlamayı unutmayın.
 
Kod:
<html>
<head>
<meta charset="utf-8" />
<style>
div {
	font-size:18px;
}
</style>
</head>
<body>
<div><a href="javascript:iptal()">DURDUR</a></div>

<div id="Zaman"></div>
<div id="Ders"></div>
<Div id="Bilgi"></Div>
<div id="Tablo"></div>

</body>

<script language="JavaScript">
<!-- Begin

// [Gün , DersSaati] ="MAT:5-A , TÜRKÇE:5-B , FEN:6-A"
//8 saat derse göre 
var dersProgrami = [];
dersProgrami[0]="";

// 1. gün Pazartesi
dersProgrami[1]=[];
dersProgrami[1][1]= "MAT:5-A , TÜRKÇE:6-A , FEN:7-A";
dersProgrami[1][2]= "MAT:5-A , TÜRKÇE:6-A , FEN:7-A";
dersProgrami[1][3]= "MAT:5-B , TÜRKÇE:6-B , FEN:7-B";
dersProgrami[1][4]= "MAT:5-B , TÜRKÇE:6-B , FEN:7-B";
dersProgrami[1][5]= "MAT:5-C , TÜRKÇE:6-C , FEN:7-C";
dersProgrami[1][6]= "MAT:5-C , TÜRKÇE:6-C , FEN:7-C";
dersProgrami[1][7]= "MAT:5-D , TÜRKÇE:6-D , FEN:7-D";
dersProgrami[1][8]= "MAT:5-D , TÜRKÇE:6-D , FEN:7-D";

//2. gün Salı
dersProgrami[2]=[];
dersProgrami[2][1]= "MAT:6-A , TÜRKÇE:7-A , FEN:5-A";
dersProgrami[2][2]= "MAT:6-A , TÜRKÇE:7-A , FEN:5-A";
dersProgrami[2][3]= "MAT:6-B , TÜRKÇE:7-B , FEN:5-B";
dersProgrami[2][4]= "MAT:6-B , TÜRKÇE:7-B , FEN:5-B";
dersProgrami[2][5]= "MAT:6-C , TÜRKÇE:7-C , FEN:5-C";
dersProgrami[2][6]= "MAT:6-C , TÜRKÇE:7-C , FEN:5-C";
dersProgrami[2][7]= "MAT:6-D , TÜRKÇE:7-D , FEN:5-D";
dersProgrami[2][8]= "MAT:6-D , TÜRKÇE:7-D , FEN:5-D";
//console.log(dersProgrami);



// derslerin başlangıç saatleri
var saat=new Array(
"08:30",  // 1.Ders başlangıç saati
"08:40",  // 2.Ders başlangıç saati
"09:00",  // 3. Ders başlangıç saati
"09:10",  // 4. Ders başlangıç saati
"22:26",  // 5. Ders başlangıç saati
"22:27",  // 6. Ders başlangıç saati
"22:28",  // 7. Ders başlangıç saati
"22:29",  // 8. Ders başlangıç saati
"23:00"   // son dersin bittiği saati mutlaka en sona yazın
);

var saatler=new Array();

function toDate(dStr,format) {   
   var now = new Date();
   if (format == "h:m") {
      //now.setFullYear("2014","11","19");
      now.setHours(dStr.substr(0,dStr.indexOf(":")));
      now.setMinutes(dStr.substr(dStr.indexOf(":")+1));
      now.setSeconds(0);
      return now.getTime();
   }else 
      return "Invalid Format";
   }

//kurulmuş timerı durdur
function iptal() {
  clearInterval(myVar);
}

//Her 1 snde çalışacak fonksiyon. 
function myTimer() {  
  var d = new Date();  
  gun=d.getDay();
  document.getElementById("Zaman").innerHTML = "Saat : " + d.toLocaleTimeString();  
  var tmp_str="";
  var kontrol=false;  
  for (var i=0;i<saatler.length;i++) {
  kontrol=saatler[i] > d.getTime();  
  if (kontrol==true) {
   ders=i;
   document.getElementById("Ders").innerHTML=gun + ". Gün  ---  " + i + " .ders" ;
   document.getElementById("Bilgi").innerHTML=dersProgrami[gun][i];
   break;
   }
  else {
   document.getElementById("Ders").innerHTML="DERS DIŞI ZAMAN";
  	}
  }   
}

//saat dizisini karşılaştırma için dönüştürüp yeni diziye ekle
for (var i=0;i<saat.length;i++) {
   //alert(toDate(saat[i],"h:m"));
   saatler.push(toDate(saat[i],"h:m")) ;
}
//console.log("Dönüşmüş saatler " + saatler);


//saatleri sayfaya ekle bu bölüm silinebilir
//saatler.length-1  son saat bilgisi bitiş saati olduğu için ekranda görünmesine gerek yok.
var tmp_str="";
for (var i=0;i<saatler.length-1;i++) {
   tmp_str=tmp_str + "<hr>" + saat[i];
   
}
document.getElementById("Tablo").innerHTML=tmp_str;
//////////////////////////////////////////////////////////////////////////////////////

//her 1 snde çalışacak myTimer fonksiyonu kur
var myVar=setInterval(function () {myTimer()}, 1000);
// End -->
</script>
</html>
 
Geri
Üst