Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Javascript / DHTML / Ajax

Cevapla
 
LinkBack Seçenekler
Eski 06/09/2004, 12:55   #1 (permalink)
Cevizci
 
Üyelik Tarihi: 09/2004
Mesaj: 77
Varsayılan checkbox seçme

javascript te 30 günlük ve 52 ayrı saat - dakikadan olusan (7.00 dan 24.00 a kadar 20 şer dakikalık ara ile) 30 x 52 = 1560 checkbox tan olusan tablo m var.bu check boxları gruplayarak secmek istiyorum.
for (i=0;i<len;i++){
if (checkbox.gun==01){
checked=true
}
}
yapınca for dongusunu hepsinde dondurup gun u 01 olanları seciyor bu bir yontem sekli fakat ortada 1560 checkbox olunca cok yavas oluyor.
bende soyle bir yotem sectim

grup=saattablo.all[value];
len=grup.length;
for (i=0;i<len;i++){
checkboxname=grup[i].checkboxn;
saattablo.all[checkboxname].checked=true;
}
burada <span lar yerleştirdim her checkbox un yanina onlardan mesela
select(gun01) yaptıgımda span degerlerinin id yerlerinde gun01 olanları cıkarıyor ve seciyor bunda len degeri secilecek checkbox kadar oluyor fakat bu da bence bir cozum degil. Daha light basit bir yolla yapılabilmeli.
Birde bunları digelim benim yaptıgım ikinci yolla yaptım fenada olmadı fakat fonksiyon gerceklesirken adım adım gitmiyor tamamını bitirdikten sonra checkboxları seciyor. Bunları adım adım sectirmenin bir yolu yokmu. Bunu ozellikle istememin sebebi belki buyuk secimlerde yukleniyor tablosu cıkartacam. Daha güzel olur boyle .
Birde array lerle ilgili bir sorum var.
arraylede array[x]=x (for dongusu icinde diyelim yazdım) oradaki birinci x i yazmasam kendisi sıra numarası veremiyormu.
arrayleri numarasal olarak nasıl düzenleyebiliyoruz (sort) arraylerden nasıl silme yapabiliyoruz.
Cevaplarınızı bekliyorum.
Herkese şimdiden teşekkürler
ahmet_sayin hatta değil   Alıntı Yaparak Yanıtla
Eski 06/09/2004, 17:17   #2 (permalink)
Varlığa izin veren boşluk
 
anov Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Yer: İstanbul
Mesaj: 2,824
Varsayılan

merhaba ahmet_sayin;
yükleniyor tablosu position :absolute olan bir div ile gayet rahat yapılabilir.
içinde bir tablo olur. hatta bir saniye godoro da bu işle ilgili bir örnek vardı
http://www.godoro.com/Divisions/Ehil...ogressBar.html
array sıralamak için sort adında bir metot vardır şimdi referans tan baktım da
JS bu iş için çok çok çok güzel bir yol sunmakta.şöyle ki sort metodu parametre olarak bir fonksiyon ismi alabiliyor.
fakat uzun uzadıya anlatamayacağım ama harika bir yöntem
her zaman yaptığımız gibi yine referansımıza link verelim
http://devedge.netscape.com/library/...1.5/reference/
ayrıca indirmek için
http://devedge.netscape.com/library/...erenceJS15.zip
orada array.html içinde (Array konusu) sort metotu ayrıntılı anlatılıyor.Değil numerik verileri iki boyutlu bir dizide Prof. Dr. Doçent gibi sadece insanların anlayacağı ünvan sıralamalarını bile JS ile yapmak mümkün
sort metotunun aldığı parametre sayesinde
iyi niyet ve yardım seninle olsun.
anov hatta değil   Alıntı Yaparak Yanıtla
Eski 07/09/2004, 15:58   #3 (permalink)
Cevizci
 
Üyelik Tarihi: 09/2004
Mesaj: 77
Varsayılan

yani checkbox gruplamak mumkun degilmi.
ayrıca preload scriptini inceledim. Öyle tam olarak verimli bir preload cubugu elde edilmezki. Şöyle olsa diyelim yukleme tablosu genişliği 200 px ve ben bu checkboxların sececegim kadarın toplam sayısını buldum diyelim 100 checkbox for döngüsünde o checkboxları secerken bir çarpım bolum islemi uygulayarak bir işlem yaparken 2 px artacak yukleme tablosu . Böyle yaparak tam gerçek yukleme tablosu meydana cıkar fakat for dongusu icinde yazdıgım işlemler ve fonksiyon çalıştırmalar adım adım degil for dongusu bittikten sonra ekranda gosteriyor. For dongusu icinde adım adım işlem yaptırmak mumkun degilmi. İşte böyle birşey varsa cok iyi olur.
Şimdiden cevaplarınız için teşekkürler.
ahmet_sayin hatta değil   Alıntı Yaparak Yanıtla
Eski 08/09/2004, 13:00   #4 (permalink)
Cevizci
 
