if语句悬停语法错误消息

时间:2011-04-28 15:34:47

标签: jquery html css if-statement touch

我想说的是,如果移动是否移动并且移动是一定长度然后使图像的不透明度变暗但是使用此代码我会收到语法错误:

    function touchMove(event) {
        event.preventDefault();
        if ( event.touches.length == 1 ) && (swipeDirection == 'down') && (swipeLength >= 90) && (swipeLength <= 120){
            curX = event.touches[0].pageX;
            curY = event.touches[0].pageY;
        ('1.png').hover(function() {
            $(this).stop().animate({ "opacity": .5 });
        }}
            // OPTIONAL ACTION: draw the results to the page
            updateReadout(2) 
        } else {
            touchCancel(event);
        }
    }

4 个答案:

答案 0 :(得分:0)

关于语法错误的更多细节会有所帮助。

乍一看,虽然您需要一组括号来对if语句进行分组

    if ((event.touches.length == 1) && (swipeDirection == 'down') && (swipeLength >= 90) && (swipeLength <= 120)) {

其次你使用的1.png我选择的选择器是图像元素的src?在这种情况下它应该是

$('IMG[src*=1.png]').hover(function() {

但是,根据图像名称进行选择非常不可靠。例如,上面的内容将匹配1.png,以及11.png,21.png等。如果您可以将其更改为类或id选择器,或者从触摸的元素遍历DOM以查找图像。

代码中可能存在其他问题,但这有望解决语法问题。

答案 1 :(得分:0)

if ( event.touches.length == 1 ) && (swipeDirection == 'down') && (swipeLength >= 90) && (swipeLength <= 120){

应该是

if ( event.touches.length == 1 && swipeDirection == 'down' && swipeLength >= 90 && swipeLength <= 120){

括号问题

答案 2 :(得分:0)

在这部分:

('1.png').hover(function() {
            $(this).stop().animate({ "opacity": .5 });
        }}

以及修复选择器(根据Rory的回答),最后一行应为});

$('IMG[src*=1.png]').hover(function() {
    $(this).stop().animate({ "opacity": .5 });
});

答案 3 :(得分:0)

我给你的代码JSLint旋转

function touchMove(event) {
    event.preventDefault();
    if ((event.touches.length === 1) && (swipeDirection === 'down') && (swipeLength >= 90) && (swipeLength <= 120)) {
        curX = event.touches[0].pageX;
        curY = event.touches[0].pageY;
        ('1.png').hover(function() {
            $(this).stop().animate({
                "opacity": '.5'
            });
        });
        // OPTIONAL ACTION: draw the results to the page
        updateReadout(2);
    } else {
        touchCancel(event);
    }
}

有几个语法错误(缺失)和;除其他事项外)。此外,updateReadout(2)调用在if之外,然后是一个孤独的else,所以我根据我认为应该如何工作来修复它,但你绝对应该仔细检查。