1
bombless 2013-12-03 22:12:54 +08:00 1
你需要花点时间学一下 jQuery
如果没有基础的话普通人可能需要花3天时间了解个大概 jQuery 可以用 $(function_to_setup); 或者 $(document).ready(function_to_setup); 来执行一个函数例如 function_to_setup ,在这里面操作浏览器 DOM 。像你那样的话假如你的脚本在相应的 DOM 之前并且 script 标签没有加上 defer 属性,那么 $("#jquery_jplayer_1").length 是0,取不到任何 DOM 。即使修改了 script 标签的位置或者给它加上 defer 属性,你的播放器的 jQuery.fn.jPlayer 函数也可能因为 DOM 没有准备好而出错。 在阅读一本 jQuery 指导书之前也许你需要学习一下《 JavaScript 语言精粹》以了解 JavaScript ,这门语言可能不如你想象的那么简单。 本着授人以鱼不如授人以渔的精神,就不直接说怎么改了。 如果你需要一个短平快的解决方案,就当我没说…… |
2
serenader OP @bombless 感谢您的指点。
看来我还是得先放下这些比较复杂的,先学好基础的JavaScript和jQuery。 |
3
cyr1l 2013-12-03 22:55:57 +08:00 1
@serenader
官方文档里这么写的: ready Function : (Default: undefined) : Defines an event handler function that is bound to the $.jPlayer.event.ready event. To reference the current instance, use $(this). Generally, it is recommended to use a function here to at least $(this).jPlayer("setMedia",media) the instance to a valid url ready for use. 注意最后一句话, 使用这个事件的时候, 注意至少需要 setMedia , 并且赋予一个可用的 mp3 地址。所以不设置mp3 地址, 是没法触发 ready 事件的。 |