【问题标题】:Waypoints.js with wordpressWaypoints.js 与 wordpress
【发布时间】: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


【解决方案1】:

Waypoints 使用$ 来访问 jQuery,但是对于 WordPress,您需要将 jQuery 称为 jQuery

我发现我必须使用 no framework version of Waypoints 才能让它与 WordPress 一起使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多