【发布时间】:2016-05-04 16:34:10
【问题描述】:
我正在开发一个 wordpress 网站,我需要触发用户滚动以触发不同的事件并隐藏/显示一些图像,因此 Waypoints.js 非常适合它。
但是,我尝试了不同的尝试以使其正常工作,但没有任何结果。我将它作为函数添加到 functions.php 文件中,如下所示:
function waypoints_method() {
wp_deregister_script('jquery');
wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js", false, null);
wp_enqueue_script('jquery');
wp_enqueue_script('waypoints', get_stylesheet_directory_uri() . '/vendor/waypoints/lib/jquery.waypoints.min.js');
}
add_action( 'wp_enqueue_scripts', 'waypoints_method' );
然后在javascript中:
jQuery(document).ready(function($) {
$('.waypoint').waypoint(function() {
alert('You have scrolled to my waypoint.');
});
}
我唯一得到的就是在调整浏览器大小时使用 console.log。那么,我需要做什么才能使其工作?或者,我可以使用任何替代 Waypoints.js 的方法吗?
谢谢!
【问题讨论】:
-
WordPress 在“noconflict”模式下加载 jQuery,所以你不能使用 $() 除非它在 IIFE 中。尝试更改您的代码以使用
jQuery('.waypoint').waypoint(...) -
对不起,我编辑了我的代码;我实际上以这种方式加载 jQuery 并且所有其他 jQuery 脚本都在工作,所以我想这与它无关?无论如何,谢谢你,@DaveRoss!
-
您的路径是否正确?文件实际上是否正确加载?
-
@EatPeanutButter 我认为他们有,但不知道,我不是 php-wordpress 专家,我猜 Waypoints.js 工作正常,但如果我有时可以触发警报,则不能正常工作调整浏览器大小时。
标签: php wordpress jquery-waypoints