thickbox不加载embed标记内容

时间:2009-05-29 04:30:42

标签: jquery thickbox

我需要一些关于thickbox的建议! 我只是按照厚盒内联中的示例进行操作,但我无法在我的页面中加载div的内容。我的html代码和jquery代码。对我的问题有任何建议吗?

 $(".artist").hover(function(){
        var artistname = $(this).attr("title");
        var artist = "<embed hspace=\"5\" vspace=\"5\" ";
        artist += "src=\"http://abc.vn/res/music/passion/MP3_Player.swf\"";
        artist += "menu=\"false\" quality=\"high\" width=\"330\" height=\"338\"";
        artist += "name=\"index\" allowScriptAccess=\"never\" type=\"";
        artist += "application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\"";
        artist +=   "flashvars=\"&amp;config=http://abc.vn/res/music/passion/MP3_Config.xml&amp;";
        artist += "file=http://abc.vn/listsong.hightway?artist=" +artistname+ "\"";
        artist += "wmode=\"transparent\" border=\"0\"></embed>";

        $("#tooltip_artist").replaceWith(artist);
        $("#tooltip_artist").css({display:"none"});
    },function(){});

<a class="artist" title="singer's name" rel="#TB_inline&inlineId=tooltip_artist" href="/singer's name">singer's name</a>

感谢您的关注!

1 个答案:

答案 0 :(得分:1)

首先,在这里使用replaceWith是不明智的,因为在第一次盘旋之后,$('tooltip_artist')节点将被替换为你的swf - &gt;随后的悬停不起作用。最好使用.html()方法将嵌入代码插入$('tooltip_artist')。

然后我会使用双/单引号作为html片段,这样你就不必一直转义属性引号

var artist = '<embed hspace="5" vspace="5">';

最后,你确定要在这里使用.hover吗?显然,你的目的是在用户徘徊在他的名字上时播放艺术家的音乐。

但在这种情况下,你的做法是错误的。你最好在页面的某个地方嵌入一个可编写脚本的mp3播放器,并在用户将鼠标悬停在曲目名称上时触发其播放方法。与总是在.hover上重新实例化swf Movie相比,这提供了更好的性能。有一个很好的jQuery jPlayer插件(完全可以通过CSS设置),你应该看一下。