【问题标题】:TypeError: s is undefined - Superfish On WordPress siteTypeError: s is undefined - Superfish On WordPress 网站
【发布时间】:2014-04-06 02:52:43
【问题描述】:

我第一次在这里提出问题,所以如果我做得不对,我会提前道歉。

我收到此错误:

TypeError: s 未定义

当我点击显示在小于 1020 像素的设备上的切换菜单时。

我在切换菜单中使用了 superfish,并且工作正常,直到我在我的目录中添加了一个新的 JS 文件并在我的 function.php 中注册并排队。

我必须单击两次菜单才能向下切换,这就是为什么我检查了我的 firebug 控制台是否有错误。

亚当评论后更新: 在 Chrome 控制台中,我收到以下消息: “未捕获的类型错误:无法调用未定义的方法‘替换’” 在我的 superfish.min.js 文件中。不确定当它是 .min 文件时如何找到该行。 但是我在 .min 文件中找到了这一行。 {return s.replace(/display[^;]+;?/g,"")}

这是我用于菜单的代码。

jQuery(document).ready(function($) {

if( $('.mobile-primary-toggle').length || $('.mobile-secondary-toggle').length ) {
    if(dynamik_sf_enabled) {
        var sf = $('ul.js-superfish');
    }

    $('.responsive-primary-menu-container').click(function() {
        if(dynamik_sf_enabled && dynamik_reveal_sub_pages) {
            sf.superfish('destroy');
        }
        $('.nav-primary').slideToggle();
        $('#nav').slideToggle();
    });

    $(window).resize(function() {
        if(dynamik_sf_enabled && dynamik_reveal_sub_pages) {
            if(window.innerWidth <= media_query_small_width) {
                sf.superfish('destroy');
            } else {
                sf.superfish('init');
            }
        }
        if(window.innerWidth > media_query_small_width) {
            $('.nav-primary').removeAttr('style');
            $('#nav').removeAttr('style');
        }
    });
}

});

关于如何解决此问题的任何建议?

【问题讨论】:

  • 您没有在该代码中的任何地方调用s,因此这不是错误所在。使用浏览器控制台查找出错的文件 + 行。
  • 我已经检查并更新了我原来的问题。谢谢

标签: javascript jquery wordpress superfish


【解决方案1】:
  1. 确保 sf 始终有一个值,这就是问题所在。
  2. 将 $(window).resize(function() { 从 if 语句和 ready 函数中取出;因为调整窗口的大小可以随时发生,并且它依赖于 sf 的值。

    $.(function(){ $(window).resize(function() { if(dynamik_sf_enabled && dynamik_reveal_sub_pages) { if(window.innerWidth <= media_query_small_width) { sf.superfish('destroy'); } else { sf.superfish('init'); } } if(window.innerWidth > media_query_small_width) { $('.nav-primary').removeAttr('style'); $('#nav').removeAttr('style'); } }); });

【讨论】:

  • 我将该部分移到 if 语句之外。我很抱歉问你的观点 1. 你是什么意思?我对 Jquery 不是很熟练。
猜你喜欢
  • 2013-04-25
  • 2023-03-06
  • 2022-01-12
  • 2012-05-12
  • 1970-01-01
  • 2022-08-19
  • 1970-01-01
  • 1970-01-01
  • 2020-07-01
相关资源
最近更新 更多