Waypoints.js 与 wordpress

问题描述 投票:0回答:2

我正在开发一个 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 的任何替代方法吗?

谢谢!

php wordpress jquery-waypoints
2个回答
0
投票

Waypoints 使用

$
访问 jQuery,但是对于 WordPress,您需要将 jQuery 称为
jQuery
.

我发现我必须使用 Waypoints 的无框架版本 才能让它与 WordPress 一起工作。


0
投票

今天我在同一个问题上卡了几个小时。我在我的项目中加入了许多脚本,并且也以相同的方式对waypoints.

出于某种原因,脚本根本没有查询。我尝试了很多版本和方法,几个小时后我找到了原因。这很有趣:)

当您查询waypoints脚本时,您必须使用与'waypoints'不同的唯一名称。 Wordpress 从第一个参数创建 id,这就是重点。

例子:

wp_enqueue_script( 'waypoints', get_stylesheet_directory_uri() . '/scripts/vendor/jquery.waypoints.min.js', array ('jquery'), true );
- 这不工作

wp_enqueue_script( 'waypoints-script', get_stylesheet_directory_uri() . '/scripts/vendor/jquery.waypoints.min.js', array ('jquery'), true );
-这是有效的

© www.soinside.com 2019 - 2024. All rights reserved.