imleç alandan çıkmadan nesne yok olduğu için. jquery ile click event oluştur settimeout ile tooltip'i 1 saniye sonra gizle.
en uygun diye bir seçenek olduğunu sanmıyorum. hangisi sana hitap ediyorsa. ben jquery'i tercih ederdim. daha performanslı veya teknik açıdan daha iyi diye mi? alakası yok. ben javascript'in highlights'ını sevemedim bir türlü. jquery gözümde daha derli toplu durduğu için seçtim : ) jquery vs vuejs diye aratırsan çokça karşılaştırması çıkacağına eminim. ben jquery'yi tavsiye ederim, kaynak açısından daha çok ilgi gören bir kütüphane ve uygulaması hem basit hem pratik. gerçi vue için daha basit diyorlar ama, jquery de zor değil yani. biraz pratik yaptıktan sonra, jquery büyücüyü gibi hissetmemi sağladı. hatta jquery kullanırsan ve tasarımla çok haşır neşir olacaksan jquery'nin birde ui kiti mevcut jqueryui diye. örneklerine mutlaka bak derim.
edit: https://vuejs.org/examples/ dan örneklere bakayım dedim bi. kıyaslayacak kadar javascriptte profesyonel değilim ama, js dom ile çok karışıyor. jquery de bu kadar dom'un içerisine girmene gerek kalmadan yapıyı değiştirebiliyorsun. yani bir html dön, bir scripte dön ayrı ayrı yaz gibi bir durum yok. hatta hiç html kodu yazmadan gerektikçe jquery ile oluştur. ayrıca yazdığın tüm methodları bildirmen ve aktarman gerekiyor gibi duruyor. tüm örneklerde export ile kullanıldığı için zorunlu olduğunu varsayıyorum. jquery de bu opsiyonel. son olarak php ile kod yazacaksan ve tasarım motoru kullanacaksan, vuejs kafa karışıklığına da sebep olabilir, aşağı yukarı benzer şekilde php komutları da bildirebilirsin dom da bu seferde ilk bakışta anlaması zor olur hangisi php hangisi js.
bana pratik gelmedi, işte basit bir kıyaslama;
// VueJS
<script>
export default {
data() {
return {
message: 'Hello World!'
}
}
}
</script>
<template>
<h1>{{ message }}</h1>
</template>
//jQuery
<script>$('h1').text('merhaba dünya')</script>
<h1></h1>
açıkcası ben birde gidip eleman içinde bildireceksem mesajımı, uğraşmam.
countdown olarak geçiyor. saatler arası hesaplama yapmak mantığı değiştirmiyor, saatte gün gibi tarihin bir parçası. mantığı ise, belirlediğin zamandan şimdiki zamanı düşmek. daha sonrasında setinterval tarzı bir method ile yenilemek. burada hazır bir örneği var https://www.w3schools.com/howto/howto_js_countdown.asp
evet kimse fikir belirtmeyince, geri dönüp düşündükten sonra gerekli düzenlemeyi yaptım. aslında aklıma geldikten sonra gayet basitmiş de... gelmedi : ) tüm yapıyı false edip, parçalara ayırdığım dizin derinliğine göre toggle'ı true yaptım. burda da yaşadığım sorunlardan biri, alt derinliklerin gözükmemesiydi. regex ile başlayan şeklinde bir ifade de bulundum, başlayan olduğu için ve parçalanan değerlerden tek tek derinliğe indiği için bu sefer yan derinlikleri de göstermeye başladı. örneğin bin/klasor şeklinde gitmesi gerekirken, bin/klasor2'i de bin'in aldığında olduğu için. bu sefer başlayan ifadesini çıkartıp sorgu bittikten sonra, son değeri alıp son değerden sonra başlayan diyerek sorunu çözdüm. indexofu kaldırıp koşulları da azaltınca, çok daha verimli oldu.
kullanmak isteyen benzer bir işe uyarlamak isteyen olursa diye kodları da ekliyorum:
$('[name="dizinara2"]').change(function(){
let dirs = this.value.split('/'),
x = [],
dir = $(`[data-dizin="${this.value}"`),
dirLast = this.value,
liToggle = function(bool, mes){
$('[data-dizin]').each(function(){
$(this).toggle(bool);
});
console.log(mes);
};
for (let y = 0; y < dirs.length; ){
x[y] = y == 0 ? dirs[0] : x[y-1]+'/'+dirs[y];
y++;
}
if(dir.html() !== undefined){
liToggle(false, dirLast)
for (let y = 0; y < dirs.length; ){
x[y] = y == 0 ? dirs[0] : x[y-1]+'/'+dirs[y];
$(`[data-dizin="${x[y]}"`).toggle(true);
y++;
}
$(`[data-dizin^="${dirLast}"`).each(function(){
$(this).toggle(true);
});
}else{
dirLast.length > 0 ?
liToggle(false, dirLast+' için sonuç bulunamadı') :
liToggle(true);
}
});
.warapper display table
.ide float left
.texarea foat right
<select id="dilEkle" name="dilEkle">
<option value="tr">Türkçe</option>
<option value="en">İngilizce</option>
<option value="fi">Fince</option>
<option value="es">İspanyolca</option>
</select>
<style>.canli,.soluk,.yarim,.yildiz{margin:5px;margin-top:22px;}.canli{color:#6f42c1;}.soluk{color:#525f7f;}</style>
<div class="stat" style="font-size:22px; display: none">
<span class="fas fa-star canli"></span>
<span class="fas fa-star canli"></span>
<span class="fas fa-star canli"></span>
<span class="fas fa-star yarim" style="display: inline-block;line-height: 1em;background: linear-gradient(to right, #6f42c1 70%, #525f7f 30%);background-clip: text;-webkit-background-clip: text;-webkit-text-fill-color: transparent;"></span>
<span class="fas fa-star soluk"></span>
</div>
$('[name="dilEkle"]').change(function(){
$('#dilEkle').after(`<div class="oran"><hr><p>${$("#dilEkle option:selected").text()} seviyenizi seçin:</p><input type="range" value="0" min="1" max="100" oninput="this.nextElementSibling.value = this.value" name="secim"><output>0</output><button name="${this.value}Sec"><i class="fas fa-check-circle"></i> kaydet</button></div>`);
$(`[name="${this.value}Sec"]`).click(function(){
console.log($('[name="secim"]').val());
$('.oran').remove();
$('.stat').show();
});
});
jquery ve fontawesome gerektirir. yaptığım yıldız dinamik bir görüntü oluşturuyor. ama bunu yapmak 2dk, css ile uğraşmak 1 saatimi aldı. uğraşamadım dönen yüzdeye göre koşullar yazmaya. koşulları doğru yazarsa yıldızların rengi ona göre değişir. dikkat etmen gereken nokta background da yer alan righ to yüzdesi. canli olan kisim tam puan alan class, yarim olna işte 4.5 puandır, 5. yıldızı etkileyen o yüzdesel backgroundlık kısımdır. soluk kısımsa negatif olan kısım, 2 puan aldıysa diğer 3 yıldız soluk class'lı olmalı. bol şans. normalde pek oturup kod yazmam teorik bilgi veririm sadece.
başlıktan anladığım ile içerikten anladığım apayrı şeyler. bence bir resim eklemelisin. ben hiç üye olup gezinmedim kariyer.net de.
ozelsite.com görüntülenmeyen site olsun.
site.com sizin siteniz olsun.
site.com/iframe url ile gerekiyorsa parametre oluşturarak (farklı sayfalar varsa) bir iframe sayfası oluşturun. sizin üzerinizden görüntülesinler. bu arada hosting ya da sunucunuz static ip'e sahip değilse ileride sorun yaşayabilirsiniz.
istinai hata olustur try catch olarak aratabilirsin bilmiyorsan soruyu yine anlamadim ama cozum olacaktir
amacın veritabanında bulunan resimlerden varolan herhangi birini tekrar yüklemeye çalıştıklarında hata vermek mi, yoksa aynı anda çok sayıda dosya yüklerken o dosyalar içerisinde aynı isme sahip dosyalar varsa hata mesajı vermek ki?