【问题标题】:Can't get dropotron script to work properly [HTML/CSS/JavaScript]无法让 dropotron 脚本正常工作 [HTML/CSS/JavaScript]
【发布时间】:2015-12-07 02:16:41
【问题描述】:

我问过一个关于在我的网页上创建类似于模板的下拉菜单的问题。我发现模板正在使用 dropotron 创建这个菜单。我下载了 dropotron 并尝试按照它提供的说明进行操作。

Here's my websitehere's the example that shows a working dropotron script

这是 HTML、CSS 和 JavaScript 的 codepen 链接:codepen.io/anon/pen/EPaYNz

奇怪的是它可以在 codepen 结果中使用,但我不确定为什么它在我的网站上出现问题。我完全复制了 HTML、CSS 和 JavaScript 文件。

有什么想法吗?

谢谢!

编辑: 我在 codepen 结果中发现的另一个错误是当我将鼠标悬停在子菜单中的“传记”上时,“我是谁”消失了。有什么办法可以解决这个问题吗?

【问题讨论】:

  • 您的网站出现错误:Uncaught TypeError: $(...).dropotron is not a function。这意味着 dropotron() 方法尚未添加到 jQuery 中。当我在您的网站中输入$.dropotron 时,它会返回undefined,但在示例页面上它会返回该功能。所以在某些时候,dropotron 实际上并没有被创建。
  • 可能是您的head 元素中的jQuery script 标记。在// 之前添加http: 可能会起作用。
  • 已添加,但没有任何改变。当谈到javascript时,我很迷茫,所以我不太确定根据你的第一个答案我应该改变什么。关于它可能是什么的任何其他猜测?
  • 我还想指出,您在 head 元素和 body 元素的末尾请求 jQuery。你只需要一个。也许删除head 元素中的那个,然后将dropotron script 标签向下移动到main.js script 标签的正上方。
  • 还要确保带有代码的script 位于dropotron 脚本标签下方。

标签: javascript jquery html css


【解决方案1】:

出于格式化目的,我将其作为答案。您的脚本底部应如下所示,head 中不应有脚本:

<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery.poptrox.min.js"></script>
<script src="assets/js/jquery.scrolly.min.js"></script>
<script src="assets/js/jquery.scrollex.min.js"></script>
<script src="assets/js/skel.min.js"></script>
<script src="assets/js/util.js"></script>
<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
<script src="assets/js/jquery.dropotron.js"></script>
<script>
  $(function() {

    // Note: make sure you call dropotron on the top level <ul>
    $('#nav > ul').dropotron({ 
      offsetY: -10 // Nudge up submenus by 10px to account for padding
    });

  });
</script>
<script src="assets/js/main.js"></script>

顺便说一句,你的&lt;--[if lte blah] 并没有在末尾一直有右尖括号&gt;

【讨论】:

  • 这成功了!具有讽刺意味的是,当我复制更改时,它不再适用于 codepen。非常感谢你的帮助!似乎是一个真正容易解决的问题 <_ href="http://zachdamit.cechire.com/five" rel="nofollow" target="_blank">on the site
  • 可能在你的 CSS 中。看起来在 #nav ul li.active a 下,您将颜色设置为白色 (#FFFFFF)。只需删除颜色线。
  • 非常感谢您的帮助。我知道我的一些问题是微不足道的。非常感谢!
猜你喜欢
  • 2013-11-02
  • 1970-01-01
  • 2014-02-25
  • 1970-01-01
  • 2019-08-11
  • 2014-12-07
  • 2015-04-04
  • 1970-01-01
  • 2012-06-06
相关资源
最近更新 更多