簡體   English   中英

如何/為什么JS函數無法在代碼中執行但在chrome控制台中工作正常?

[英]How/Why a JS function couldn't be executed in code but works fine in chrome console?

我正在使用時間映射API開發一個JavaScript項目: http ://timemap.googlecode.com我想在時間軸上設置日期限制,在看了doc后,我的時間軸滾動上有一個監聽器:

編輯:是的,帶是全局變量定義之前我執行此代碼的函數

編輯:如果這可以幫助,我正在從我的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");
    } 

在滾動時,我有好消息切換時間軸中的位置:“太費”或“罰款”但如果我在谷歌Chrome控制台中復制完全相同的行,那么后面的行似乎永遠不會在滾動包上執行,它會工作做得好,把時間表放在今天。

編輯:我也嘗試在setMaxVisibleDate函數中執行console.log ,並且在我的時間軸位置為redifine的同一情況下顯示:當我在chrome控制台中調用該方法時。 如果總是在控制台中輸入band._onScrollListeners ,它將顯示上述功能。

我只是想用那些快速解釋找到答案,但我想知道你們中的一些人是否已經遇到過類似的問題(而且我相信你們有)以及這可能是什么原因,沒必要說我對JavaScript很新,所以這可能是我犯的一個明顯的錯誤,但我找不到。

我發現在setMaxVisibleDatesetMinVisibleDate中只有一個if允許setMinVisibleDate ,只有當用戶在調用時沒有滾動時間軸,所以我刪除它並且它可以工作。

但我無法理解為什么API的doc告訴在onScroll事件中調用該方法,如果它在滾動時沒有做任何改變,那是完全愚蠢的還是我不明白?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM