在wordpress中包含航点

时间:2015-10-31 01:14:37

标签: javascript php jquery wordpress jquery-waypoints

所以我试图在我的wordpress页面中包含waypoints.js,但我无法弄清楚它为什么不起作用。

我在我的主题中的functions.php中得到了这个(我把noframework.waypoints.min.js放在了js文件夹中):

function waypoints_init() {
    wp_enqueue_script( 'waypointsJS', get_template_directory_uri() . '/js/noframework.waypoints.min.js', array('jquery'), true);
}
add_action('wp_enqueue_scripts', 'waypoints_init');

然后我写道:

function waypointTrigger() {
echo '<script>
    jQuery(document).ready(function() {
        var waypoint = new Waypoint({
          element: document.getElementById("triggerPointId"),
          handler: function() {
            alert("Basic waypoint triggered");
          }
        });
    })
</script>';
}
add_action('wp_footer', 'waypointTrigger');

并且当我向下滚动到上面提到ID的元素所在的位置时,我什么也得不到。

我在哪里弄错了?

1 个答案:

答案 0 :(得分:0)

我最后将它添加到functions.php

//*WAYPOINTS
function waypoints_init() {
    wp_enqueue_script( 'waypointsJS', get_template_directory_uri() . '/js/jquery.waypoints.js', array('jquery'), true);
}
add_action('wp_enqueue_scripts', 'waypoints_init');

然后我添加了一个自定义的.js文件,我在其中设置了我的网站所需的所有jQuery(包括航点):

function yourCustomJSFunction() {
wp_enqueue_script( 'type_anything_here', get_template_directory_uri() . '/js/yourCustomJS.js', array('jquery') );
}
add_action('wp_enqueue_scripts', 'yourCustomJSFunction');

然后记得在以下代码中添加代码的每一行:

jQuery(function($){
    //Here you can use your normal jQuery syntax like for example:
     var mainScreenHeight = $('#start').height();
     $(window).on('scroll', function() {
            var st = $(this).scrollTop();
            if (st <= mainScreenHeight) {
                $('#customBox').css({'opacity' : (0 + st / mainScreenHeight) });
            };
    });
});

希望这有帮助!