Tam Sürümünü Görmek İçin : IE de çalışan bir js yi Netscape te çalıştırmak.
Selamlar.
Aşağıdaki JavaScript'i rahatcana IE de çalıştırıyorum fakat benim bu script i hem ie de hemde NS de rahatcana çalıştırmam lazım.
Bunun için bir library duymuştum. Neyse bilen biri varsay şey ettiriversin tşk.
function set_bgcolor(w, p) {
if (p==0) { w.style.background='#F0F0F0'; } // Standart arka plan rengi
else if (p==1) { w.style.background='#F7F7F7'; w.style.cursor='hand'; } // renk 1
else if (p==3) { w.style.background='#FFFFFF'; w.style.cursor='hand'; } // renk 2
else if (p==2) { w.style.background=''; w.style.cursor='hand'; } // renk 3
}
function gk(neyi, stat) {
if (stat==1) {
eval("document.all."+neyi+".style.display=''");
}else{
eval("document.all."+neyi+".style.display='none'");
}
}
Çooookkkk aradım buna benzer bir şeyin netscapede nasıl çalıştırıldığını bulmayı ama maalesef bende bulamadım yerine benzer başka javascriptler denedim sanada öneririm :)
"document.all.nesne.style.background"...
Oldu mu?
"nesne.style.backgroundColor"...
Oldu!!!
Örneğin :
<script>
function degistirRengi(nesne,renk){
eval(nesne+".style.backgroundColor=renk")
}
</script>
Diyelim ki bir iki hücrenin artalan rengini değiştireceğiz :
<td id="ooleeboleediil" onMouseOver="degistirRengi('ooleeboolediil','#FF0000')">Değişti mu abu?</td>
<td id="sooleebooleediil" onMouseOver="degistirRengi('sooleebooleediil','#0000FF')">Bu da mu?</td>
Oldu muu???
Fixman yazdığından hiç bir şey anlamadım ne ie de doğru dürüst çalışıyor ne de netscapede çalışıyor. Çalışan bir örnek verirmisin?
Varsayalım ki sayfadaki tablo hücrelerinin artalan rengini değiştirmek için bir fonksiyona ihtiyacın var... Bu fonksiyonun hem IE'de hem de Netscape'de çalışabilmesi için belli yazım kurallarına uymak zorundasın...
Örneğin IE "document.all" DOM ifadesini tanırken Netscape görmezden gelecektir...
Hatta sayfanın görüntülendiği tarayıcının IE olup olmadığını anlamak için bu DOM ifadesi kullanılabilir :
<script>
metin=document.all?"Evet, IE kullanıyorsunuz...":"Hayır, IE kullanmıyorsunuz!"
document.write(metin)
</script>
Bu bilgiler ışığında fonksiyonumuzu yazalım :
function renkDegistir(nesne,renk){
eval(nesne+".style.backgroundColor=renk")
}
Burada fonksiyona gelen "nesne" argümanı, fonksiyonu çağırıken kullanacağın tablo hücresinin ID'sidir... "renk" ise ID'si belirtilmiş nesnenin alacağı stil-artalan rengi değeridir...
Bu fonksiyonu tablo hücresine gömeceğin OnMouseOver olayıyla çağırabilirsin :
<td id="hucre1" onMouseOver="renkDegistir('hucre1','FF0000')">
OnMouseOut olayıya, yani fare imleci hücre üzerinde değilken yürütülecek olayla ilgili fonksiyon çağrılarını da aynı etiket içinde belirtebilirsin...
Başarılar... Sevgiler...
Sen yazdığın kodu denedin mi? Çalıştığından eminmisin? Ben denedim ve hiçbir şekilde Netscape'de çalışmadı. Çalıştırabildinse çalışan bir örneğinin linkini verebilirmisin?
Netscape ile ilgili yaptığım bütün araştırmalarda table rengi sadece ilayer ile değiştirilebiliyor bu şekildeki bir javascripti hiçbir şekilde tanımıyor netscape.
Bu sorunun cevabını vermiştin ama server değişikliği nedeni ile silindi fixman yeniden yazayım sık aranan bir script çünki
<script>
function renkDegistir(nesne,renk){
eval("document.getElementById('"+nesne+"').style.backgroundColor=renk")
}
</script>
Table içinde;
<table>
<tr>
<td id="hucre1" onMouseOver="renkDegistir('hucre1','FF0000')"> aaa</td>
</tr>
</table>
;)
Anlayışın için teşekkürler...
:super:
Peki sanırım
style="CURSOR: hand;CURSOR: pointer" ile her ikisindede el imleci gelir ama
onclick="if (ie) window.location = this.all.tags('a')[0].href"
için netscapede ne yapmak lazım?
onclick="window.location =('aaa.htm')" şeklinde yazınca oluyor ama o zaman iki kere aynı linki vermiş oluyoruz ayrıca <td> içine dünya kadar yazı ekliyoruz az link varsa sorun değil ama 15-20 linki geçerse ne yapacağız bunu <script> olarak external dosyaya toparlayamazmıyız?
Şahin, malum, internete sadece pzt-salı girebildiğim için mesajını ancak okuyabildim...
Bu ve buna benzer soruların için sana önerebileceğim adreslerden biri portal niteliği taşıyan ve aradığın çoğu şeyi bulabileceğin Netscape'in sitesi :
http://devedge.netscape.com/
Açıkçası sorunu iyice anlamaya çalıştım ama tam başarılı olamadım... <td> etiketi içine birden fazla linki eklemek de neyin nesi? Ayrıca onClick="bilmemne" yazınca neden aynı linki iki kere vermiş oluyorsun? Ve bir önceki mesajında yazdığın koda bakar bakmaz sadece internet explorer da çalışacağı anlaşılıyor zaten!
Bu arada... Doğrudur, sayfanda kullanacağın linkleri küçük bir veritabanı haline getirip ayrı bir js dosyasında depolayabilirsin.
Sorunu biraz daha açarsan kesin bir yanıt verebiliriz sanırım... Ama hemen almak istiyorsan yanıtını çarşambadan öncer yazmalısın bu soruyu :)
Şimdi şöyle anlatayım
<td id="hucre1" onMouseOver="renkDegistir('hucre1','FF0000')" onMouseOut="renkDegistir('hucre1','FFFFFF')" onclick="window.location =('aaa.htm') > <a href=aaa.html>aaa</a></td>
Yukardaki örnekte hem onclick hemde a için href vermek zorunda kaldık oysa onclick bu degeri this.all.tags('a')[0].href" gibi bir şeyle a dan alsın istiyorum netscape içinde.
ayrı bir js içinde toplamaya çalıştım ama buradada hucre1, hucre2 hucre3 diye gitmesi beni engelledi hucre yerine this desek olmaz mı?
Ama...
Tamam da...
onClick ifadesini kullandıktan sonra href tagını kullanmana gerek yok ki?
<td id="hucre1" onMouseOver="renkDegistir('hucre1','FF0000')" onMouseOut="renkDegistir('hucre1','FFFFFF')" onclick="window.location =('aaa.htm')><a>aaa</a></td>
Şöyle bir CSS kullanarak <a> taglarını link gibi gösterebilirsin, biliyorsundur :
<style type="text/css">
<!--
a{color:#0000FF;text-decoration:underline}
-->
</script>
Bildiğim kadarıyla "window.location" olayı Netscape'de destekleniyor?
Veri dosyasından bağlantı almak konusuna gelince;
Varsayalım ki şööle bir js dosyan var :
linkler.js
function openLink(link){
var links=new Array()
links[0]="http://forum.ceviz.net"
links[1]="http://forum.veciz.net"
.
.
.
links[n]="http://ceviz.net"
location.href=links[link]
}
Bu dosyayı html belgesine gömdükten sonra gerekli onClick olayını şu şekilde değiştirebilirsin :
<td id="hucre1" onMouseOver="renkDegistir('hucre1','FF0000')" onMouseOut="renkDegistir('hucre1','FFFFFF')" onclick="openLink(2)"><a>aaa</a></td>
Umarım senin soruna uygun bir yanıt olmuştur...
Sevgiler.
Sorulardan biride şuydu fixman renkDegistir('hucre1','FF0000')" buradaki hucre1 yerine this diyemezmiyiz ya da başka bir şey yoksa her link için hucre1 hucre2 vs demek gerekiyor.
Bi de şunu dene abicim :
<script>
function renkDegistir(nesne,renk){
nesne.style.backgroundColor=renk
}
</script>
<td onMouseOver="renkDegistir(this,'FF0000')">A-AA?</td>
Yalnız Gecko'da test etmedim... :)
window.location olmaması çok kötü hiçmi yolu yok acaba aslında birazda mantıksız. onClick ile tabloya link verince neden tıklayamayasın ki? değil mi?
Şahin, "location.href" zaten bir "href" yazım biçimi değil mi? Yani neden kafayı "window.location" taktığını annayamıyorum...
Bir kodu hem ie'de hem nn'de çalıştırmak için belli yazım kurallarına uyacaksın işte, ne yapabilirsin ki?
"Kodlama standartı olsun", "her script için farklı farklı kodlar yazmayalım" deyince de tekelci zihniyete sahip olmakla suçlanıyorsun....
Senin yazdıklarına dönecek olursak;
Sen de tıklanabilir şekilde yeniden düzenle onu :
"<a>Link</a>" yerine
"<a href="javascript:">Link</a>" yazabilirsin örneğin, değil mi?
Basit bir CLICK simulasyonu :) Bu şekilde tablo hücresine tıklandığı zaman linke de tıklanmış olur...
Sevgiler dost, kolay gelsin!
Orjinal mesajı gönderen fixman
Bi de şunu dene abicim :
<script>
function renkDegistir(nesne,renk){
nesne.style.backgroundColor=renk
}
</script>
<td onMouseOver="renkDegistir(this,'FF0000')">A-AA?</td>
Yalnız Gecko'da test etmedim... :)
Ben gene bu konuya döndüm :p
Bu üstteki kod en işe yarar olan içlerinde ama takıldığım tek yer "<a href="javascript:">Link</a>" ile click smilasyonu yapmak ne denedimse olmadı fix :)
Daha doğrusu bu kodlar yeni sitede kullanacağım kodlar ve hemen hemen aynı sonucu veriyorlar ama 2 eksik var
1- Netscape window status ve window locationu tanımıyor
2- Her ikiside td üzerine geldigimde linkler renk değiştirmiyor.
Buyur kodalar burda;
<html>
<head>
<STYLE type=text/css>
div, body, td, tr {
scrollbar-face-color: #F2F2F3;
scrollbar-highlight-color: #FFFFFF;
scrollbar-shadow-color: #DEE3E7;
scrollbar-3dlight-color: #D1D7DC;
scrollbar-arrow-color: #006699;
scrollbar-track-color: #EFEFEF;
scrollbar-darkshadow-color: #98AAB1;
FONT-SIZE: 11px; FONT-FAMILY: Verdana; COLOR: #666666
}
A:link {
FONT-WEIGHT: BOLD; COLOR: #354860; TEXT-DECORATION: none
}
A:visited {
FONT-WEIGHT: BOLD; COLOR: #354860; TEXT-DECORATION: none
}
A:hover {
FONT-WEIGHT: BOLD; COLOR: #FF7800; TEXT-DECORATION: none
}
A:active {
FONT-WEIGHT: BOLD; COLOR: #567055; TEXT-DECORATION: none
}
</STYLE>
<script language="javascript">
// cevizmenu functions
function mOver(cell)
{
cell.style.cursor = 'hand';
cell.style.cursor = 'pointer';
//Alttaki tagı açınca netscapete td renk değiştirmiyor
//window.status = cell.all.tags('a')[0].href;
cell.bgColor = '#D3DFBB';
}
function mOut(cell)
{
cell.style.cursor = 'default';
cell.bgColor = '';
}
function mClick(cell)
{
if(event.srcElement.tagName=='TD')
{
//('a')[0].href netscapede çalismiyor
window.location = cell.all.tags('a')[0].href;
}
}
</script>
</head>
<body>
<table width="150">
<tr>
<td onMouseOver="mOver(this)" onMouseOut="mOut(this)" Onclick="mClick(this)" ><a href="#" onclick="javascript:window.open('aaa.htm');">A-AA</A></td>
</tr>
<tr>
<td onMouseOver="mOver(this)" onMouseOut="mOut(this)" Onclick="mClick(this)" ><a HREF="bbb.htm">A-BB</A></td>
</tr>
<tr>
<td onMouseOver="mOver(this)" onMouseOut="mOut(this)" Onclick="mClick(this)" ><a HREF="aaa.htm">A-CC</A></td>
</tr>
</table>
</body>
</html>
Üstteki senin yazdığın koddada durum aynı. İkisindede aynı şeyler sorun oluyor. Ve denediğim yazdığım diğer 15-20 koddada olursa sanırım senin bahsettiğin benim anlamadığım click simulasyonu ile olur olmazsa bu hali ile olacak.
Sevgiler...
Valla Şahin Hoca, Netscape'de denemedim ama sanırım işe yarar :
<html>
<head>
<STYLE type=text/css>
div, body, td, tr {
scrollbar-face-color: #F2F2F3;
scrollbar-highlight-color: #FFFFFF;
scrollbar-shadow-color: #DEE3E7;
scrollbar-3dlight-color: #D1D7DC;
scrollbar-arrow-color: #006699;
scrollbar-track-color: #EFEFEF;
scrollbar-darkshadow-color: #98AAB1;
FONT-SIZE: 11px; FONT-FAMILY: Verdana; COLOR: #666666
}
A:link {
FONT-WEIGHT: BOLD; COLOR: #354860; TEXT-DECORATION: none
}
A:visited {
FONT-WEIGHT: BOLD; COLOR: #354860; TEXT-DECORATION: none
}
A:hover {
FONT-WEIGHT: BOLD; COLOR: #FF7800; TEXT-DECORATION: none
}
A:active {
FONT-WEIGHT: BOLD; COLOR: #567055; TEXT-DECORATION: none
}
</STYLE>
<script language="javascript">
function mOver(cell){
cell.style.cursor = "hand";
cell.style.cursor = "pointer";
cell.getElementsByTagName('a')[0].style.color="#FF7800";
window.status = cell.getElementsByTagName('a')[0].href;
cell.style.backgroundColor = "#D3DFBB";
}
function mOut(cell){
cell.style.cursor = "default";
cell.getElementsByTagName('a')[0].style.color="#354860";
window.status = "";
cell.style.backgroundColor = "";
}
function mClick(cell)
{
if(event.srcElement.tagName=='TD')
location.href = cell.getElementsByTagName('a')[0].href;
}
</script>
</head>
<body>
<table width="150">
<tr>
<td onMouseOver="mOver(this)" onMouseOut="mOut(this)"
onClick="mClick(this)" ><a href="javascript:"
onClick="javascript:window.open('aaa.htm');">A-AA</A></td>
</tr>
<tr>
<td onMouseOver="mOver(this)" onMouseOut="mOut(this)"
Onclick="mClick(this)" ><a HREF="bbb.htm">A-BB</A></td>
</tr>
<tr>
<td onMouseOver="mOver(this)" onMouseOut="mOut(this)"
Onclick="mClick(this)" ><a HREF="aaa.htm">A-CC</A></td>
</tr>
</table>
</body>
</html>
Bildiğim kadarıyla "getElementsByTagName()" metodu Netscape tarafından da destekleniyordu...
Sevgiler...
Not :
<a href="java script:"
onClick="java script:window.open('aaa.htm');">
Burada "javascript" yazarken "java" ile "script" in arasına boşluk koyma n'olursun!
Herşeyiyle süper tek bir sorun var :)tdler artık renk alıyor window statuslerde ok ama geckoda hala tdye tıklandığında hiçbir şey olmuyor. Sanırım ancak bu kadar olur eline sağlık fix ;)
Pardon acele etmişim IE'de de javascript onclick çalışmıyormuş linkin üzerine tıklayınca başka bir pencerede açılıyor Netscapede event is not defined hatası veriyor.
<td onMouseOver="mOver(this)" onMouseOut="mOut(this)"
onClick="mClick(this)" ><a href="javascript:window.open('aaa.htm');">A-AA</A></td>
Değiştirdim, tıbatıb bööle yaz...
Bu satır zaten linkin başka bir pencerede açılması için yazılmış...
Ben sonra Gecko'da incelerim...
Evet... evet...
[object]...
biliyorum...
function winOpen(url){
window.open(url)
}
Bu fonsiyonu <script></script> bloğuna yazdıktan sonra linkini şu şekilde değiştirsen acaba nasıl olur :
<tr>
<td onMouseOver="mOver(this)" onMouseOut="mOut(this)"
onClick="mClick(this)" ><a href=javascript:winOpen('aaa.htm')>A-AA</A></td>
</tr>
Not : Şahin, Allah için "oldu" de yah !
Hayır hayır object değil :D
Sonunda bu scriptte mükemmel sonucu bulduk ustat;
function mClick(cell)
{
location.href = cell.getElementsByTagName('a')[0].href;
}
Bununla javascript yazmadanda gecko görüyor. Daha önce bütün googleda aramama ramen iki browserde aynı sonucu veren bu tip tek bir javascript bulamamıştım :)
Şimdi rahat uyuyabilirim...
Yuuppiee !!!
:p
Not : Tablo hücresine tıklayınca yeni pencerede açılma olayını da bir önceki kodda hallettik...
İşte scriptin en son hali :D
<script language="javascript">
<!--
// ================================================== ===========================
// Cevizmenu functions
// Bu JS Cross browsewrde TD onmouseOver olayında aynı sonucu vermektedir.
// Copyright F. Sahin GUR & Fixman <sahin@ceviz.net>, 2003
// Lütfen bu Copyright yazısını silmeyin. www.ceviz.net
// ================================================== ===========================
function mOver(cell){
cell.style.cursor = "hand";
cell.style.cursor = "pointer";
// FF7800 rengini değiştirerek linklerin rengini değiştirebilirsiniz
cell.getElementsByTagName('a')[0].style.color="#FF7800";
window.status = cell.getElementsByTagName('a')[0].href;
// D3DFBB rengini değiştirerek tablo bg rengini değiştirebilirsiniz
cell.style.backgroundColor = "#D3DFBB";
}
function mOut(cell){
cell.style.cursor = "default";
// 354860 rengini değiştirerek onMouseout durumunda linkin rengini değiştirebilirsiniz
cell.getElementsByTagName('a')[0].style.color="#354860";
window.status = "";
// "" arasına bir renk yazarak onMouseout durumunda tablo bg rengini değiştirebilirsiniz
cell.style.backgroundColor = "";
}
function mClick(cell)
{
location.href = cell.getElementsByTagName('a')[0].href;
}
//-->
</script>
Gene bu konuya döneceğim fix üstat ama bu scripte fade özelliğide eklememiz mümkün mü? :p
Sahin hocam, eklersin ama Netscape'de calismaz...
Şahin, bir önceki mesajımın senin için yeterli olmayacağını düşünerek oturup Netscape kardeşimizin de çalıştırabileceği bir fade uygulaması yazayım dedim :
http://free.7host02.com/xcrypt/4ceviz/Fade1.htm
Kodları da burada :
<html>
<head>
<title>Fading</title>
<script language="JavaScript1.2">
<!--
/*fxcode*/
colorHexCodes = "0123456789abcdef";
varID = "fadingCell";
startHexCodeNum = 3;
hexCodeCount = 6;
speed = 35;
function fadeTo(dir){
thisCell = document.all ? document.all(varID) :
document.getElementById(varID);
thisCellBgColor = thisCell.style.background;
newCellBgColor = "#ff";
tempDir = dir;
index = dir ? 1 : -1;
tempCode = dir ? "f" : "0";
finalColor = dir ? "#ffffff" : "#ff0000";
for(i = startHexCodeNum; i <= hexCodeCount; i++){
codeIndex = colorHexCodes.charAt(
colorHexCodes.indexOf(
thisCellBgColor.charAt(i)
) + index);
if(!codeIndex)codeIndex = tempCode;
newCellBgColor += codeIndex;
}
thisCell.style.background = newCellBgColor;
if(newCellBgColor != finalColor)
setTimeout("fadeTo(tempDir)",speed);
else clearTimeout();
}
-->
</script>
</head>
<body>
Kizinca kizaran hucre : <br><br>
<table height="30" cellpadding="4">
<tr>
<td id="fadingCell"
style="background: #ffffff; border-style: solid;
border-width: 1px; border-color: #000000; cursor: pointer"
onMouseOver="fadeTo(0);" onMouseOut="fadeTo(1);">
Gelme ustume, bak kiziyorum ha...</td>
</tr>
</table>
</body>
</html>
Ancak büyük bir hevesle yazdığım bu scripti Netscape'te deneyince, gariban tarayıcının fonksiyonların hızına yetişemediğini farkettim!(acaba???)
Tabii fixman'da çözüm tükenmez; hırs yaptım ve bu örneği geliştirdim... Sonuçta ortaya şöyle bir şey çıktı :
http://free.7host02.com/xcrypt/4ceviz/Fade2.htm
Buyurun, kodları :
<html>
<head>
<title>fx Fade</title>
<style type="text/css">
<!--
td{
color : #FF0000;
background : #FFFF00;
border-style : solid;
border-width : 1px;
border-color : #000000;
cursor : pointer
}
a:link{
color : #FF0000;
text-decoration : none
}
-->
</style>
<script language="JavaScript1.2">
<!--
/*fxcode*/
// Netscape 7.0'da test edilmistir.
/* dizinin ilk elemani, hucrenin ilk rengi;
// dizinin son elemani, hucrenin son rengi;
// renk gecisini saglamak icin bu iki renk
// arasinda kalan renk kodlarini dogru
// belirlemelisiniz...
// kodu basit tutmak icin renk gecisini
// otomatiklestiren fonksiyonu yazmadim.
// Ayrica script, hucreler arasindaki gecis
// lerde biraz sorunlu calisiyor. Bir iki
// ek fonksiyonla ve degiskenlerin sayisi
// artirilarak bu sorun giderilebilir.
// Ne deyim; gelistirmek gerekiyor... */
var allColors = new Array("#FFFF00","#FFEE00","#FFDD00","#FFCC00",
"#FFBB00","#FFAA00","#FF9900","#FF8800",
"#FF7700","#FF6600","#FF5500","#FF4400",
"#FF3300","#FF2200","#FF1100","#FF0000");
var indexLength = allColors.length - 1;
var index = 0;
var speed = document.all ? 35 : 65;
function changeCell(control,parent,object){
targetObj = document.all ?
event.srcElement : object.target;
if(!targetObj.tagName)
targetObj = targetObj.parentNode;
if(targetObj.tagName != "TABLE"){
targetCell = parent.getElementsByTagName("TD")[targetObj.id];
targetLink = targetCell.getElementsByTagName("A")[0];
window.status = control ? targetLink : "";
fadeTo(control,targetCell,targetLink);
}
}
function fadeTo(dir,targetCell,targetLink){
tempDir = dir;
tempTarget = targetCell;
tempLink = targetLink;
if(dir){
if(index < indexLength)index++;
}
else
if(index) index--;
targetCell.style.background = allColors[index];
targetLink.style.color = allColors[indexLength - index];
if(index && index != indexLength)
setTimeout("fadeTo(tempDir,tempTarget,tempLink)",speed);
else clearTimeout();
}
-->
</script>
</head>
<body>
<h2>f x F A D E</h2>
Uzerine cok fazla gidildiginde kizaran hucre : <br><br>
<table id="main" height="30" cellpadding="4"
onMouseOut="changeCell(0,this,event);"
onMouseOver="changeCell(1,this,event);">
<tr>
<td id="0" width="252">
<a id="0" href="http://www.domates.net">
Gelme ustume, bak kiziyorum ha...</a></td>
</tr>
</table>
</body>
</html>
Ammmaaaa... Bir iki denemeden sonra acı gerçeğin farkına vardım : Scripti tek bir hücreyi baz alarak yazdığım için, birden fazla hücreye sahip tablolarda hücreler arasındaki geçişlerde... Değişkenler sıfırlandığı için bir hatayla karşılaşıyoruz... Bu hata, bir iki ek fonksiyon ve değişkenle düzeltilebilir...
Ne dersin?
Geliştirmeye değer mi?
...
Haa, unutmadan...
İkinci örnekte renkler otomatik olarak hesaplanmıyor...
Bütün renk geçişlerini array olarak belirtmemiz gerekiyor...
Gerçi farketmiişsinizdir, ama...
Sevgiler...
Kardeş eline sağlık henuz tam olarak incelemedim kodları sadece çalışan sayfalara baktım ama süper :)
Yalnız farklı bir fade script vardı bende onu sana göndereyim bir ara incele geçişler daha hoş geldi bana bahsettiğim scriptte ama o sadece linkler için kullanılıyor.
Sekize kadar gönderebiliyorsan çok iyi...
Bi de WinXP'de canavar gibi çalışan scriptler Win98'deyken biraz tökezliyor yahu? O da IE, bu da IE... Tuhaf!..
Uyumadan önce ekleyim :
Linkler için kullanılan bir scripti tablo hücrelerine uyarlamak o kadar zorlamaz bizi...
Horrr...
blackbird
24/06/2003, 15:25
fixmanın yazdıkları hiç te inandırıcı değil kodlarda pek çalışır gibi değil ama yinede bu çalışmayan kodları gönderme cesaretini göstermesi kendisi için aldığı büyük bir yoldur böyle devam etmesini temenni ederim umarım üzülmez...
Şahin, gönderdiğin kod Netscape'de çalışmıyor...
Çalışanını Cuma günü eklerim buraya...
blackbird, güzel dileklerin için teşekkür ederim...
Az ama öz yazdığın için de...
Ben anlamadım hangi kodlar hiç inandırıcı değil? İnandırıcı kod olmaz çalışan ya da çalışmayan kod olur ki hepsi çalışan kodlar gördüğüm kadarıyla blackbird.
Gönderdiğim kod Netscape 7'de çalışıyor fix.
Gönderdiğin kodu Netscape 7'nin en son sürümünde denedim Şahin... Çalışmadı... [Yalan mı söyleyecez hemşerim... :D ]
IE'de ise linkler arasındaki geçişlerde bir önceki linkin rengini sıfırlıyor, yani renk geçişi yok... Aynı benim koddaki gibi... Ayrıca bu scripti kim yazmışsa kodları uzatmak için elinden geleni yapmış...
Tamam, belki biz eski tarayıcılar için bir kontrol yapmıyor olabiliriz ama IE5 ve NN5 sonrasında sorunsuz çalışıyor yazdığımız kodlar... Ve de gereksiz yere uzatmıyoruz scriptleri...
<html>
<head>
<title>UNIFIX</title>
<style type="text/css">
<!--
td{
color : #00FF00;
background : #000000;
border-style : solid;
border-width : 1px;
border-color : #00FF00;
font-family : Courier;
font-size : 10pt;
cursor : crosshair
}
a:link,
a:active,
a:visited{
display : block;
width : 100%;
color : #00FF00;
text-decoration : none;
cursor : crosshair
}
-->
</style>
<script language="JavaScript1.2">
<!--
/*fxcode*/
var allColors = new Array("#000000","#001100","#002200","#003300",
"#004400","#005500","#006600","#007700",
"#008800","#009900","#00AA00","#00BB00",
"#00CC00","#00DD00","#00EE00","#00FF00");
var startColor = "#000000";
var finishColor = "#00FF00"
var indexLength = allColors.length - 1;
var index = 0;
var speed = document.all ? 30 : 40;
function changeCell(control,parent,object){
targetObj = document.all ?
event.srcElement : object.target;
if(!targetObj.tagName)
targetObj = targetObj.parentNode;
if(targetObj.tagName != "TABLE"){
allCell = parent.getElementsByTagName("TD")
cellLength = allCell.length;
for(i = 0; i < cellLength; i++){
allCell[i].style.background = startColor;
allCell[i].getElementsByTagName("A")[0].
style.color = finishColor;
}
targetCell = allCell[targetObj.id];
targetLink = targetCell.getElementsByTagName("A")[0];
window.status = control ? targetLink : "";
fadeTo(control,targetCell,targetLink);
}
}
function fadeTo(dir,targetCell,targetLink){
tempDir = dir;
tempTarget = targetCell;
tempLink = targetLink;
if(dir){
if(index < indexLength)index++;
}
else
if(index) index--;
targetCell.style.background = allColors[index];
targetLink.style.color = allColors[indexLength - index];
if(index && index != indexLength)
setTimeout("fadeTo(tempDir,tempTarget,tempLink)",speed);
else clearTimeout();
}
-->
</script>
</head>
<body bgcolor="#000000" text="#00FF00">
<table id="main" height="30" cellpadding="4"
onMouseOut="changeCell(0,this,event);"
onMouseOver="changeCell(1,this,event);">
<tr>
<td id="0">
<a id="0" href="?exec=session">
Session Menager..</a></td>
</tr>
<tr>
<td id="1">
<a id="1" href="?exec=status">
Status Query.....</a></td>
</tr>
<tr>
<td id="2">
<a id="2" href="?exec=vu">
Visual Editor....</a></td>
</tr>
<tr>
<td id="3">
<a id="3" href="?exec=collect">
Garbage Collector</a></td>
</tr>
</table>
</body>
</html>
XP'deki Internet Explorer ve Netscape'de kusursuz çalışan bu script, daha eski Windows sürümlerinde yavaş kalıyor... Başka sistemlerde deneyen arkadaşların yorumlarını duymak isterim...
Bi de Şahin, bundan sonra blackbird'in benim mesajlarıma yazdığı cevapları es geçmeni tavsiye ederim... Fırsat bulup da internete girebiliyorsa ilk yaptığı iş benim izimi sürmek oluyor... Kendisini severim, özgün bir kişiliktir...
Son olarak JavaScript yazıları hakkında küçük bir not düşeyim; bundan sonra yazıları bölüm bölüm göndermemeyi düşünüyorum... Hepsini tamamlayıp toplu olarak göndereceğim. Yazı dizisini takip eden arkadaşlar, bu kararım için beni mazur görsünler.
Sevgiler...
Forum Yazılımı : vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.