为什么 $(window).resize() 没有在此代码段中触发或返回错误
Why is $(window).resize() not firing or returning errors in this snippet?
这段代码运行良好,除了它跳过了整个$(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
});
我看到两个问题:
- .resize() 事件仅在从航点第一次回调后订阅。此外,每次获得航点事件时,您都会创建一个新的订户到 .resize(),这可能会导致问题。
- 在定义这些变量时,您使用
window.
有什么真正的原因吗?这会将它们附加到主窗口对象,这实际上不是必需的,并且可能会导致其他问题。
从那里开始,这取决于您期望的行为是什么。查看代码并不能完全传达您要完成的任务。进一步阐明这一点可能会产生更有用的答案。
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 为什么在以下代码段中无法访问中的变量值
- 将 JSP 变量输出到 JavaScript 代码段中
- 为什么这个 js 代码段中的“=”语法不正确
- HTML 符号代码在输入字段中无法正常工作
- JS 在不满足条件时在 if 语句中运行代码段
- 为什么 $(window).resize() 没有在此代码段中触发或返回错误
- 如何防止输入字段中出现单击事件角度代码
- 无法解释此<头>代码段中的 IE 条件
- 余烬模型字段中的车把代码.如何评估
- (function() 在这个特定的代码段中是什么意思
- 使用jQuery在电话输入字段中插入国家代码
- 如何访问同一php文件中php代码段中的html内容
- 如何使用JQuery代码在点击重置按钮时清除输入字段中的内容
- 为什么这个JS代码段中的上下文会发生变化
- JavaScript:从HTML输入字段中获取字符串,通过首字母缩略词生成代码进行处理
- 我经常在Javascript中看到这段奇怪的代码
- 此模块代码段中出了什么问题
- 此 HTML 代码段中的 onclick 函数在哪里定义
- 如何在label_htm中传递php代码,我想在这个字段中显示计数数