1

这是一个jsfiddle:

http://jsfiddle.net/FVuvC/

在 jquery 中,它使绿色三角形拉出容器,然后红色三角形将其推回,但它需要 2 次点击才能发生。我该如何做才能使它只需要在两个三角形上单击 1 次?

$(function () {
    $("#clickmeright, #clickmeleft").toggle(function () {
        $(this).parent().animate({
            right: '0px'
        }, {
            queue: false,
            duration: 500
        });
    }, function () {
        $(this).parent().animate({
            right: '-170px'
        }, {
            queue: false,
            duration: 500
        });
    });
});

我在网站上查找了其他问题,但我仍然不明白。如:

JQuery 切换问题,需要单击两次

需要点击 2 次的切换功能

我从他们那里得到的最大收获是我必须将切换更改为单击功能。所以这应该告诉你我在哪里理解这些东西。另外,有人可以推荐一些好的资源来学习这个吗?

4

1 回答 1

1

发生这种情况是因为事件处理程序不是在两个元素上切换功能,而是在每个元素上分别切换功能($('#e1,#e2').click(function)如果单击 e1 ,您不会想知道是否不会在两个元素上触发事件),解决方法我会做类似的事情:

$(function () {
    var $clickmeright=$("#clickmeright");
    $("#clickmeleft").click(function() {
        $clickmeright.click();
    })
    $clickmeright.toggle(function () {
        $(this).parent().animate({
            right: '0px'
        }, {
            queue: false,
            duration: 500
        });
    }, function () {
        $(this).parent().animate({
            right: '-170px'
        }, {
            queue: false,
            duration: 500
        });
    });
});

http://jsfiddle.net/oceog/FVuvC/1/

于 2013-01-27T04:08:47.550 回答