我正试图通过jQuery构建的移动菜单栏将一个外部php文件/小部件加载到另一个php文件中。菜单栏是在下面的代码中调用的<div class="slicknav_menu">
。在前端,我可以看到变量加载博客url,但pluginDir
似乎没有在$
函数中加载它。
我仍在掌握正确的语法。我做错了什么?.load
是否接受变量?
var pluginDir = "<?php bloginfo('url'); ?>";
if (document.documentElement.clientWidth < 1030) {
$(".slicknav_menu").load(pluginDir + '/wp-content/plugins/woocommerce-cart-dropdown/cart-dropdown.php');
}
问题是在调用load
时没有slicknav_menu
类的元素。jQuery
运行noConflict()
,将$
设置回未定义,使其根本不尝试加载。
通过在元素添加到DOM后移动$(".slicknav_menu").load(pluginDir + '/wp-content/plugins/woocommerce-cart-dropdown/cart-dropdown.php');
,并使用jQuery
代替$
,它将正确加载。
只取原始源代码的相关部分,给出解决方案:
var pluginDir = "<?php bloginfo('url'); ?>";
jQuery('#menu-main-menu').slicknav();
if(document.documentElement.clientWidth < 1030) {
jQuery(".slicknav_menu").load(pluginDir + '/wp-content/plugins/woocommerce-cart-dropdown/cart-dropdown.php');
}
尽管它揭示了一些额外的问题,@thebreifab在最初的问题上提供了巨大的帮助,并基本上回答了这个问题。所以我会通过评论认为它已经结束了。