【问题标题】:Correct way to include custom javascript when using Zurb Foundation使用 Zurb Foundation 时包含自定义 JavaScript 的正确方法
【发布时间】:2013-04-03 10:21:55
【问题描述】:

现在我在尝试将自己的 jQuery 添加到 Foundation 项目时遇到了很多问题。

这与基金会使用“无冲突”的方式有关吗?添加自己的脚本的正确步骤是什么?

我尝试在调用foundation.min.js 之后包含对scripts.js 文件的调用,但是一些非常简单的slideToggle 调用根本没有运行。然而,当我删除对foundation.min.js 的引用时,一切正常。

我也遇到了外部脚本文件的问题。

有什么建议吗?谢谢。

【问题讨论】:

    标签: jquery zurb-foundation


    【解决方案1】:

    我将我的自定义 js 脚本添加到脚本列表的最后,在结束 body 标记之前和 $(document).foundation(); 之前。我还将它存储在 js/vendor 目录中。在下面的粘贴中,我将所有内容都存储在一个全局目录中;找自己的js目录就好了。

    <script src="global/js/vendor/jquery.js"></script>
    <script src="global/js/foundation/foundation.js"></script>
    
    <script src="global/js/foundation/foundation.alerts.js"></script>
    
    <script src="global/js/foundation/foundation.clearing.js"></script>
    
    <script src="global/js/foundation/foundation.cookie.js"></script>
    
    <script src="global/js/foundation/foundation.dropdown.js"></script>
    
    <script src="global/js/foundation/foundation.forms.js"></script>
    
    <script src="global/js/foundation/foundation.joyride.js"></script>
    
    <script src="global/js/foundation/foundation.magellan.js"></script>
    
    <script src="global/js/foundation/foundation.orbit.js"></script>
    
    <script src="global/js/foundation/foundation.placeholder.js"></script>
    
    <script src="global/js/foundation/foundation.reveal.js"></script>
    
    <script src="global/js/foundation/foundation.section.js"></script>
    
    <script src="global/js/foundation/foundation.tooltips.js"></script>
    
    <script src="global/js/foundation/foundation.topbar.js"></script>
    
    <!-- My Custom Script!!!! -->
    <script src="global/js/vendor/custom.js"></script>
    
    <script>
        $(document).foundation();
    </script>
    </body>
    </html>
    

    你没有提到你是否在使用 Zurb Foundation 4;如果你注意到它默认使用 Zepto(而不是 jQuery),除了不理解 proto 调用的浏览器。如果您发现 jQuery 函数不起作用,您可能需要注释掉设置 Zepto 而不是 jQuery 的代码,然后进行测试。在文档底部附近查找以下内容:

    <script>
    document.write('<script src=' +
    ('__proto__' in {} ? 'global/js/vendor/zepto' : 'global/js/vendor/jquery') +
    '.js><\/script>')
    </script>
    

    替换为:

    <!-- <script>
    document.write('<script src=' +
    ('__proto__' in {} ? 'global/js/vendor/zepto' : 'global/js/vendor/jquery') +
    '.js><\/script>')
    </script> -->
    
    <script src="global/js/vendor/jquery.js"></script>
    

    然后确保将 jquery.js 存储在适当的文件夹中。同样,我将文件存储在 /global 目录中。

    希望有帮助!

    【讨论】:

    • 感谢 Will 的回答,是的,我刚换到 Foundation 4,会尝试一下并报告您的想法!
    • 谢谢 Will,为 Foundation 4 做所有这些似乎已经成功了。我摆脱了 zepto 调用并手动包含 jquery。谢谢!
    • Hey onjegolders -- 只是好奇这个答案对你有用吗?
    • 嗨,威尔,是的,谢谢,似乎工作正常,Zepto 有问题,我仍然觉得包含的内容有点不直观,但现在一切正常
    • 经过几个小时的调试,我也做了同样的事情。我使用 FancyBox 2 来展示一些画廊。在 Chrome/Firefox 等中它们运行良好,但 IE 不是。我最终从测试页中拆除所有内容并重新构建它,一块一块地看看是什么破坏了fancybox jquery的使用。在试图了解原因后来到这里。先生,你让我开心:) 谢谢! fancybox
    猜你喜欢
    • 2016-05-29
    • 2016-04-12
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    相关资源
    最近更新 更多