[Linux-programlama] Re: Listbox üstte kalıyor

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Mehmet Duran (mehmetd@kablonet.com.tr)
Date: Fri 29 Jun 2007 - 11:35:13 EEST


Bu genel bir problem, ilk sizin basiniza gelmiyor, korkmayin.

Internet Explorer butun HTML elemanlarini kendi engine'i ile render
eder ama form elemanlarini gorsel temalari korumak icin win32 api
uzerinden Win32 Dialog objeleriyle render eder (mantikli aslinda).

DOM modeline her elemanin (Node) bir z-index degeri vardir. Bu z-index
degeri elemanlarin hangisinin daha ustte olduguna karar verir. Mesela
bir pencere sistemi kurdunuz, 3 tane pencere var, hepsine 1000, 1001,
1002 diye z-index degerleri verdiniz, o zaman 1002 en ustte olacaktir.
Eger 1000 z-index'li div'in (layer) uste cikmasini istiyorsaniz
z-index degerini en az 1003 yapmaniz gerekiyor. Aslinda bu
anlattiklarim sorununuzu cozmeyecek ama bilmeniz isinize yarayabilir.
(JavaScript uzerinden node.style.zIndex ile ulasabilirsiniz bu degere)

Internet Explorer'da bazi form objeleri, en bilineni select objesi, bu
z-index'den bagımsız olarak en ustte render edilir. Ama ondan
buyuklerde var tabi. Bir diger ozel render modeline tabi tutulan
iframe objesi Internet Explorer'in render modeline gore parent
sayfadaki select'lerin uzerindedir (gayet mantikli olarak).

Yapacaginiz, biraz zor gelebilir ama, actiginiz div'in altina onunla
ayni width ve height'a sahip, allowtransparency="true" degerini de
tag'in icinde belirtmeniz gerekiyor. Eger bu div'i drag and drop
modeli saga sola surukluyorsaniz, iframe'i de kaydirmaniz gerekiyor.
Yoksa sadece absolute position verip ayni x ve y offset'inde ayni
width ve height'a sahip bir iframe acmaniz yeterli.

Bu cozumu zor bulan ve ya calismayanlar icin daha az elegant ama daha
cok tercih edilen bir cozum de, bu div ortaya ciktiginda sayfadaki
butun veya div'in altinda kalan select objelerinin display CSS
degerini "none" olarak degistirip kaybolmalarini saglamaktir. Dikkat,
visibility "hidden" derseniz kaybolsa bile gene div'inizin uzerinde
beyaz bir blok olarak kalacaktir.

Select'leri kaybetmenin kodu
var sels = document.getElementsByTagName("SELECT");
for( var i=0; i<sels.length; i++ )
sels[i].style.display = "none";

eski haline dondurmek icin ise
sels[i].style.display = "none";
satirini
sels[i].style.display = "";
olarak degistirebilirsiniz.

Bu sorun diger browser'larda yukarda anlattigim nedenden
gorulmemektedir. Sadece Internet Explorer 6 ve oncesine has bir
durumdur.

Kolay gelsin,
Mehmet

On 6/29/07, Okan Özeren <okanozeren@gmail.com> wrote:
> Merhaba;
>
> Layer'ı pencere olarak kullanmaktan kastınız nedir tam olarak. Ayrıca,
> pencere olarak kullandığınız bir eleman zaten diğer form elemanlarının
> üstünde değil mi? O zaman, içinde yer alan elemanların üstte yer alması
> normal (yanlış anlamış da olabilirim :)).
>
> Kullandığınız kodları da yollayabilir misiniz?
>
>
>
> On 6/29/07, veli akcakaya <v.akcakaya@gmail.com > wrote:
> >
> > Merhabalar,
> > geliştirdiğim bir uygulamada layer'ı içeriğini değiştirerek pencere
> (window) olarak kullanıyorum. Layer yani pencere içerisinde yer alan
> Listboxlar ana sayfadaki diğer form elemanlarının (text, checkbox vs.)
> üstünde yer alıyor. Firefox'ta sorun yokken, IE'de maalesef böyle bir sorun
> var.
> > Bu konuda görüşlerinizi rica ediyorum.
> > Kolay gelsin...
> >
> > --
> > v e l i a k ç a k a y a
> > -------------------------
> > ( http://www.akcakaya.info)
> >
> > _______________________________________________
> > Linux-programlama mailing list
> > Linux-programlama@liste.linux.org.tr
> >
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >
> >
>
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>

-- 
mehmet
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.