2015-03-31 54 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幫助了巨大的,並基本上回答了原來的問題。所以我會認爲它通過評論關閉。