0

我正在使用 jQuery cycle lite 插件在 rails 应用程序中制作图像幻灯片。但它不工作。谁能告诉我我的代码有什么问题?

<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是与要滑动的图像的划分。

4

1 回答 1

0

JavaScript 代码在页面加载后立即运行,但页面可能尚未准备好运行脚本(DOM 可能尚未初始化,因此该#mar元素可能还不存在)。

通常,您会希望将此类代码包装在 jQueryready()函数中,如下所示:

<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>标签之间也有内容。根据这个问题,这是无效的,<script>标签的正文将被忽略。尝试将其分解为单独的<script>标签。我已经用一个如何做到这一点的例子更新了我上面的代码片段。

于 2013-04-05T06:25:31.527 回答