Soru - Cevap Bölümü
/ Kategori: Programlama
15/06/2007 - 23:20:37 cevap (11) Okunma : 12838 Bu yazıyı 1 kişi tuttu.
Yeniledikçe değişen arkaplan kodu
arkadaşlar mtv.com daki gibi her sayfanın yenileşinde otomatik değişen arkaplan resmini css ile mi yoksa java ile mi yapabiliriz.
css ile yapabilirsek makbule geçer.
bunu nasıl gerçekleştirebiliriz.
Cevaplar
( Faydalı Cevapları Göster )
Merhaba Burak,
Sana gerçekten çok teşekkür ederim ilgin için bende araştırmaktayım bulur bulmaz mmistanbul üyeleriyle paylaşacağım
http://www.webmasterworld.com/forum91/3163.htm bu adreste aşağıdaki kodu buldum. mtv de resimle beraber bg colorda otomatik değişior. bunun kullanımını nasıl gerçekleştirebiliriz acaba
<InvalidTag>
var backgroundSrcs = new Array('1.jpg','2.jpg','3.jpg','4.jpg','5.jpg','6.jpg','7.jpg')
function pickimage()
{
var bgimage=backgroundSrcs[(Math.round(Math.random()*(backgroundSrcs.length-1)))]
document.getElementById('random').style.backgroundImage = 'url('' + bgimage + '')';
}
</script>
<body>
var backgroundSrcs = new Array('1.jpg','2.jpg','3.jpg','4.jpg','5.jpg','6.jpg','7.jpg');
var backgroundClrs = new Array('#ff0099','#004080','#cc0000','#cc9966','#ff6633','#ff0099','#ffffff');
// rasgele sayımız
var rnd= Math.round(Math.random()*(backgroundSrcs.length-1));
function changeSomething(){
if (document.body) {
// rastgele sayıya karşılık gelen arka plan
document.body.style.backgroundImage = 'url('+backgroundSrcs[rnd]+')';
// ve renk
document.body.style.backgroundColor = backgroundClrs[rnd];
}
}
Sayfanda <body onload=’changeSomething();’> şeklinde kullanabilirsin.
merhaba. dediğini yaptım çalıştı fakat bg tekrarlanıor. tabloya göre ortalamayı nasıl yapabiliriz. css gerektiren bir işlem varmı acaba
yaa ard arda yazıorum biliorum ama sorunum şu. background repeat yapıyor. bunu javascript içinde nasıl no-repeat yapabiliriz. birde mtv.com da bg boyutu 1600 * 1600 yani bu boyuttaki bg resmini çözünürlüğ egöre otomatik ayarlıyor. bunları nasıl gerçekleşgirebilirz. şimdiden teşekkür ederim
Açıklama :
Burada temel js ya da temel programlama bilgisine ihtiyacın var. Js de dizi indexlerinin 0 dan başladığını bilmen gerekiyor.
backgroundSrcs.length bize backgroundSrcs dizimizdeki eleman sayımızı veriyor. Dizimiz 7 elamanlı, dizi indexi 0 dan başlıyor;
0,1,2,3,4,5,6,7 rakamları arasından kodumuz bize rasgele bir sayı ürettiğinde 7 sayısına karşılık gelen eleman olmayacağı için kodumuz çalışmayacaktır. Zaten bakarsa 0 dan başladığımız için dizi uzunluğumuz 8 eleman olarak çıkıyor bu da doğru değil zaten. O nedenle
backgroundSrcs.length-1
işlemi ile dizimizin eleman sayısının 1 eksiğine kadar sayı üretilmesini sağlıyoruz. Burada çıkan 6 sayısı dizimizin en son elemanına işaret ediyor.
Son olarak tüm bu karmaşık! açıklamaları anlaman için temel js bilgisine ihtiyacın var, eğer varsa zaten anlamışsındır.
document.body.style.backgroundRepeat = 'no-repeat';
ile arka planını tekrarlanmasını önleyebilirsin. Koddaki if (document.body) { bölümünden sonra bu kodu yerleştirirsen daha iyi olur.
Diğer sorularına gelince, biraz tembellik yapıyor gibisin.
google üzerinde biraz aratırsan benim verebileceğim cevaplardan daha iyilerini bulabilirsin.
Arkadaşlar size eski bi sistemle sormak istiyorum ne asp ne php bu kodları not defterinde arka fontu değiştirmeyi yapamazmıyız.Saygılarımla
php olarak rand fonksiyonu ile değişen arka planları şu şekilde yapabiliriz.
index.php ya da arka planı değişmesini istediğimiz dosyamızın <head> kodundan önce şu fonksiyonu ekleriz.
<php>
buradaki $imgid arka resim değişkenimiz olacak ve 1 ile 7 resim arasında değişim gösterecek.
bunun dışında img1.jpg, img101.jpg, img102.jpg, img103.jpg … img107.jpg isimlerinde değişik bg resimleri hazırlıyoruz ve tablomuzu şu şekilde oluşturuyoruz.
<table>
<tr>
<td>
<img></td>
</tr> </table>
böylelikle her sayfa enilenmesinde arkaplan resmimiz değişecektir.
CSS+php olarak da şu şekilde yapabilirz <head> kodu içinde özel bir style belirleriz
<style>
<!--
.bg01 {
background:url(<?php echo get_settings'siteurl'/images/bg_01'.sprintf('_%02d',rand(1,7)).'.jpg'; ?>);
}
-->
</style>
yine bg0101.jpg , bg0102.jpg, bg0103.jpg… 7 adet jpg resim olurşturup images dosyasına atıyoruz. ve bg01 classını kullandığımız yerde her sayfa yenilendiğinde bu resimler değişerek görüntüleniyor.
Etkinlikler
Toplantı
Kahraman ve need4code.com Projesi Connect Toplantısı
Kahraman ve need4code.com Projesi Connect Toplantısı
Selam arkadaslar,
Programlama ile uğraşanların hayatlarını kolaylaştıracak desktop ve web tabanlı ortak iki proje ile ilgili 3. toplantımızı 3Aralık...
Kategori:
Toplantı
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 251 (0 kayıtlı, 251 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız









Sevgili ‘anixeon’, senin için mtv.com’u araştırdım. Kodların arasında sitewide.js diye bir javascript var. Bütün olay onda gerçekleşiyor. Sonra daha önce belirledikleri bir klasörden javascript aracılığıyla bu backgroundları çağırıyorlar.
Kısacası araştırmam bitmedi sana tam elle tutulur birşey veremedim ama yine araştırmaya devam edeceğim sadece bunu dipnot olarak bilgin olsun istedim.
sende bu konuda bir çözüm bulursan yine haberdar et bu başlık altında.