2014-07-03 36 views
-1

我試圖讓它能夠讓我的任何變量,名爲「封面」,等於在我的html正文中,iframe將使用它作爲源。我把它設置像這樣在我的js文件:如何正確地使一個iframe src等於我的變量等於什麼?

var cover = elem.attr('myFrame'); 

var cover = document.getElementById("myFrame"); 

$('.player .cover').attr('src','http://fakeurl.com/' + cover+''); 

,然後我有這樣的HTML身體的一部分:

<iframe class="cover" id="myFrame"></iframe> 


<ul id="audioplayer" class="playlist visible"> 

    <li audiourl="1.mp3" cover="fakeurl1" artist="pinkzebra" album="AudioJungle">In the Moment of Inspiration</li> 

    <li audiourl="2.mp3" cover="fakeurl2.html" artist="pinkzebra" album="AudioJungle">Inspiring Ideas into Motion</li> 

    <li audiourl="3.mp3" cover="fakeurl3.html" artist="pinkzebra" album="AudioJungle">Peaceful Dawn</li> 

    <li audiourl="1.mp3" cover="fakeurl4.html" artist="pinkzebra" album="AudioJungle">Photos and Memories</li> 
    <li audiourl="2.mp3" cover="fakeurl5.html" artist="pinkzebra" album="AudioJungle">Soaring Spirit</li> 

</ul><!-- /.playlist --> 

iframe的顯示正確的URL(如fakeurl.com) ,但不是添加與網址等同的封面,而是在[對象HTMLIFrameElement] 中輸入任何想法(例如,http://fakeurl.com/fakeurl1.html)。 這是一個音樂播放列表,以便即時試圖使它所以每當某個音頻普蘭時,iframe將等於不管蓋=爲該歌曲

+2

我不明白你在代碼的前兩行做了什麼。什麼是'elem'?你爲什麼要宣佈'cover'兩次? –

+1

爲什麼你可以設置像'document.getElementById('myFrame')。src ='你的網址' –

+0

這是一個音樂播放列表,所以即時通訊設法讓它如此,每當某個音頻播放時,iframe將等於任何封面=那首歌 – user3766012

回答

0

爲什麼在使用jQuery時使用getElementById

var cover = $('#cover'); 

你也宣告cover兩次,我看不出與.player類的HTML元素,也有myFrame屬性。您的代碼基本上將iframe引用的字符串表示設置爲它自己的src屬性。

這且不說,我想你想要做的是這樣的:

$(function(){ 
    // When a playlist item is chosen 
    $('#audioplayer li').click(function(){ 
     // Set the iframe src attribute to fakeurl.com 
     // with the playlist item's cover attribute appended 
     $('#myFrame').attr('src','http://fakeurl.com/'+$(this).attr('cover')); 
    }); 
}); 

看看這個小提琴。

http://jsfiddle.net/3LGW8/

+0

這個工作,但因爲這是一個音樂播放器,它只適用於當你點擊歌曲播放,不一定當歌曲是「選擇」,但這是一個其他故事可能更復雜,生病試圖找出如何使它在歌曲實際播放時使用封面變量,生病只是通過音頻播放器JavaScript文件進行一些挖掘。感謝Bunch – user3766012

0

你做的級聯的方式是錯在這裏

.attr('src','http://fakeurl.com/' + cover+''); 

寧願做這樣的(這只是基於你的方法,我不知道爲什麼你有兩個cover var聲明

var url = 'http://fakeurl.com/' + cover 
$('.player .cover').attr('src',url); 

以上eleganty我可以直接將這樣的

document.getElementById('myFrame').src = 'fixed url' + cover 
+0

我現在做了這個:var url2 ='http://fakeurl.com/'+ cover var cover = elem.attr('myFrame'); 現在的iframe帶我去http://fakeurl.com/undefined,而不是什麼封面等於 – user3766012

+0

爲什麼有一個';'爲'var url2 ='fakeurl.com/'; + cover',然後連接到'cover'值?你能提醒(掩飾);'看看會發生什麼? –

+0

謝謝你的時間男人!我提醒封面和窗口彈出空,沒有網址的文字或任何東西 – user3766012