Zurb Foundation Interchange不工作,'nodeName'未定义

时间:2014-09-16 15:49:54

标签: jquery zurb-foundation interchange

我正在尝试使用互换来根据屏幕尺寸更改图像。

但是,当初始化交换时,没有图像加载。然后,当我调整浏览器大小(1024px及更低)时,我在控制台中收到错误消息:

Uncaught TypeError: Cannot read property 'nodeName' of undefined 

与foundation.interchange.js的第47行有关,即:

if (/IMG/.test(el[0].nodeName)) {

我正在尝试使用的代码是:

<img data-interchange="[http://www.example.com/image.png, (default)], [http://www.exmaple.com/image-large.png, (large)]" />

根据Zurb的文档,这是完全标准的。我确保图像存在,他们这样做。

我使用的是基础版5.2.2。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我有这个问题并通过做一些简单的测试来解决它......

尝试其中一些:

  1. 检查 - 您只调用脚本路径的一个实例&#39; interchange.js&#39;
  2. 为什么呢? - 这将确保您避免插件中的重复函数调用。

    如何? - Ctrl-f(找到)单词&#39; interchange.js&#39;在视图源页面上

    这是检查它的最佳方式,特别是如果您正在使用MVC或嵌套的webforms框架。

    1. 检查 - $(document).foundation();在swap.js脚本加载后调用
    2. 例如。在这个命令....

      <script src="/foundation/foundation.js")></script>
      <script src="/foundation/foundation.interchange.js"></script>
      
      <script type="text/javascript">
          $(document).ready(function () {
      
              $(document).foundation();
      
           });
      </script>
      

      为什么呢? - 我相信,一旦基础初始化,交换就必须存在。

      我希望这些选项有所帮助 - 对不起,如果它有点基础 - 但值得一试 干杯