0
此代码完美工作,除了跳过整个$(window).resize
区域。删除除一个变量外的所有变量似乎是“修复它”,但这显然不起作用。
我错过了一个显而易见的问题吗?控制台中没有错误。这里有一个演示,如果你想在这挑或看到完整的javascript:http://jdsn.co/demo/reader.html
if(main_reader_height + offset_height > initviewport) {
$('.main_reader footer').waypoint(function(event, direction) {
if (direction === 'down') {
$('.nav_items, .nav_prev, .nav_next').addClass('snap');
$(window).resize(function() {
window.offset = $('.main_reader article').offset().top;
window.viewport = $(window).height();
window.main_height = $('.main_reader article').height();
window.bottom_offset = window.viewport - window.offset - window.main_height - 80
$('.nav_next').height(viewport - offset - bottom_offset - 80);
});
$('.snap').height(window.bottom_offset)
}
else {
$('.nav_items, .nav_prev, .nav_next').removeClass('snap');
}
}, {
offset: '100%' // middle of the page
});
从查看[jQuery文档](http://api.jquery.com/resize/)看起来resize处理程序签名包含一个事件对象参数,所以您是否尝试将您的JavaScript更改为'$(window ).resize(函数(e){'? –
@MarkM:如果你不使用参数,你不需要将它添加到签名中,它仍然会被传递,但函数会忽略它(你仍然可以通过'arguments'数组访问它)。 –