Üyelik Tarihi: 09/2004
Mesaj: 77
Varsayılan

ya arkadaşlar bana yardımcı olan yokmu.
niye cevap yazan yok.
cokmu zor soru sordum.
Eger yeni üyelere sabır testi uyguluyoruz diyorsanız. Ben aslında eski uyeyim. Uyelik ismimi unuttum. Bende yeni uye oldum.
Hatta www.ceviz.net önceden farklı bir site tasarımı vardı. Site olarak.
Yani ama ayrımcılık yapıyorsunuz eger yeni üye kısıtlaması yapıyorsanız.
ahmet_sayin hatta değil   Alıntı Yaparak Yanıtla
Eski 08/09/2004, 15:26   #5 (permalink)
Varlığa izin veren boşluk
 
anov Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Yer: İstanbul
Mesaj: 2,824
Varsayılan

tekrar merhaba ahmet_sayin;
soru zor değil ama ah bir vaktim olsa..
yeni üye / eski üye ayrımı falan yok nereden çıkarıyorsun bunları
(en azından ben hiç görmedim diyeyim - hani ceviz adına konuşma hakkım olmadığı için)
"sabır testi uyguluyoruz" yazan arkadaş sanırım %99 şaka amaçlı söylemiştir.
gelelim for döngüsü sorusuna.
o verdiğim adres sadece örnekti pixel pixel saymana hiç gerek yok zaten elinde bir yüzde oranı varsa.
örnek vererek anlatırsam daha iyi.
100 adet checkbox var.
sen bunları seçtirirken 1 den 100 e kadar bir döngüden geçireceksin değil mi?
işte bu döngünün içinden yine senin yazacağın bir fonksiyon düşün JavaScript fonksiyonu. Adı da

yuzdelikOraniGoster(secilen_checkbox_sayisi , checkbox_sayisi)
secilen_checkbox_sayisi : O anda seçili olan chexbox sayısı (döngü değişkeninin değeri)
checkbox_sayisi : Toplam checkbox sayısı.

şimdi seçme işleminin % kaç tamamlandığını bulmak istiyorsak :
Kod:
var yuzde = Math.round( (secilen_checkbox_sayisi / checkbox_sayisi ) * 100 ) ;
buna göre yüzde ilerleme çubuğunu gösterirsin.
bu 100 olduğu zaman da div visibility yok edersin. işlem tamamlanmış olur.
kodu sana yazacam verecem (basit bir şey aslında) fakat zamanım yok işte zamanım olsa.
fakat bu mantık ile yazabilirsin.zaten önemli olan mantığı bulmaktır. koda aktarmak , hatalarla boğuşmak işin detayı değil midir?
iyi niyet ve yardım seninle olsun.
anov hatta değil   Alıntı Yaparak Yanıtla
Eski 08/09/2004, 20:28   #6 (permalink)
Varlığa izin veren boşluk
 
anov Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Yer: İstanbul
Mesaj: 2,824
Varsayılan

tekrar tekrar merhaba ahmet_sayin;
öncelikle özür dilerim. for döngüsü içinde görsel işlem yapmıyor dediğini ben ciddiye almamıştım fakat bu akşam (biraz önce ) denemek için bir kod yazdım ve dediğin gibi olduğunu gördüm.fakat ilginç tarafı for döngüsünün içine alert yazdığımda progress bar da ki ilerleme görünüyor.
Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Uzun seçim işlemlerinde ne yapalım</title>
<!--
Not : Kodlar tamamıyla bana ait değildir.
http://www.godoro.com/Divisions/Ehil/Mahzen/Web/Samples/txt/html/sample_WebProgressBar.html
adresinden Zafer Teker 'in kodlarından alıntı vardır.
Bu alıntılar
Godoro
/Godoro
işaretleri ile belirtilmiştir.
iyi niyet ve yardım bu kodu inceleyen ile olsun :-)
-->
<!--Godoro-->
<style>
  .progressBar{
    width:100px;
    border-style:solid;
    border-color:blue;
    border-width:1px;
  }
  .progressBar table{
    width:100%;
  }
  .bar{
    background:red;
    height:10px;
    width:80%;
  }
  .empty{
    background:white;
    height:10px;
    width:20%;
  }
}
</style>
<!--/Godoro-->
<script language="javascript">
	function sec_hepsini()
	{
		for(var i=0;i<check1.length;i++)
		{
			check1[i].checked = !check1[i].checked ;
			yuzde_goster(i,check1.length-1);
			alert(i);
		}
	}

	function yuzde_goster(secili,toplam)
	{
		var yuzde = Math.round(secili / toplam * 100) ;
		var kalan = 100 - yuzde ;
		/*Godoro*/
		var bar=document.getElementById("bar");
		var empty=document.getElementById("empty");
		bar.style.width=yuzde+"%";
		empty.style.width=kalan+"%";
		/* /Godoro */
	}
