Div'lerin Yüksekliklerini Eşitlemek

onur89tr
06-03-2013, 17:43   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
2 mesaj
Kayıt Tarihi:Kayıt: Eki 2012

Merhaba arkadaşlar. Site http: // www. akcay 37 .com (Boşluklar olmadan)
Ben sitede görmüş olduğunuz footer (sitenin alt kısmı) bölümünün hemen üzerine WordPress widget'i eklemek istiyorum. Fakat bu widget'lerin yükseklikleri her satırdaki (her satırda 4 adet widget olacak) en yüksek widget'in yüksekliğine göre olmalı. Çünkü öbür türlü dağılıyor ve iyi bir görüntü vermiyor. Tablo ile de istediğim sonuca ulaşamadım ve kendimce bir şeyler denedim. Programlama bilgim var fakat JS ve jQuery bilgim az. Problemli de olsa şöyle bir kod yazdım:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
var dongu=$('#Tum #OrtaIcerik #AltSidebar .widget-container').size(); var satir=0; var k=0; var l=0; var yuk=new Array(); var enb=new Array(); for (var i=0; i<dongu; i++) { if ((satir*4>dongu) && ((satir-1)*4<dongu)) { l=l+1; } k++; if (((i+1>3) && ((i+1)%4==0)) "" (((satir*4>dongu) && ((satir-1)*4<dongu)) && (l==1))) { satir=satir+1;//satır sayısı artıyor k=0;//yükseklik değeri başa döndü } yuk[k]=$("#Tum #OrtaIcerik #AltSidebar .widget-container").eq(i).height(); if ((i+1>3) && ((i+1)%4==0)) { //(üçten büyük ise ve dördün katlarıysa) $("#Tum #OrtaIcerik #AltSidebar .widget-container").eq(i).css("margin-right","0px"); } if (((i+1>3) && ((i+1)%4==0)) "" (((satir*4>dongu) && ((satir-1)*4<dongu)) && (l==1))) { enb[satir] = Math.max(yuk[k],yuk[k+1],yuk[k+2],yuk[k+3]); yuk=0; $("#Tum #OrtaIcerik #AltSidebar .widget-container").eq((satir-1)*4+k).height(enb[satir]); $("#Tum #OrtaIcerik #AltSidebar .widget-container").eq((satir-1)*4+k+1).height(enb[satir]); $("#Tum #OrtaIcerik #AltSidebar .widget-container").eq((satir-1)*4+k+2).height(enb[satir]); $("#Tum #OrtaIcerik #AltSidebar .widget-container").eq((satir-1)*4+k+3).height(enb[satir]); } if (k>3) { k=0; } }
Bu kod ile her ne kadar her satırın en uzun bileşenine göre yükseklikleri ayarlamak istesem de sadece ilk satırda işe yaradı. Bu kod üzerinden mantık kurarak eksiklerini giderebilir veya yeni bir kod yazabilir misiniz? Bilgili ve ilgili arkadaşlara teşekkürler şimdiden.

onur89tr
07-03-2013, 13:11   |  #2  
OP Taze Üye
Teşekkür Sayısı: 0
2 mesaj
Kayıt Tarihi:Kayıt: Eki 2012

Kastım ve çözdüm arkadaşlar. Yeni kodlar şöyle:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
$(document).ready(function() { var dongu=$('#Tum #OrtaIcerik #AltSidebar .widget-container').size(); var k=0; var k2=0; var j=0; var j2=0; var l; var l2; var l3; var l4; var n=0; var n2=0; var yukler; var yuk=new Array(); var yuk2=new Array(); var yuk3=new Array(); var bir=new Array(); var enb=new Array(); for (var i=0; i<dongu; i++) { yuk.push ($("#Tum #OrtaIcerik #AltSidebar .widget-container").eq(i).height()); } for (var i2=0; i2<dongu; i2+=4) { l=j2*4-1; l2=(j2+1)*4; n=4; if ((k+1)%4!=0) { j2=j2+1; } else if ((l<dongu) && (l2>dongu)) { n=l2-l-1; } yuk2[k]=(yuk.slice(i2,i2+n)); enb[k] = Math.max.apply(null, yuk2[k]); k=k+1; } for (var i3=0; i3<dongu; i3++) { l3=j*4-1; l4=(j+1)*4; n2=4; $("#Tum #OrtaIcerik #AltSidebar .widget-container").eq(i3).height(enb[j]); if ((k2+1)%4==0) { j=j+1; $("#Tum #OrtaIcerik #AltSidebar .widget-container").eq(i3).css("margin-right","0px"); } else if ((l<dongu) && (l2>dongu)) { n2=l4-l3-1; } k2=k2+1; } });

Son Düzenleme: onur89tr ~ 07 Mart 2013 13:14