括号中的“缺失”

时间:2011-08-19 13:41:05

标签: javascript

我一直认为我的javascript是missing ) in parenthetical [Break On This Error] if ( (this.scrollTop < this.scrollH...uches[0].pageY > scrollStartPosY+5) )

function touchScroll(id){
    if(isTouchDevice()){ //if touch events exist...
        var el=document.getElementById(id);
        var scrollStartPosY=0;
        var scrollStartPosX=0;

        document.getElementById(id).addEventListener("touchstart", function(event) {
            scrollStartPosY=this.scrollTop+event.touches[0].pageY;
            scrollStartPosX=this.scrollLeft+event.touches[0].pageX;
            //event.preventDefault(); // Keep this remarked so you can click on buttons and links in the div
        },false);

        document.getElementById(id).addEventListener("touchmove", function(event) {
            // These if statements allow the full page to scroll (not just the div) if they are
            // at the top of the div scroll or the bottom of the div scroll
            // The -5 and +5 below are in case they are trying to scroll the page sideways
            // but their finger moves a few pixels down or up.  The event.preventDefault() function
            // will not be called in that case so that the whole page can scroll.
            if ( (this.scrollTop < this.scrollHeight-this.offsetHeight) && (this.scrollTop+event.touches[0].pageY < scrollStartPosY-5) || (this.scrollTop != 0 && this.scrollTop+event.touches[0].pageY > scrollStartPosY+5) )
                    event.preventDefault(); 
            if ((this.scrollLeft < this.scrollWidth-this.offsetWidth && this.scrollLeft+event.touches[0].pageX < scrollStartPosX-5) || (this.scrollLeft != 0 && this.scrollLeft+event.touches[0].pageX > scrollStartPosX+5))
                    event.preventDefault(); 
            this.scrollTop=scrollStartPosY-event.touches[0].pageY;
            this.scrollLeft=scrollStartPosX-event.touches[0].pageX;
        },false);
    }
}

我不能为我的生活找出原因。

7 个答案:

答案 0 :(得分:4)

试试JS Lint。它非常适合在脚本上找到非显而易见的语法错误。

答案 1 :(得分:1)

似乎根据JSLint,除了某些类型的转换之外,这个脚本很好,不是必须遵循的。在此之前必须留下一个开括号。

答案 2 :(得分:1)

对我来说,在+内发生的某些字符串连接中缺少()

答案 3 :(得分:0)

您在上面显示的内容之前是否有代码?你可能在这个函数之前有一个未闭合的paren,javascript只是在它达到这个时才意识到它是未闭合的。

答案 4 :(得分:0)

就我而言,我没有思考,而我是:

  • typescript粘贴到浏览器控制台中

答案 5 :(得分:0)

在我的情况下:在MongoDB中新的$ accumulator运算符中,在以字符串值形式编写的函数中使用打字稿(请参阅下面的“ accumulate”参数):

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="overlay-box overlay-box-one">overlay-box overlay-box-one</div>
<div class="overlay-box overlay-box-two">overlay-box overlay-box-two</div>
<div class="overlay-box overlay-box-three">overlay-box overlay-box-three</div>
<div class="overlay-box overlay-box-four">overlay-box overlay-box-four</div>
<div class="overlay-box overlay-box-five">overlay-box overlay-box-five</div>


<a class="overlay-open" href="#" id="overlay-box-one">overlay-box-one</a>
<a class="overlay-open" href="#" id="overlay-box-two">overlay-box-two</a>
<a class="overlay-open" href="#" id="overlay-box-three">overlay-box-three</a>
<a class="overlay-open" href="#" id="overlay-box-four">overlay-box-four</a>
<a class="overlay-open" href="#" id="overlay-box-five">overlay-box-five</a>

答案 6 :(得分:0)

就我而言,我通过重建模块缓存解决了这个问题(我使用了 https://github.com/mzgoddard/hard-source-webpack-plugin