</script>
</head>
<body>
<!--Godoro-->
  <table class="progressBar" cellpadding=1 cellspacing=0>
  <tr>
  <td>
    <table cellpadding="0" cellspacing="0">
    <tr>
      <td class="bar" id="bar" style="width:0%"></td>
      <td class="empty" id="empty" style="width:100%"></td>
    </tr>
    </table>
  </td>
  </tr>
  </table>
<!--/Godoro-->
	<input type="button" value="Seç hepsini" onclick="javascript:sec_hepsini()">
	<hr>
	<input type="checkbox" id="check1">
	<input type="checkbox" id="check1">
	<input type="checkbox" id="check1">
	<input type="checkbox" id="check1">
	<input type="checkbox" id="check1">
	<input type="checkbox" id="check1">
	<input type="checkbox" id="check1">
	<input type="checkbox" id="check1">
	<input type="checkbox" id="check1">
</body>
</html>
yok mudur bunun yolu yahu
iyi niyet ve yardım seninle olsun.
anov hatta değil   Alıntı Yaparak Yanıtla
Eski 09/09/2004, 14:00   #7 (permalink)
Cevizci
 
Üyelik Tarihi: 09/2004
Mesaj: 77
Varsayılan

Kod:
function sec_hepsini(i)
	{
			check1[i].checked = !check1[i].checked ;
			yuzde_goster(i,check1.length-1);
i++;
if (i<check1.length{
setTimeout("sec_hepsini(\""+i+"\")",0);
}
		}
	}
sec_hepsini("0");
olunca oluyor aslında
ama pek tasnif edilecek bir kod yazılımı degil
düsün aynı anda iki grup checkbox kümesi secmek icin tabi bu fonksiyon eksik ben aslında su sekilde yapıyordum benim kaynak kodum boyle
Kod:
<span id=gunler checkboxn="checkbox id´si">
<span id=saatler checkboxn="checkbox id´si">
select(gunler,1); dedigimde span id´si gunler olan checkboxları seciyor.Bu checkboxları gruplamak için.

function select(value,type){
grup=saattablo.all[value];
len=grup.length;
if (type=='1'){
for (i=0;i<len;i++){
checkboxname=grup[i].checkboxn;
saattablo.all[checkboxname].checked=true;
}}
}
else if (type=='0'){
for (i=0;i<len;i++){
checkboxname=grup[i].checkboxn;
saattablo.all[checkboxname].checked=false;
}}
}
yani hem gunler grubunu hemde saatler grubunu secersem ikinci olarak saatler i secmem durumunda gunler işlemi duracak (sectigi kadar artık) diger işlem başlayacak.
nasıl olsun.
böyle olurmu.
yine dedigim gibi for dongusu icine calıştırma komutu eklense cok daha iyi olur.
Herşey için teşekkürler.
ahmet_sayin hatta değil   Alıntı Yaparak Yanıtla
Eski 09/09/2004, 18:31   #8 (permalink)
Varlığa izin veren boşluk
 
anov Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Yer: İstanbul
Mesaj: 2,824
Varsayılan

ahmet_sayin;
benim kod araya setTimeout ve recursion ile çalışıyor öyle mi?
ben ne denediysem başaramadım. çalıştırabildiğin kodu yapıştırabilir misin?
iyi niyet ve yardım seninle olsun.
anov hatta değil   Alıntı Yaparak Yanıtla
Eski 10/09/2004, 12:41   #9 (permalink)
Cevizci
 
Üyelik Tarihi: 09/2004
Mesaj: 77
Varsayılan

Dosyayı hazırlayıp ekte gönderdim.
Ama dedigim gibi pek tasnif edilecek bir yöntem degil.
Saniye olarak kıyaslama yaptıgımda setTimeout lu olan çok yavaş oluyor.
Yani tek artısı yükleniyor çubugunu göstermesi.
Ama önceki dedigim gibi olsa çok daha iyi olur.
Keşke öyle bir yol olsa.
Neyse herşey için sagol.
İyi Çalışmalar.
Eklenmiş Dosyalar
File Type: zip checkbox.zip (1.2 KB, 12 views)
ahmet_sayin hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
tum checkboxlari secme yastasinane Javascript / DHTML / Ajax 6 01/11/2004 16:22
Text seçme linki microware Javascript / DHTML / Ajax 2 04/08/2004 00:43
Ps 6 da birden fazla katmanı seçme trkaplan Photoshop / Corel / PSP 2 25/08/2003 00:47
Saclari secme Ridvan_C Photoshop / Corel / PSP 11 10/02/2003 23:13
Gene ilginç seçme saçmalar Sahin Hayata Dair 3 14/10/2002 16:14


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 19:34.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net