我的代码中有错误吗?

时间:2011-02-03 11:39:50

标签: jquery

不知道该怎么称呼这个问题,因为这是一个奇怪的问题。

基本上我有这个代码可以根据与左右箭头的交互来移动图像滑块。它在昨天和今天工作正常后,一切都没有停止工作。

我假设我错过了一个;或者a}或甚至a)因为这些愚蠢的错误似乎总是如此。我正在试图通过并剥离一切以查看问题所在,但在同一时间,有人可以看看这个,只需仔细检查所有内容是否应该写入?

$(function(){   
    $("#rightArrow").hover(function() {
        $('.projectImages').animate({left: '-270px'}, 3000);
    });

    $("#leftArrow").hover(function() {
        $('.projectImages').animate({left: '0px'}, 3000);
    });

    $("#rightArrow").click(function() {
        $('.projectImages').css('left', '-270px');
        $('.projectImages').stop();
    });

    $("#leftArrow").click(function() {
        $('.projectImages').css('left', '0px');
        $('.projectImages').stop();
    });

    $(".arrow").mouseout(function() {
        $('.projectImages').stop();
    });
});

干杯, 萨姆

2 个答案:

答案 0 :(得分:1)

停止工作是什么意思?它在做什么?

尝试绑定到mouseover(或mouseenter)而不是hover

$("#rightArrow").mouseover(function() {
    $('.projectImages').animate({left: '-270px'}, 3000);
});

$("#leftArrow").mouseover(function() {
    $('.projectImages').animate({left: '0px'}, 3000);
});

如果您只将一项功能传递给hover,则会在mouseenter mouseleave上调用此功能。

答案 1 :(得分:1)

应该尝试这种方式:

$("#rightArrow").hover(function() {
    $('.projectImages').animate({left: '-270px'}, 3000);
},function() {
    $('.projectImages').stop();
});

$("#leftArrow").hover(function() {
    $('.projectImages').animate({left: '0px'}, 3000);
},function() {
    $('.projectImages').stop();
});

$.hover(infunc,outfunc)是一个双参数函数,简称为此版本:$.mouseenter(infunc).mouseleave(outfunc)

编辑:使用mouseovermouseout就像菲利克斯所说的那样是最好的方式。