我在rails项目中使用了waypoint。 (使用gem waypoints_rails)
Waypoints在我希望它可以使用的页面上正常工作。我使用航点的元素仅存在于此页面上。我正在使用Waypoint Inview。
var inview = new Waypoint.Inview({
element: $('#the-element')[0],
entered: function(direction) {
console.log("working");
}
});
这是正常的。
但是,我的主页现在出现此错误:
Uncaught Error: No element option passed to Waypoint constructor
任何帮助?
答案 0 :(得分:6)
我遇到了同样的问题。尝试在条件中包装您的航点,以检查页面上是否存在该元素。
if ( $( "#the-element" ).length ) {
var inview = new Waypoint.Inview({
element: $('#the-element')[0],
entered: function(direction) {
console.log("working");
}
});
}
答案 1 :(得分:0)
此消息通常表示Jquery找不到HTML元素。检查这个工作示例(jquery 3.2.1 / waypoint 4.0.1):
var waypoint = new Waypoint({
element: document.getElementsByClassName('element-features'),
handler: function(direction) {
if (direction == "down") {
$('nav').addClass('sticky');
} else {
$('nav').removeClass('sticky');
}
},
offset: '60px'
});
使用getElementsByClassName或getElementsByID,具体取决于您在HTML元素(类或ID)中使用的定义。
<section class="element-features">
答案 2 :(得分:0)
我只添加了下一个文件 jquery.waypoints.min.js
,*此脚本需要在工作代码的底部:
<script type="text/javascript" src="assets/js/jquery.waypoints.min.js"></script>
这段代码有效:
var $firstCTA = $('#firstCTA');
$firstCTA.waypoint(function () {
alert('WE ARE HERE');
})