JS函数如何/为什么不能'不能在代码中执行,但在chrome控制台中运行良好
How/Why a JS function couldn't be executed in code but works fine in chrome console?
我正在使用timemap API开发一个JavaScript项目:http://timemap.googlecode.com我想在时间轴上设置日期限制,看了一眼文档后,我的时间轴卷轴上有一个监听器:
EDIT:是的,band是全局变量,在函数之前定义,当我执行这个代码时
编辑:如果这有帮助的话,我将从我的html页面的head标签执行这段代码。
band.addOnScrollListener(function() {
if (band.getMaxVisibleDate() > band.maxDateLimit) {
console.log("Too fare");
band.setMaxVisibleDate(new Date());
} else if (band.getMinVisibleDate() < band.minDateLimit) {
console.log("Too fare");
band.setMinVisibleDate(new Date());
} else {
console.log("Fine");
}
在滚动时,我有一条很好的消息,可以切换时间线中的位置:"too fare"或"fine",但后面的一行似乎永远不会在滚动包上执行。如果我在谷歌chrome控制台中复制这条完全相同的行,它会很好地完成任务,并将时间线集中在今天。
EDIT:我也尝试在setMaxVisibleDate
函数中执行console.log
,这一次显示在我的时间线位置被重新定义的情况下:当我在chrome控制台中调用该方法时。如果我总是在控制台中键入band._onScrollListeners
,它将显示上述功能。
我相信你们会通过这些快速的解释找到答案,但我只是想知道你们中的一些人是否已经遇到了类似的问题(我相信你们已经遇到了),这可能是什么原因,不用说我对JavaScript还很陌生,所以这可能是我犯的一个明显的错误,但我找不到。
我发现setMaxVisibleDate
和setMinVisibleDate
中有一个if,只有当用户在调用时没有滚动时间线时,它才允许更改,所以我删除了它,它就工作了。
但我不明白为什么API的文档告诉在onScroll事件中调用该方法,如果它在滚动时没有做出任何更改,那完全是愚蠢的,还是我没有很好地理解一些事情?
相关文章:
- jQuery函数不能只在一个页面上工作
- 使用像素操作修改画布在某种程度上不会;我不能完全在IE9中工作
- 为什么谷歌跟踪代码管理器不能安装在正文下的另一个HTML元素中
- 日期不能显示在高图表上
- 为什么嵌套的 describe() 块不能看到在外部块中定义的变量
- 不能只在火狐上动摇
元素 - jQuery-fadeIn不能仅在Firefox中工作
- 为什么不能'在这种情况下,我将document.getElementsByTagName和.addEventLi
- ng隐藏&ng显示不能仅在特定的AngularJS页面中工作
- Node.js不能要求在同一目录中有一个.js文件
- 为什么我不能't在javascript中插入相同的元素到数组中?
- Javascript框架不能真正在内部调用方法
- jQuery不能像在其他浏览器中那样在Internet Explorer中工作
- 为什么我的JS不能工作(在wordpress中)
- 不能同时在X Y Z轴上旋转
- Javascript不能接受在视图中重写输出
- Yii2, Javascript不能只在modal中工作
- 圆圈不能画在画布上
- Javascript不能单独在firefox中加载
- 在wp_editor创建的文本区域中设置的字体颜色不会在更新期间保持不变(但在数据库中保持正确)