javascript - jQuery/HTML5 轮盘赌不工作

标签 javascript jquery html

我正在尝试在我的网站中实现 jquery/html5 轮盘赌。
我找到了一些我想使用的 jsfiddle 代码:http://jsfiddle.net/kYvzd/118/ 但是当我尝试在我的网站上实现它时,它不起作用.. 我收到错误 TypeError: $(...).spinwheel 不是函数 [了解更多]

这是我实现的代码: HTML:

<legend class="text-center header">Roulette!</legend>
  <div id="main">
    <div id="left-column">
      <form class="iform" action="#" method="get">
        <label for="joiner"></label>
        <input id="joiner" name="joiner" class="joiner" placeholder="Please Enter your name" />
        <button class="add">Add</button>
        <button class="spin-trigger">Spin</button>
      </form>        
      <canvas class="canvas" width="500" height="500"></canvas> 
    </div>
    <div id="right-column">
      <p class="winner">The Winner is ... <span>&nbsp;</span></p>
      <ul class="participants">
      </ul>
    </div>
    <div style="clear:both"></div>

  </div>

<script>
$(document).ready(function(){
   $('.canvas').spinwheel({
       pplArray : ["♈", "♉", "♊", "♋","♌", "♍", "♎", "♏","♐", "♑", "♒", "♓"]
   });
});
</script>

JS和JS文件完全一样,实现如下:

<script src="http://code.jquery.com/jquery-1.6.js" type="text/javascript"></script>
<?php
  if($active=="roulette") echo '<script src="js/roulette.js" type="text/javascript"></script>'
?>

我可以看到该文件是roulette.js的实现,所以PHP部分$active没有任何问题。
我觉得真的很愚蠢,因为我基本上只是复制了代码,但它不起作用......
还有<script> HTML 中的部分是我唯一移动的部分,因为我需要动态更改其中的一些值。

更新: 网站链接为:http://randomstock.net/roulette.php

最佳答案

您的站点中包含两个 jQuery 副本。看着<head>你有

<script src="http://code.jquery.com/jquery-1.6.js" type="text/javascript"></script>
<script src="js/roulette.js" type="text/javascript"></script>

此时,您已经在页面上运行了 jQuery 1.6,并且按照您的预期将 spinwheel 插件添加到了 jQuery 中。

你有代码

$(document).ready(function () {
    $("canvas").spinwheel(...);
});

这一切都会如您所期望的那样工作。

但是!

在页面底部,您可以看到

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

此时,您已经有了 jQuery 的新副本 - 一个没有安装 spinwheel 插件的副本。您的页面处于奇怪的边缘状态,其中 $(document).ready从 jQuery 1.6 运行,但是 $当它运行时,里面将是较新的 jQuery,没有插件。

两种解决方案:

  1. 首选:去掉重复的 jQuery
  2. $(document).ready(function($) { ... })将确保$函数内部将与外部相同。

关于javascript - jQuery/HTML5 轮盘赌不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40070395/

相关文章:

javascript - 初始化后更改输入字段的占位符文本

html - 如何在一行中显示两个水平的无序列表?

javascript - 在 iFrame 问题中注入(inject) HTML、CSS 和 JAVASCRIPT

javascript - Angular 将参数传递给函数

javascript - 如何从可拖动元素中删除 Bullet?

javascript - jQuery 捕捉/固定菜单宽度在滚动超过某个点时发生变化和跳跃

javascript - 获取字符后的所有字符串(如果有空格)

javascript - 一种表单中有两个提交按钮。提交函数中的事件可以知道是哪一个吗?

html - 拥有大量实体的缺点是什么?

javascript - 使用 SharePoint 的 toastr js