Javascript 硬币 slider - 在服务器上时不工作

标签 javascript jquery css html

我在使用 Javascript Coin Slider 时遇到问题(很棒的下载 fr/: this workshop )。我附上 2 个屏幕截图。第一个是在 Chrome 中工作的文件,第二个是同时托管在我的服务器上的同一文件。这是我第一次真正使用 JQuery,所以我不确定是否有什么我忽略的事情?我已经详尽地查看了所有相关链接,以确保它们的语法和语义都是正确的。

请帮忙!

enter image description here

enter image description here

这是 HTML/Js:

<div id="coin-slider">
<a href="team/index.html"><img src="img/jq/1.jpg" /></a>
<a href="history/index.html"><img src="img/jq/2.jpg" /></a>
<a href="planning/index.html"><img src="img/jq/3.jpg" /></a>
<a href="fun/index.html"><img src="img/jq/4.jpg" /></a>
<a href="girls/index.html"><img src="img/jq/5.jpg" /></a>
<a href="tour/index.html"><img src="img/jq/6.jpg" /></a>
  <script type="text/javascript">
    $(document).ready(function() {
      $('#coin-slider').coinslider({ width:959, height:325, navigation: false, delay: 4000, spw:10, sph:6, sdelay: 50, effect: 'rain' });
        });
      </script>
</div>

...我的头脑调用:

<!-- JQuery Coin Slider image display and transition inclusions -->
  <script type="text/javascript"     src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  <script type="text/javascript" src="js/coin-slider.min.js"></script>

最佳答案

如果您检查错误控制台,您将看到以下错误:Uncaught TypeError: Object [object Object] has no method 'coinslider'

这表明 coinlider 脚本尚未加载。如果您检查源代码,您可以看到 javascript 文件确实正确加载(文件)。

这会让您假设它没有在正确的时间加载文件。

再次检查您的来源表明您没有将coinslider初始化包装到document.ready中调用,因此调用出现故障。

解决方案:将 coinlider 初始化包装到 document.ready 中函数,以便 jQuery 和其他所有内容都可用,您会发现它们都会开始工作。

额外说明:它在本地工作但不在服务器上工作的原因是本地加载文件几乎没有延迟。您不必等待它通过互联网下载,因此它基本上按照您在源中提供的顺序运行。例如(稍微简化以帮助解释):

我们包含 2 个文件:jQuery.js 和 coinlider.js,并且我们按该顺序包含它们(首先是 jQuery)。

我们的 coinlider.js 文件引用了 jQuery,并且需要加载 jQuery 才能执行。

在本示例中,我们假设两个 js 文件位于同一服务器上,但 jQuery.js 文件比coinslider.js 文件大很多。由于该文件大小,jQuery.js 文件的下载时间比coinslider.js 文件要长得多(实际上,它不仅取决于文件大小,还取决于服务器位于世界上的位置 - 延迟 - 并且还取决于文件大小)。您和服务器之间的互联网速度)。

假设 2 个下载请求(1 个用于 jQuery.js,1 个用于 coinlider.js)基本上在同一时间(时间 0 秒)发送。下载 jQuery.js 需要 5 秒,coinlider.js 下载需要 2 秒。

1 秒时:两个文件仍在下载中。

第 2 秒时:coinslider.js 已完成下载并执行。

第 5 秒时:jQuery.js 已完成下载并执行。

因为没有任何代码告诉浏览器现在立即执行coinslider.js,所以它在2秒时运行并失败,因为jQuery.js尚未执行。

通过包装 document.ready围绕 coinlider.js 初始化的函数,我们告诉浏览器等待一切准备就绪后再执行,因此它将等到 5 秒标记,此时 jQuery 将可用,一切都会好起来。

快乐有趣的聚会时光就会发生:)

编辑代码 似乎包含脚本时存在一些语法问题(您不能在其他 <script> 标签中包含 <script> 标签。

我不记得最初的版本是什么样的,但现在的版本发生了变化......

<!-- JQuery Coin Slider image display and transition inclusions -->
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"><script type="text/javascript">
    $(document).ready(function() {
      $('#coin-slider').coinslider({ width:959, height:325, navigation: false, delay: 4000, spw:10, sph:6, sdelay: 50, effect: 'rain' });
        });
      </script></script>
  <script type="text/javascript" src="js/coin-slider.min.js"><script type="text/javascript">
    $(document).ready(function() {
      $('#coin-slider').coinslider({ width:959, height:325, navigation: false, delay: 4000, spw:10, sph:6, sdelay: 50, effect: 'rain' });
        });
      </script></script>

致:

<!-- JQuery Coin Slider image display and transition inclusions -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="js/coin-slider.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
  $('#coin-slider').coinslider({ width:959, height:325, navigation: false, delay: 4000, spw:10, sph:6, sdelay: 50, effect: 'rain' });
});
</script>

此外,在源代码的第 93 行,<div id="coin-slider"> 中有以下内容:

<script type="text/javascript">
        $(document).ready(function() {
          $('#coin-slider').coinslider({ width:959, height:325, navigation: false, delay: 4000, spw:10, sph:6, sdelay: 50, effect: 'rain' });
        });
</script>

删除它。

关于Javascript 硬币 slider - 在服务器上时不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10343675/

相关文章:

jquery - 如何在 EJS 中附加 jQuery?

javascript - 实现 iframe 的顶部和底部水平滚动条

html - 将嵌套 DIV 对齐到父 DIV 的底部 - 响应式 - Bootstrap3

html - 无法让网格区域填充垂直空间

javascript - md-tab 中 Angular-Datatables 的滚动功能

php - 跟踪 CDN 文件上的请求

javascript - 这是削弱 console.log 的好方法吗?

javascript - ajax 自动完成文本框搜索箭头键选择不起作用

html - Ubuntu 服务器 14.04 上的 Rails,未加载应用程序布局

javascript - 如何向 GridView 添加复选框?