jquery切换需要2次点击

时间:2013-01-27 03:57:20

标签: jquery jquery-click-event

这是一个小伙伴:

http://jsfiddle.net/FVuvC/

在jquery中,它使绿色三角形拉出容器然后红色三角形将其推回,但它需要2次点击才能实现。如何制作它只需要点击两个三角形?

$(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 Toggle Issue, Requires Two Clicks

Toggle function requiring 2 clicks

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

1 个答案:

答案 0 :(得分:1)

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

$(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/