我正在使用jQuery cycle lite插件在rails app中制作图片幻灯片。但它不起作用。谁能告诉我代码中的问题是什么?
<html>
<head>
<title>HealthCare</title>
<%= stylesheet_link_tag "EHRMS", :media => "all" %>
<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'></script>
<script type='text/javascript' src='script.js'>
$('#mar').cycle({
delay: 2000,
speed: 500,
before: onBefore
}); </script>
</head>
</html>
#mar
是要滑动图像的分区。
答案 0 :(得分:0)
JavaScript代码在页面加载后立即运行,但页面可能尚未准备好运行脚本(DOM可能尚未初始化,因此#mar
元素可能尚不存在)。< / p>
通常,您需要将此类代码包装在jQuery ready()
函数中,如下所示:
<script type='text/javascript' src='script.js'></script>
<script type='text/javascript'>
$(document).ready(function(){
$('#mar').cycle({
delay: 2000,
speed: 500,
before: onBefore
});
});
</script>
有关详细信息,请参阅ready()
文档。
<强>更新强>
您的代码中可能还有一个问题,即<script>
标记同时包含src
属性(src='script.js'
),但它也包含<script>...</script>
之间的内容标签。根据{{3}},这是无效的,<script>
标记的正文将被忽略。尝试将其分解为单独的<script>
标记。我已经更新了上面的代码片段,并举例说明了如何做到这一点。