当一个元素在视图中而不是滚动过去时,如何使jQuery waypoints插件触发?

请看这个:

http://jsfiddle.net/5Zs6F/2/

正如你只能看到滚过第一个红色矩形时它变成蓝色,我希望它在进入视图时变成蓝色。 这就是为什么第二个永远不会变成蓝色,因为它下面没有足够的内容允许你滚过它。

HTML:

Scoll this window pane 




















































































CSS:

 .box { width: 250px; height: 100px; border: 2px solid red; } 

jQuery的:

 $.getScript('http://imakewebthings.com/jquery-waypoints/waypoints.min.js', function() { $('.box').waypoint(function() { $(this).css({ borderColor: 'blue' }); }); }); 

如果看到有问题的元素并且没有滚动过去,如何让它成功?

offset选项确定航点应触发的视口顶部的位置。 默认情况下它为0,因此当元素到达顶部时会触发它。 因为您想要的是常见的,所以航点包括一个简单的别名,用于在整个元素进入视图时将偏移设置为触发。

 $('.box').waypoint(function() { $(this).css({ borderColor: 'blue' }); }, { offset: 'bottom-in-view' }); 

如果要在元素的任何部分从底部窥视时触发它,则应将其设置为“100%”。

对我不起作用。 我有几个具有相同名称的类,如果页面加载/第一个元素在屏幕上,它们都会改变。

 jQuery(document).ready(function(){ jQuery('.zoomInDownInaktiv').waypoint(function() { //jQuery(this).removeClass('zoomInDownInaktiv'); jQuery(this).addClass('zoomInDown'); }, { offset: 'bottom-in-view' }); 

});

好。 找到一个工作正常的解决方案。

  jQuery('.zoomInDownInaktiv').waypoint(function(direction) { if (direction === "down") { jQuery(this.element).removeClass('zoomInDownInaktiv'); jQuery(this.element).addClass('zoomInDown'); } }, { offset: '80%' });