我一直在研究嵌入wordpress的Ian Lunn's interactive map版本。
该脚本在standalone page上完美运行,但在加载到wordpress时,脚本什么都不做。我尝试了各种解决方案 - 以不同的方式加载jQuery(在functions.php中,内联,在页眉和页脚中),降级到jQuery的早期版本,命名函数,命名它。什么都没发生,萤火虫没有出现任何错误,没有任何错
在这个阶段我完全失去了,所提供的任何帮助都将不胜感激。
此处的演示演示:http://www.ianlunn.co.uk/demos/bbc-news-jquery-map/ Github来源:https://github.com/IanLunn/BBC-News-jQuery-Map
//答案后更新
发现美元符号在WordPress中保留为原型库,这就是为什么它错误地出现'$不是函数' - 下面接受的答案指出了这一点,但仅在评论中因此更新为明晰。例如: -
$().ready(function() {
$("#select_me").show();
});
jQuery().ready(function() {
jQuery("#select_me").show();
});
答案 0 :(得分:3)
当我转到您的页面时,我在Firebug控制台中看到两个错误。
首先是:
XML can't be the whole program.
?> map.js?ver3.2.1 (line 55)
第二是:
document.getElementById("recaptcha-submit-btn-area") is null
/about/...ve-map/ (line 595)
然后我看到了:
carouFredSel: No element selected.
jquery...r=1.4.2 (line 14)
您没有看到此输出?
编辑:你的map.js包含在PHP标签中的代码,这就是问题所在。它是在Javascript文件中传递给客户端的PHP代码。
答案 1 :(得分:3)
我知道这已经得到了解答,但这就是我学会这样做的方法,即使它基本上是相同的答案,也可以帮助其他人复制/粘贴解决方案。
基本上将所有jQuery包装在这个函数中:
jQuery(document).ready(function($) {
/* Put your jQuery functions here,
no need to change the $ to jQuery. */
});
答案 2 :(得分:1)
查看您正在加载的脚本文件:
http://mjw.view-wireframes.com/jquery-map/map.js
Wordpress正在吐出一个PHP文件,而不是.js文件。即它似乎是WP服务方式的问题,或者你包含了Javascript文件。