Html - CSS - XML - JavaScript - Ajax
Javascript De Çözemediğim Bir Değişken Atama İşlemi, Ya Da Komple Değişkenler De Diyebiliriz
Javascript De Çözemediğim Bir Değişken Atama İşlemi, Ya Da Komple Değişkenler De Diyebiliriz
-
Merhaba, JS 'yi ilk defa kullanıyorum.
<a href="javascript: player.ytcplayer1.loadVideoById({'videoId': 'nPgE8Jdzojc', 'suggestedQuality': 'large'});"> ### </a>
yukarıdaki adreste gördüğünüz 'nPgE8Jdzojc' yazan yeri bir değişkene atamak, değişkeni de bir text-input tan değiştirmek istiyorum. var x = document.getElementById("myText").value; ile inputtan değeri x değişkenine alıyorum ama tırnak işaretleri olmuyor ve a-href de kullanamıyorum.
yine benzer şekilde:
<iframe id="ytcplayer1" src="http://www.youtube.com/embed/nPgE8Jdzojc?&autoplay=0&theme=dark&enablejsapi=1" style="position:fixed;"></iframe>
adresindeki nPgE8Jdzojc kısmını da değişkene atamak istiyorum.
Fikir verecek biri var mı?
Sevgilerle..
ek: sorun çözüldü. yardımcı olan herkese çok teşekkürler.
-
var strDegisken = blablabla; <a href="javascript: player.ytcplayer1.loadVideoById({'videoId': ''+ strDegisken +'', 'suggestedQuality': 'large'});"> ### </a>
Şeklinde dener misin?
-
ontedi bunu yazdı
var strDegisken = blablabla; ###
Şeklinde dener misin?
olmadı hocam.
javascript: player.ytcplayer1.loadVideoById({'videoId': ''+ strDegisken +'', 'suggestedQuality': 'large'});"> ###
yazısı çıktı.
ama çok sağol, düşünmen yeter.
ek: Jeremy Keith 'in DOM Scripting adlı kitabını indirdim, javascript nedir, syntax nasıl, variables, functions.. temellerine bakıyorum. belki öğrenirim bi'şeyler.
zor geldi.
RockZs tarafından 08/Tem/15 14:17 tarihinde düzenlenmiştir -
Forumda bu tarz işler için kesinilkle codepen ya da jsbin'den derleme yapılması gerekiyor.
Bu şekilde bakarak körlemesine kod yazıyoruz resmen.
Bence bu forum başlığında, en azından front-end için web tabanlı derleyicilerin bu kadar yaygın olduğu bir dönemde bunu kesinlikle kullanmalıyız.
http://jsfiddle.net/ (bu tarz işler için favorim bu)
Bu yapıldığında, biz de sorun çıkartan kodu editleyerek (yani fork ederek) size çalışan şeklinin url'ini atabiliriz.
Bence bu alışkanlığı edinelim. Hem cevap yazan için külfetli bir durum olmaktan çıksın, hem de soruyu soran sorununun çözümünü tek bir cevap ile alabilsin.
Bu arada forumda bunların embed özelliği yok galiba. Bin'i iframe ile embed etmeye çalıştım ve olmadı.
eomerx tarafından 08/Tem/15 14:39 tarihinde düzenlenmiştir -
hocalar fiddle linki şöyle: http://jsfiddle.net/gxcmteyk/2/
youtube api sini fiddle da bir türlü çalıştıramadım ama localde çalışıyor.
amacım şu:
- buraya video-id yaz yazan input a bir video-id sini yazacağım (örneğin , 6SZXH9RmW-4 )
- Gonder butonuna bastığımda bunu bir değişkene atayacak (MyFunction ile x değişkenine atıyor)
- Change Video linkine tıkladığımda ise x değişkenindeki video-id sini açacak. (şimdilik başka bir video'yu açıyor).
ek: eomerx e yardımlarından dolayı çok teşekkür ederim.
-
RockZs bunu yazdı
hocalar fiddle linki şöyle: http://jsfiddle.net/gxcmteyk/2/
youtube api sini fiddle da bir türlü çalıştıramadım ama localde çalışıyor.
amacım şu:
- buraya video-id yaz yazan input a bir video-id sini yazacağım (örneğin , 6SZXH9RmW-4 )
- Gonder butonuna bastığımda bunu bir değişkene atayacak (MyFunction ile x değişkenine atıyor)
- Change Video linkine tıkladığımda ise x değişkenindeki video-id sini açacak. (şimdilik başka bir video'yu açıyor).
ek: eomerx e yardımlarından dolayı çok teşekkür ederim.
öncelikle sana buradaki sorunu açıklayayım.
sayfadaki button (a'ları çevirdim) player denen bir objeye youtube player değişkenlerini atamak istiyor ama başaramıyor. Çünkü player denen bir değişken yok. Daha doğrusu, sen player'ı, button player'a değişken atamaya çalıştıktan sonra oluşturuyorsun.
Normalde js kodlarını bu şekilde çalıştırmak da pek sağlıklı değildir, yani html içerisinden onclick gibi ya da değişken atamak gibi.
Bunun iki çözümü var.
1- js kodlarını html'in üzerine gömeceksin.
2 html içine tek satır dahi js kodu yazmadan bütün js kodlarını ayrı bir dosya ya da blok içinde tutacaksın. Yani play tuşuna btn-play class'ını atayıp, başka bir js dosyasında da play class'ına sahip olan butona tıklandığında şunu yap dermiş gibi.
Ben kolay olacak şekilde düzenledim. yani 1. çözümden gittim.
http://jsfiddle.net/5ftrnd1p/3/
Bu arada ben temel js'yi buradan öğrenmiştim:
-
eomerx hocam dediğiniz gibi jsfiddle ı yeniden düzenledim (zaten localde de tek html üzerinden çalıştırıyorum, ilk kez fiddle kullandığımdan JavaScript bölümünü ayrı görünce herhalde js kodları oraya yerleştiriliyor diye düşünmüştüm). evet şu an youtube api si çalışıyor, çok sağolun tekrar.
http://jsfiddle.net/gxcmteyk/4/
şimdi yukarıdaki örnekte yapmak istediğim şu hacılar:
- buraya video-id yaz yazan input a bir video-id sini yazacağım (örneğin , 6SZXH9RmW-4 )
- Gonder butonuna bastığımda bunu bir değişkene atayacak (MyFunction ile x değişkenine atıyor)
- Change Video linkine tıkladığımda ise x değişkenindeki video-id sini açacak. (şimdilik başka bir video'yu açıyor).
yardım edebilecek biri varsa şimdiden çok teşekkür ederim. bu sorunu çözersem buradan ilerlerim ben.
-
Benim fiddle'daki eksik ne tam olarak peki?
-
eomerx bunu yazdı
Benim fiddle'daki eksik ne tam olarak peki?
hocam kusra bakma, Change Video yu gözardı ettiğini düşünmüştüm.
şimdi gördüğümde bunu butondaki fonksiyona iliştirmişsin.
çok teşekkür ederim, sorun çözüldü.
fakat aklıma takılan bir soru var: div içindeki a href de, 'videoId': 'nPgE8Jdzojc' kısmındaki 'nPgE8Jdzojc' yazan yere ,mesela, var_id adında bir değişken atasam, bu mantığa aykırı mı?
ek: sayenizde aydınlandım hocam, tekrar tekrar teşekkürler :D
RockZs tarafından 08/Tem/15 16:22 tarihinde düzenlenmiştir -
Hocam jQuery ile herşey daha basit. Şurada bir fiddle oluşturdum sanırım tam istediğin gibi
http://jsfiddle.net/5Lh3k6jr/1/
Edit: Youtube js api depraced hocam. Iframe api kullanmazsan birkaç ay sonra kodlarım neden çalışmıyor önceden çalışıyordu diye konu açarsın bunu da göz ardı etmeyelim
-
şöyle olabilir:
<button onclick="player.ytcplayer1.loadVideoById({'videoId': document.getElementById('myText').value, 'suggestedQuality': 'large'});"> Change Video </button>