2015-03-31 50 views
0

我想通过jQuery构造的移动菜单栏将外部php文件/小部件加载到另一个php文件中。菜单栏是<div class="slicknav_menu">在下面的代码中调用。在前端我可以看到加载博客url的变量,但pluginDir似乎没有加载它在$函数中。jQuery .load,变量为url

我仍然在正确的语法挂起。我究竟做错了什么? .load接受变量吗?

var pluginDir = "<?php bloginfo('url'); ?>"; 

if (document.documentElement.clientWidth < 1030) { 
    $(".slicknav_menu").load(pluginDir + '/wp-content/plugins/woocommerce-cart-dropdown/cart-dropdown.php'); 
} 
+0

'$负载(pluginDir +“/可湿性粉剂内容/插件/ woocommerce-推车下拉/cart-dropdown.php');'。在JavaScript'+'中是字符串 – 2015-03-31 00:48:07

+0

的拼接运算符,它在javascript中是'''+','.'是PHP – Ghost 2015-03-31 00:48:28

+0

中的拼接。我实际上也尝试过'+',但它似乎也不工作。我会在上面更新它来显示我的语法。 – dmoz 2015-03-31 00:51:37

回答

1

问题是在调用load时没有类slicknav_menu的元素。并jQuerynoConflict()设置$回到undefined,使它甚至不尝试加载。

通过在将元素添加到DOM之后移动$(".slicknav_menu").load(pluginDir + '/wp-content/plugins/woocommerce-cart-dropdown/cart-dropdown.php');,并使用jQuery代替$,它将正确加载。

以只有原来的源代码的相关部分,给出了解决方案:( “slicknav_menu”)。

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'); 
} 
0

尽管它揭示了一些额外的问题,@thebreiflabb帮助了巨大的,并基本上回答了原来的问题。所以我会认为它通过评论关闭。