2014-07-03 40 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