Kod Örnekleri & Teknik Rehberler
Python, C#, PHP ve modern web teknolojileri üzerine profesyonel örnekler.
Python & Veri Bilimi
PopülerÖğrenmesi kolay ve son derece güçlü. Yapay Zeka, Veri Analizi ve Otomasyon dünyasının lider dili Python ile ilgili en güncel snippetları keşfedin.
Geçmiş verilere dayanarak gelecekteki değerleri tahmin etmeye yarayan, en temel makine öğrenmesi algoritması olan Lineer Regresyon örneği.
from sklearn.linear_model import LinearRegression
import numpy as np
# Örnek veriler (X: Tecrübe Yılı, y: Maaş)
X = np.array([[1], [2], [3], [4], [5]])
y = np.array([5000, 7000, 9500, 12000, 15500])
model = LinearRegression()
model.fit(X, y)
# 6 yıllık tecrübe için tahmin
tahmin = model.predict([[6]])
print(f"6 Yıllık tecrübe tahmini maaşı: {tahmin[0]} TL")
import numpy as np
# Örnek veriler (X: Tecrübe Yılı, y: Maaş)
X = np.array([[1], [2], [3], [4], [5]])
y = np.array([5000, 7000, 9500, 12000, 15500])
model = LinearRegression()
model.fit(X, y)
# 6 yıllık tecrübe için tahmin
tahmin = model.predict([[6]])
print(f"6 Yıllık tecrübe tahmini maaşı: {tahmin[0]} TL")
Belirli bir klasör içindeki tüm .txt dosyalarını tarayıp uzantılarını toplu halde .log olarak değiştiren pratik bir otomasyon scripti.
import os
klasor_yolu = './belgeler'
for dosya_adi in os.listdir(klasor_yolu):
if dosya_adi.endswith(".txt"):
eski_yol = os.path.join(klasor_yolu, dosya_adi)
yeni_yol = os.path.join(klasor_yolu, dosya_adi.replace(".txt", ".log"))
os.rename(eski_yol, yeni_yol)
print(f"{dosya_adi} -> Uzantı değiştirildi.")
klasor_yolu = './belgeler'
for dosya_adi in os.listdir(klasor_yolu):
if dosya_adi.endswith(".txt"):
eski_yol = os.path.join(klasor_yolu, dosya_adi)
yeni_yol = os.path.join(klasor_yolu, dosya_adi.replace(".txt", ".log"))
os.rename(eski_yol, yeni_yol)
print(f"{dosya_adi} -> Uzantı değiştirildi.")
C# (CSharp) & .NET Core
KurumsalModern, nesne yönelimli ve yüksek performanslı. ASP.NET Core ve Entity Framework ile profesyonel web ve masaüstü projeleri geliştirin.
Textboxa girilen değeri SQL database'e aktarmaya yarayan örnek
//Öncelikle bunu en üstteki kütüphaneye ekleyin
System.Data.SqlClient;
//bu kod public alanda tanımlanacak
SqlConnection baglanti = new SqlConnection=("Data Source=SQLserverinAdı;Initial Catalog=VeriTabanının adı;Integrated Security=True"");
SqlCommand komut = new SqlCommand();
//bu kodlar ise button tıkalndığında yazılacak
baglanti.Open();
komut.Connection=baglanti();
komut.commandText="insert into urun (urun_no,urun_adi) values ("+textBox1.text+","textBox2.text");
komut.exeNonQuery();
baglanti.close();
System.Data.SqlClient;
//bu kod public alanda tanımlanacak
SqlConnection baglanti = new SqlConnection=("Data Source=SQLserverinAdı;Initial Catalog=VeriTabanının adı;Integrated Security=True"");
SqlCommand komut = new SqlCommand();
//bu kodlar ise button tıkalndığında yazılacak
baglanti.Open();
komut.Connection=baglanti();
komut.commandText="insert into urun (urun_no,urun_adi) values ("+textBox1.text+","textBox2.text");
komut.exeNonQuery();
baglanti.close();
Email validation - kontrolü
CSHARPEmail alanına girilen adresin doğru formatta olup olmadığını gösteren bir örnek
function ValidateEmail(mail)
{
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.emailAddr.value))
{
return (true)
}
alert("You have entered an invalid email address!")
return (false)
}
{
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.emailAddr.value))
{
return (true)
}
alert("You have entered an invalid email address!")
return (false)
}
PHP & Web Programlama
DinamikWeb dünyasının emektar ve güçlü dili. PDO veritabanı yönetimi, API işlemleri ve modern PHP 8.x tekniklerini inceleyin.
MySQL veritabanına bağlantı yapıldıktan sonra istenilen SQL sorgusunun sonuçlarını tablo halinde listeliyor.
<?
$dbh=mysql_connect ("localhost", "", "") or die ('Veritabanına bağlantı sağlanamıyor. Nedeni: ' . mysql_error());
mysql_select_db ("vertabanı_adı");
$sqlcumlesi="SELECT * FROM tablo";
$veriseti = mysql_query($sqlcumlesi);
if (mysql_num_rows($veriseti)) // sorgulama sonucu değer dönüp dönmediğini kontrol ediyor.
{
$kolonsay=mysql_num_fields($veriseti); // kaç kolon olduğu bulunuyor.
?>
<table width=95%>
<tr><td colspan='<?=$kolonsay?>' align="center" >Toplam <?=mysql_num_rows($veriseti);?> adet kayıt bulundu.</td></tr>
<tr>
<?
for ($i=0; $i < $kolonsay;$i++) {
echo "<td>";
$meta = mysql_fetch_field($veriseti, $i);
echo $meta->name; // kolon ismi yazdırılıyor.
echo "</td>";
} // Kolon isimleri listeleniyor.
?>
</tr>
<?
// veriler listeleniyor.
while ($Mysatir = mysql_fetch_row($veriseti))
{
?>
<tr>
<?
for ($i=0; $i < $kolonsay;$i++) {
echo "<td>";
echo $Mysatir[$i];
echo "</td>";
} // Satýrlar yazdýrýlýyor.
?>
</tr>
<?
} // Satýrlar listeleniyor sonu
?>
</table>
<?
} //---- if sonu
else
{
echo " <center>Aranılan Kriterlere Uygun Kayıt Bulunamamıştır</center><br>";
}
?>
$dbh=mysql_connect ("localhost", "", "") or die ('Veritabanına bağlantı sağlanamıyor. Nedeni: ' . mysql_error());
mysql_select_db ("vertabanı_adı");
$sqlcumlesi="SELECT * FROM tablo";
$veriseti = mysql_query($sqlcumlesi);
if (mysql_num_rows($veriseti)) // sorgulama sonucu değer dönüp dönmediğini kontrol ediyor.
{
$kolonsay=mysql_num_fields($veriseti); // kaç kolon olduğu bulunuyor.
?>
<table width=95%>
<tr><td colspan='<?=$kolonsay?>' align="center" >Toplam <?=mysql_num_rows($veriseti);?> adet kayıt bulundu.</td></tr>
<tr>
<?
for ($i=0; $i < $kolonsay;$i++) {
echo "<td>";
$meta = mysql_fetch_field($veriseti, $i);
echo $meta->name; // kolon ismi yazdırılıyor.
echo "</td>";
} // Kolon isimleri listeleniyor.
?>
</tr>
<?
// veriler listeleniyor.
while ($Mysatir = mysql_fetch_row($veriseti))
{
?>
<tr>
<?
for ($i=0; $i < $kolonsay;$i++) {
echo "<td>";
echo $Mysatir[$i];
echo "</td>";
} // Satýrlar yazdýrýlýyor.
?>
</tr>
<?
} // Satýrlar listeleniyor sonu
?>
</table>
<?
} //---- if sonu
else
{
echo " <center>Aranılan Kriterlere Uygun Kayıt Bulunamamıştır</center><br>";
}
?>
Sabit tanımlamak
PHPProgramın akışı içerisinde, ilk verilen değerden başka değer alamayacak sabit tanımlamak için "Define"
<?
define ("siteniz", "www.ME.com.tr");
echo "Siteniz :" .siteniz;
?>
define ("siteniz", "www.ME.com.tr");
echo "Siteniz :" .siteniz;
?>
JavaScript (ES6+)
Frontendİnteraktif web sayfalarının kalbi. Modern JS, Async/Await ve DOM manipülasyonu üzerine en pratik kod parçacıkları burada.
İstenilen mesajın sayfa yüklenirken ekrana gelmesini sağlayan basit bir JavaScript örneği.
<SCRIPT LANGUAGE="JavaScript">
alert("Hardiske format atmak için OK 'e tıklayınız");
</SCRIPT>
alert("Hardiske format atmak için OK 'e tıklayınız");
</SCRIPT>
Sayfalarınızda kullanıcıların mouse (fare)'un sol tuş fonksiyonlarına ulaşmasını istemiyorsanız bu scripti rahatlıkla kullanabilirsiniz.
<style type="text/css">
.menuFront {
position: absolute;
visibility: hidden;
top: 0px;
left: 0px;
background-color: #C0C0C0;
border-left: 1px solid #FFFFFF;
border-right: 1px solid #000000;
border-top: 1px solid #FFFFFF;
border-bottom: 1px solid #000000;
margin: 1px;
cursor: default;
z-index: 11;
}
.menuBack {
position: absolute;
visibility: hidden;
top: 0px;
left: 0px;
background-color: #C0C0C0;
border-right: 1px solid #000000;
border-bottom: 1px solid #000000;
z-index: 10;
}
.item {
position: absolute;
visibility: inherit;
color: #000000;
font-size: 9pt;
font-family: Arial, sans-serif;
font-weight: bold;
left: 1px;
height: 15px;
padding-left : 5px;
z-index: 11;
}
.itemSep {
position: absolute;
visibility: inherit;
left: 1px;
height: 7px;
padding-left: 5px;
padding-right: 5px;
z-index: 11;
}
.sep {
position: absolute;
color: #FFFFFF;
width: 100%;
height: 1px;
z-index: 11;
}
.arrow {
position: absolute;
font-size: 9pt;
font-family: Marlett, sans-serif;
font-weight: normal;
margin-top: 2px;
z-index: 11;
}
</style>
<script language="JavaScript1.2">
var widthMax;
var heightMax;
var xCoor;
var yCoor;
var sWidth;
var sHeight;
var xScroll;
var widthScroll;
var menu = new Array;
var divId = new Array;
function rightClick()
{
document.oncontextmenu = show;
document.onclick = hideMenus;
}
function menuItem()
{
this.item = arguments[0];
this.hasSubMenu = arguments[1];
this.level = arguments[2];
this.subMenuFront = arguments[3];
this.subMenuBack = arguments[4];
this.subMenuOffset = arguments[5];
this.link = arguments[6];
}
function findMenuLevel(parentId)
{
for (i = 0; i < divId.length; i = i + 2)
{
if (divId[i] == (parentId + "Front"))
{
return divId[i + 1];
break;
}
}
}
function createMenu(menuId, menuWidth, level)
{
var frontLayer = document.createElement("DIV");
with (frontLayer)
{
id = menuId + "Front";
className = "menuFront";
with (style)
{
posWidth = menuWidth;
posHeight = 3;
backgroundColor = outBgCr;
visibility = "hidden";
}
}
document.body.appendChild(frontLayer);
var backLayer = document.createElement("DIV");
with (backLayer)
{
id = menuId + "Back";
className = "menuBack";
with (style)
{
posWidth = menuWidth + 2;
posHeight = 5;
backgroundColor = outBgCr;
visibility = "hidden";
}
}
document.body.appendChild(backLayer);
divId[divId.length] = menuId + "Front";
divId[divId.length] = level;
divId[divId.length] = menuId + "Back";
divId[divId.length] = level;
}
function createItem(itemId, displayText, parentId, pageSrc, hasSubMenu)
{
var menuFront = document.getElementById(parentId + "Front");
var menuBack = document.getElementById(parentId + "Back");
var level = findMenuLevel(parentId);
var subMenuFront = "";
var subMenuBack = "";
var subMenuOffset = -1;
var itemLayer = document.createElement("DIV");
with (itemLayer)
{
onmouseover = over;
onmouseout = out;
onclick = goToLink;
id = itemId;
className = "item";
if (displayText != "-")
{
if (hasSubMenu)
{
link = "";
innerText = displayText;
var sepLayer = document.createElement("DIV");
with (sepLayer)
{
className = "arrow";
innerText = "4";
with (style)
{
left = menuFront.style.posWidth - 20;
}
itemLayer.appendChild(sepLayer);
}
}
else
{
innerText = displayText;
}
with (style)
{
posTop = menuFront.style.posHeight - 3;
posWidth = menuFront.style.posWidth - 4;
fontFamily = itemFont;
color = outCr;
if (hasSubMenu)
{
subMenuOffset = menuFront.style.posHeight - 3;
}
}
menuFront.style.posHeight += 15;
menuBack.style.posHeight += 15;
}
}
menuFront.appendChild(itemLayer);
menu[menu.length] = new menuItem(itemId, hasSubMenu, level, subMenuFront, subMenuBack, subMenuOffset, pageSrc);
}
function createSep(parentId)
{
var menuFront = document.getElementById(parentId + "Front");
var menuBack = document.getElementById(parentId + "Back");
var sepLayer = document.createElement("DIV");
with (sepLayer)
{
className = "itemSep";
innerHTML = "<hr size=\"1\" class=\"sep\" align=\"center\">";
with (style)
{
posTop = menuFront.style.posHeight;
posWidth = menuFront.style.posWidth - 4;
}
menuFront.style.posHeight += 7;
menuBack.style.posHeight += 7;
}
menuFront.appendChild(sepLayer);
}
function linkSubMenu(itemId, subMenuId)
{
for (i = 0; i < menu.length; i++)
{
if (menu[i].item == itemId)
{
menu[i].subMenuFront = subMenuId + "Front";
menu[i].subMenuBack = subMenuId + "Back";
break;
}
}
}
function hideMenus()
{
for (i = 0; i < divId.length; i = i + 2)
{
var menuLayer = document.getElementById(divId[i]);
menuLayer.style.visibility = "hidden";
}
}
function popUpPos()
{
var menuFront = document.getElementById(divId[0]);
var menuBack = document.getElementById(divId[2]);
widthMax = document.body.clientWidth;
heightMax = document.body.clientHeight;
xCoor = window.event.x;
yCoor = window.event.y;
sWidth = menuFront.style.posWidth;
sHeight = menuFront.style.posHeight;
xScroll = document.body.scrollTop;
widthScroll = document.body.offsetWidth - widthMax;
xWidth = xCoor + sWidth;
yHeight = yCoor + sHeight;
if (menuFront.style.visibility == "hidden")
{
if (yHeight < (heightMax - 1))
{
menuFront.style.posTop = yCoor + xScroll;
menuBack.style.posTop = yCoor + xScroll;
}
else
{
if (yCoor < sHeight)
{
menuFront.style.posTop = xScroll;
menuBack.style.posTop = xScroll;
}
else
{
menuFront.style.posTop = yCoor - sHeight + xScroll - 2;
menuBack.style.posTop = yCoor - sHeight + xScroll - 2;
if ((menuFront.style.posTop + menuFront.style.posHeight - xScroll + 2) > heightMax)
{
menuFront.style.posTop = heightMax - menuFront.style.posHeight + xScroll - 2;
menuBack.style.posTop = heightMax - menuFront.style.posHeight + xScroll - 2;
}
}
}
if (xWidth < widthMax - 1)
{
menuFront.style.posLeft = xCoor;
menuBack.style.posLeft = xCoor;
}
else
{
if (xCoor == (widthMax + 1))
{
menuFront.style.posLeft = xCoor - sWidth - 3;
menuBack.style.posLeft = xCoor - sWidth - 3;
}
else
{
if (widthMax < xCoor)
{
menuFront.style.posLeft = xCoor - sWidth - widthScroll - 1;
menuBack.style.posLeft = xCoor - sWidth - widthScroll - 1;
}
else
{
menuFront.style.posLeft = xCoor - sWidth - 2;
menuBack.style.posLeft = xCoor - sWidth - 2;
}
}
}
}
}
function findOffset(itemId)
{
offset = 0;
for (i = 0; i < menu.length; i++)
{
if (itemId == document.getElementById(menu[i].item))
{
offset = menu[i].level;
break;
}
}
for (i = 0; i < divId.length; i = i + 2)
{
if (offset == divId[i + 1])
{
return i;
}
}
}
function popUpSubPos(xCoor, yCoor, subMenuFront, subMenuBack, offset)
{
var menuFront = document.getElementById(divId[offset]);
var menuBack = document.getElementById(divId[offset + 2]);
widthMax = document.body.clientWidth;
heightMax = document.body.clientHeight;
sWidth = subMenuFront.style.posWidth;
sHeight = subMenuFront.style.posHeight;
xScroll = document.body.scrollTop;
widthScroll = document.body.offsetWidth - document.body.clientWidth;
xWidth = xCoor + sWidth;
yHeight = yCoor + sHeight;
if (subMenuFront.style.visibility == "hidden")
{
if ((yHeight - xScroll) < (heightMax - 1))
{
subMenuFront.style.posTop = yCoor;
subMenuBack.style.posTop = yCoor;
}
else
{
subMenuFront.style.posTop = yCoor - sHeight + 15;
subMenuBack.style.posTop = yCoor - sHeight + 15;
}
if (xWidth < widthMax - 1)
{
subMenuFront.style.posLeft = xCoor;
subMenuBack.style.posLeft = xCoor;
}
else
{
subMenuFront.style.posLeft = xCoor - menuFront.style.posWidth - subMenuFront.style.posWidth + 5;
subMenuBack.style.posLeft = xCoor - menuFront.style.posWidth - subMenuFront.style.posWidth + 5;
}
}
}
function show()
{
var source = window.event.srcElement.tagName;
var menuFront = document.getElementById(divId[0]);
var menuBack = document.getElementById(divId[2]);
if (menuFront.style.visibility == "hidden")
{
if (source != "A" && source != "IMG" && source != "INPUT" && source != "SELECT" && source != "TEXTAREA")
{
popUpPos();
menuFront.style.visibility = "visible";
menuBack.style.visibility = "visible";
return false;
}
}
else
{
hideMenus();
}
}
function checkElement(itemId)
{
if (itemId.className == "arrow")
{
return itemId.parentElement;
}
else
{
return itemId;
}
}
function over()
{
var itemId = event.srcElement;
itemId = checkElement(itemId);
offset = findOffset(itemId);
var menuFront = document.getElementById(divId[offset]);
var xCoor = menuFront.style.posLeft + itemId.style.posWidth;
var yCoor = menuFront.style.posTop;
var divSubId = divId.slice(4);
itemId.style.backgroundColor = overBgCr;
itemId.style.color = overCr;
for (i = 0; i < menu.length; i++)
{
if (itemId == document.getElementById(menu[i].item))
{
for (j = 0; j < divSubId.length; j = j + 2)
{
if ((menu[i].level) < divSubId[j + 1])
{
var subMenu = document.getElementById(divSubId[j]);
subMenu.style.visibility = "hidden";
}
}
if (menu[i].hasSubMenu)
{
var subMenuFront = document.getElementById(menu[i].subMenuFront);
var subMenuBack = document.getElementById(menu[i].subMenuBack);
subMenuFront.style.zIndex = menu[i].level + 12;
subMenuBack.style.zIndex = menu[i].level + 11;
popUpSubPos(xCoor, yCoor + menu[i].subMenuOffset, subMenuFront, subMenuBack, offset);
subMenuFront.style.visibility = "visible";
subMenuBack.style.visibility = "visible";
}
break;
}
}
}
function out()
{
var itemId = event.srcElement;
itemId = checkElement(itemId);
itemId.style.backgroundColor = outBgCr;
itemId.style.color = outCr;
}
function goToLink()
{
var itemId = event.srcElement;
for (i = 0; i < menu.length; i++)
{
if ((itemId == document.getElementById(menu[i].item)) && (menu[i].link != ""))
{
window.location.href = menu[i].link;
break;
}
}
}
function isIE()
{
return (navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion >= 5))
}
if (isIE)
{
document.onload = hideMenus;
document.onclick = show;
}
</script>
<script language="JavaScript1.2">
var overBgCr = "#3333CC";
var overCr = "#FFFFFF";
var outBgCr = "#C0C0C0";
var outCr = "#000000";
var itemFont = "Arial";
function createPopUpMenu()
{
createMenu("menu1", 150, 0); // Ana menüyü olusturmak için.
createItem("item1", "Link 1", "menu1", "http://www.ipucu.web.tr", false); // menü1'e link ekleniyor.
createItem("item2", "Link 2", "menu1", "http://www.ipucu.web.tr", false); // menü1'e link ekleniyor.
createItem("item3", "Link 3", "menu1", "", true); // alt menüsü olan bir item ekleniyor.
createItem("item4", "Link 4", "menu1", "http://www.ipucu.web.tr", false); // menü1'e link ekleniyor.
createItem("item5", "Link 5", "menu1", "http://www.ipucu.web.tr", false); // menü1'e link ekleniyor.
createMenu("menu2", 200, 1); //Alt menüyü olusturmak için. menü 2
createItem("item6", "Link 6", "menu2", "http://www.ipucu.web.tr", false); // menü2'ye link ekleniyor.
createItem("item7", "Link 7", "menu2", "http://www.ipucu.web.tr", false); // menü2'ye link ekleniyor.
createItem("item8", "Link 8", "menu2", "http://www.ipucu.web.tr", false); // menü2'ye link ekleniyor.
createItem("item9", "Link 9", "menu2", "http://www.ipucu.web.tr", false); // menü2'ye link ekleniyor.
linkSubMenu("item3", "menu2"); // menu2 deki 3ncü item ile 2nci menüyü iliskilendiriliyor..
}
</script>
.menuFront {
position: absolute;
visibility: hidden;
top: 0px;
left: 0px;
background-color: #C0C0C0;
border-left: 1px solid #FFFFFF;
border-right: 1px solid #000000;
border-top: 1px solid #FFFFFF;
border-bottom: 1px solid #000000;
margin: 1px;
cursor: default;
z-index: 11;
}
.menuBack {
position: absolute;
visibility: hidden;
top: 0px;
left: 0px;
background-color: #C0C0C0;
border-right: 1px solid #000000;
border-bottom: 1px solid #000000;
z-index: 10;
}
.item {
position: absolute;
visibility: inherit;
color: #000000;
font-size: 9pt;
font-family: Arial, sans-serif;
font-weight: bold;
left: 1px;
height: 15px;
padding-left : 5px;
z-index: 11;
}
.itemSep {
position: absolute;
visibility: inherit;
left: 1px;
height: 7px;
padding-left: 5px;
padding-right: 5px;
z-index: 11;
}
.sep {
position: absolute;
color: #FFFFFF;
width: 100%;
height: 1px;
z-index: 11;
}
.arrow {
position: absolute;
font-size: 9pt;
font-family: Marlett, sans-serif;
font-weight: normal;
margin-top: 2px;
z-index: 11;
}
</style>
<script language="JavaScript1.2">
var widthMax;
var heightMax;
var xCoor;
var yCoor;
var sWidth;
var sHeight;
var xScroll;
var widthScroll;
var menu = new Array;
var divId = new Array;
function rightClick()
{
document.oncontextmenu = show;
document.onclick = hideMenus;
}
function menuItem()
{
this.item = arguments[0];
this.hasSubMenu = arguments[1];
this.level = arguments[2];
this.subMenuFront = arguments[3];
this.subMenuBack = arguments[4];
this.subMenuOffset = arguments[5];
this.link = arguments[6];
}
function findMenuLevel(parentId)
{
for (i = 0; i < divId.length; i = i + 2)
{
if (divId[i] == (parentId + "Front"))
{
return divId[i + 1];
break;
}
}
}
function createMenu(menuId, menuWidth, level)
{
var frontLayer = document.createElement("DIV");
with (frontLayer)
{
id = menuId + "Front";
className = "menuFront";
with (style)
{
posWidth = menuWidth;
posHeight = 3;
backgroundColor = outBgCr;
visibility = "hidden";
}
}
document.body.appendChild(frontLayer);
var backLayer = document.createElement("DIV");
with (backLayer)
{
id = menuId + "Back";
className = "menuBack";
with (style)
{
posWidth = menuWidth + 2;
posHeight = 5;
backgroundColor = outBgCr;
visibility = "hidden";
}
}
document.body.appendChild(backLayer);
divId[divId.length] = menuId + "Front";
divId[divId.length] = level;
divId[divId.length] = menuId + "Back";
divId[divId.length] = level;
}
function createItem(itemId, displayText, parentId, pageSrc, hasSubMenu)
{
var menuFront = document.getElementById(parentId + "Front");
var menuBack = document.getElementById(parentId + "Back");
var level = findMenuLevel(parentId);
var subMenuFront = "";
var subMenuBack = "";
var subMenuOffset = -1;
var itemLayer = document.createElement("DIV");
with (itemLayer)
{
onmouseover = over;
onmouseout = out;
onclick = goToLink;
id = itemId;
className = "item";
if (displayText != "-")
{
if (hasSubMenu)
{
link = "";
innerText = displayText;
var sepLayer = document.createElement("DIV");
with (sepLayer)
{
className = "arrow";
innerText = "4";
with (style)
{
left = menuFront.style.posWidth - 20;
}
itemLayer.appendChild(sepLayer);
}
}
else
{
innerText = displayText;
}
with (style)
{
posTop = menuFront.style.posHeight - 3;
posWidth = menuFront.style.posWidth - 4;
fontFamily = itemFont;
color = outCr;
if (hasSubMenu)
{
subMenuOffset = menuFront.style.posHeight - 3;
}
}
menuFront.style.posHeight += 15;
menuBack.style.posHeight += 15;
}
}
menuFront.appendChild(itemLayer);
menu[menu.length] = new menuItem(itemId, hasSubMenu, level, subMenuFront, subMenuBack, subMenuOffset, pageSrc);
}
function createSep(parentId)
{
var menuFront = document.getElementById(parentId + "Front");
var menuBack = document.getElementById(parentId + "Back");
var sepLayer = document.createElement("DIV");
with (sepLayer)
{
className = "itemSep";
innerHTML = "<hr size=\"1\" class=\"sep\" align=\"center\">";
with (style)
{
posTop = menuFront.style.posHeight;
posWidth = menuFront.style.posWidth - 4;
}
menuFront.style.posHeight += 7;
menuBack.style.posHeight += 7;
}
menuFront.appendChild(sepLayer);
}
function linkSubMenu(itemId, subMenuId)
{
for (i = 0; i < menu.length; i++)
{
if (menu[i].item == itemId)
{
menu[i].subMenuFront = subMenuId + "Front";
menu[i].subMenuBack = subMenuId + "Back";
break;
}
}
}
function hideMenus()
{
for (i = 0; i < divId.length; i = i + 2)
{
var menuLayer = document.getElementById(divId[i]);
menuLayer.style.visibility = "hidden";
}
}
function popUpPos()
{
var menuFront = document.getElementById(divId[0]);
var menuBack = document.getElementById(divId[2]);
widthMax = document.body.clientWidth;
heightMax = document.body.clientHeight;
xCoor = window.event.x;
yCoor = window.event.y;
sWidth = menuFront.style.posWidth;
sHeight = menuFront.style.posHeight;
xScroll = document.body.scrollTop;
widthScroll = document.body.offsetWidth - widthMax;
xWidth = xCoor + sWidth;
yHeight = yCoor + sHeight;
if (menuFront.style.visibility == "hidden")
{
if (yHeight < (heightMax - 1))
{
menuFront.style.posTop = yCoor + xScroll;
menuBack.style.posTop = yCoor + xScroll;
}
else
{
if (yCoor < sHeight)
{
menuFront.style.posTop = xScroll;
menuBack.style.posTop = xScroll;
}
else
{
menuFront.style.posTop = yCoor - sHeight + xScroll - 2;
menuBack.style.posTop = yCoor - sHeight + xScroll - 2;
if ((menuFront.style.posTop + menuFront.style.posHeight - xScroll + 2) > heightMax)
{
menuFront.style.posTop = heightMax - menuFront.style.posHeight + xScroll - 2;
menuBack.style.posTop = heightMax - menuFront.style.posHeight + xScroll - 2;
}
}
}
if (xWidth < widthMax - 1)
{
menuFront.style.posLeft = xCoor;
menuBack.style.posLeft = xCoor;
}
else
{
if (xCoor == (widthMax + 1))
{
menuFront.style.posLeft = xCoor - sWidth - 3;
menuBack.style.posLeft = xCoor - sWidth - 3;
}
else
{
if (widthMax < xCoor)
{
menuFront.style.posLeft = xCoor - sWidth - widthScroll - 1;
menuBack.style.posLeft = xCoor - sWidth - widthScroll - 1;
}
else
{
menuFront.style.posLeft = xCoor - sWidth - 2;
menuBack.style.posLeft = xCoor - sWidth - 2;
}
}
}
}
}
function findOffset(itemId)
{
offset = 0;
for (i = 0; i < menu.length; i++)
{
if (itemId == document.getElementById(menu[i].item))
{
offset = menu[i].level;
break;
}
}
for (i = 0; i < divId.length; i = i + 2)
{
if (offset == divId[i + 1])
{
return i;
}
}
}
function popUpSubPos(xCoor, yCoor, subMenuFront, subMenuBack, offset)
{
var menuFront = document.getElementById(divId[offset]);
var menuBack = document.getElementById(divId[offset + 2]);
widthMax = document.body.clientWidth;
heightMax = document.body.clientHeight;
sWidth = subMenuFront.style.posWidth;
sHeight = subMenuFront.style.posHeight;
xScroll = document.body.scrollTop;
widthScroll = document.body.offsetWidth - document.body.clientWidth;
xWidth = xCoor + sWidth;
yHeight = yCoor + sHeight;
if (subMenuFront.style.visibility == "hidden")
{
if ((yHeight - xScroll) < (heightMax - 1))
{
subMenuFront.style.posTop = yCoor;
subMenuBack.style.posTop = yCoor;
}
else
{
subMenuFront.style.posTop = yCoor - sHeight + 15;
subMenuBack.style.posTop = yCoor - sHeight + 15;
}
if (xWidth < widthMax - 1)
{
subMenuFront.style.posLeft = xCoor;
subMenuBack.style.posLeft = xCoor;
}
else
{
subMenuFront.style.posLeft = xCoor - menuFront.style.posWidth - subMenuFront.style.posWidth + 5;
subMenuBack.style.posLeft = xCoor - menuFront.style.posWidth - subMenuFront.style.posWidth + 5;
}
}
}
function show()
{
var source = window.event.srcElement.tagName;
var menuFront = document.getElementById(divId[0]);
var menuBack = document.getElementById(divId[2]);
if (menuFront.style.visibility == "hidden")
{
if (source != "A" && source != "IMG" && source != "INPUT" && source != "SELECT" && source != "TEXTAREA")
{
popUpPos();
menuFront.style.visibility = "visible";
menuBack.style.visibility = "visible";
return false;
}
}
else
{
hideMenus();
}
}
function checkElement(itemId)
{
if (itemId.className == "arrow")
{
return itemId.parentElement;
}
else
{
return itemId;
}
}
function over()
{
var itemId = event.srcElement;
itemId = checkElement(itemId);
offset = findOffset(itemId);
var menuFront = document.getElementById(divId[offset]);
var xCoor = menuFront.style.posLeft + itemId.style.posWidth;
var yCoor = menuFront.style.posTop;
var divSubId = divId.slice(4);
itemId.style.backgroundColor = overBgCr;
itemId.style.color = overCr;
for (i = 0; i < menu.length; i++)
{
if (itemId == document.getElementById(menu[i].item))
{
for (j = 0; j < divSubId.length; j = j + 2)
{
if ((menu[i].level) < divSubId[j + 1])
{
var subMenu = document.getElementById(divSubId[j]);
subMenu.style.visibility = "hidden";
}
}
if (menu[i].hasSubMenu)
{
var subMenuFront = document.getElementById(menu[i].subMenuFront);
var subMenuBack = document.getElementById(menu[i].subMenuBack);
subMenuFront.style.zIndex = menu[i].level + 12;
subMenuBack.style.zIndex = menu[i].level + 11;
popUpSubPos(xCoor, yCoor + menu[i].subMenuOffset, subMenuFront, subMenuBack, offset);
subMenuFront.style.visibility = "visible";
subMenuBack.style.visibility = "visible";
}
break;
}
}
}
function out()
{
var itemId = event.srcElement;
itemId = checkElement(itemId);
itemId.style.backgroundColor = outBgCr;
itemId.style.color = outCr;
}
function goToLink()
{
var itemId = event.srcElement;
for (i = 0; i < menu.length; i++)
{
if ((itemId == document.getElementById(menu[i].item)) && (menu[i].link != ""))
{
window.location.href = menu[i].link;
break;
}
}
}
function isIE()
{
return (navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion >= 5))
}
if (isIE)
{
document.onload = hideMenus;
document.onclick = show;
}
</script>
<script language="JavaScript1.2">
var overBgCr = "#3333CC";
var overCr = "#FFFFFF";
var outBgCr = "#C0C0C0";
var outCr = "#000000";
var itemFont = "Arial";
function createPopUpMenu()
{
createMenu("menu1", 150, 0); // Ana menüyü olusturmak için.
createItem("item1", "Link 1", "menu1", "http://www.ipucu.web.tr", false); // menü1'e link ekleniyor.
createItem("item2", "Link 2", "menu1", "http://www.ipucu.web.tr", false); // menü1'e link ekleniyor.
createItem("item3", "Link 3", "menu1", "", true); // alt menüsü olan bir item ekleniyor.
createItem("item4", "Link 4", "menu1", "http://www.ipucu.web.tr", false); // menü1'e link ekleniyor.
createItem("item5", "Link 5", "menu1", "http://www.ipucu.web.tr", false); // menü1'e link ekleniyor.
createMenu("menu2", 200, 1); //Alt menüyü olusturmak için. menü 2
createItem("item6", "Link 6", "menu2", "http://www.ipucu.web.tr", false); // menü2'ye link ekleniyor.
createItem("item7", "Link 7", "menu2", "http://www.ipucu.web.tr", false); // menü2'ye link ekleniyor.
createItem("item8", "Link 8", "menu2", "http://www.ipucu.web.tr", false); // menü2'ye link ekleniyor.
createItem("item9", "Link 9", "menu2", "http://www.ipucu.web.tr", false); // menü2'ye link ekleniyor.
linkSubMenu("item3", "menu2"); // menu2 deki 3ncü item ile 2nci menüyü iliskilendiriliyor..
}
</script>