PDA

Tam Sürümünü Görmek İçin : IE de çalışan bir js yi Netscape te çalıştırmak.


LoS.ToF
04/03/2003, 18:08
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'");
}
}


Sahin
05/03/2003, 14:01
Ç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 :)

fixman
10/03/2003, 14:12
"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???

Sahin
12/03/2003, 00:44
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?

fixman
17/03/2003, 11:53
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...

Sahin
18/03/2003, 02:47
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.

Sahin
19/03/2003, 10:09
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>

;)

fixman
19/03/2003, 17:44
Anlayışın için teşekkürler...
:super:

Sahin
19/03/2003, 19:09
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?

Sahin
20/03/2003, 01:13
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?

fixman
24/03/2003, 10:32
Ş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 :)

Sahin
24/03/2003, 11:30
Ş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ı?

fixman
24/03/2003, 11:51
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.

Sahin
24/03/2003, 12:08
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.

fixman
24/03/2003, 12:29
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... :)

Sahin
24/03/2003, 17:22
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?

fixman
25/03/2003, 10:57
Ş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!

Sahin
13/04/2003, 04:32
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 :)

Sahin
13/04/2003, 06:24
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>

Sahin
13/04/2003, 06:26
Ü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...

fixman
15/04/2003, 13:17
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...

fixman
15/04/2003, 13:47
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!

Sahin
15/04/2003, 14:32
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 ;)

Sahin
15/04/2003, 14:37
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.

fixman
15/04/2003, 15:22
<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...

fixman
15/04/2003, 15:30
Evet... evet...
[object]...
biliyorum...

fixman
15/04/2003, 15:36
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 !

Sahin
15/04/2003, 15:38
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...

fixman
15/04/2003, 15:41
Yuuppiee !!!

:p

Not : Tablo hücresine tıklayınca yeni pencerede açılma olayını da bir önceki kodda hallettik...

Sahin
15/04/2003, 15:49
İş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>

Sahin
17/06/2003, 14:17
Gene bu konuya döneceğim fix üstat ama bu scripte fade özelliğide eklememiz mümkün mü? :p

fixman
17/06/2003, 14:41
Sahin hocam, eklersin ama Netscape'de calismaz...

fixman
20/06/2003, 12:00
Ş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?

...

fixman
20/06/2003, 12:02
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...

Sahin
20/06/2003, 18:52
Kardeş eline sağlık henuz tam olarak incelemedim kodları sadece çalışan sayfalara baktım ama süper :)

Sahin
20/06/2003, 18:58
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.

fixman
20/06/2003, 19:23
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!..

fixman
20/06/2003, 21:51
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...

fixman
29/06/2003, 11:39
Ş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...

Sahin
29/06/2003, 15:15
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.

fixman
03/07/2003, 12:28
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...