2015-10-31 79 views
0

所以我想在我的wordpress頁面中包含waypoints.js,但我無法弄清楚它爲什麼不起作用。在wordpress中包含航點

我在functions.php中得到這個我的主題裏面(我把JS文件夾內noframework.waypoints.min.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的元素所在的位置時,我什麼也得不到。

我在哪裏犯了一個錯誤?

+0

請檢查html源代碼是否添加了JS。如果是,請檢查Javascript控制檯是否有可能的錯誤/警告。 – Rudi

+0

你有沒有解決過這個問題?我正在處理同樣的問題。 – zoltar

+0

我想我做到了!我會在一分鐘後發佈答案。完全忘了這個線程 – Ancinek

回答

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) }); 
      }; 
    }); 
}); 

希望這有助於!