如何使用Jquery正确检查单击的元素

时间:2012-12-29 20:58:36

标签: jquery if-statement click css-transitions

我正在尝试找出正确的方法或更好的方法,在点击元素时滑出导出块的干净而精确的方法,然后在单击相同元素时隐藏导航块。这就是我到目前为止所做的:

$('.menu').click(function(e) {

    e.preventDefault();

    $('#pic-slideNav').css('display', 'block');

    if ($.browser.webkit) {
        $('#pic-wrapper').css('-webkit-transform', 'translate(250px,0px)');
        console.log('This is Chrome');
    } else {
        $('#pic-wrapper').css('transform', 'translate(250px,0px)');
        console.log('This is Everything else');

    }
});

我也在检查浏览器类型,以便我可以传递正确的css规则。

更新了适合我的代码:

$('.menu-icon').click(function(e) {

    e.preventDefault();

    if($('#pic-slideNav').is(':visible')) {
        $('#pic-slideNav').hide();
        if ($.browser.webkit) {
            $('#pic-wrapper').css('-webkit-transform', 'translate(0px,0px)');
            console.log('This is Chrome');
        } else {
            $('#pic-wrapper').css('transform', 'translate(0px,0px)');
            console.log('This is Everything else');
        }

    } else {
        $('#pic-slideNav').show();
        if ($.browser.webkit) {
            $('#pic-wrapper').css('-webkit-transform', 'translate(250px,0px)');
            console.log('This is Chrome');
        } else {
            $('#pic-wrapper').css('transform', 'translate(250px,0px)');
            console.log('This is Everything else');
        }
    }

});

我确信有一种更清洁的方法可以达到这个目的但是有效。

1 个答案:

答案 0 :(得分:2)

您在寻找something like this

吗?
var i=0;
jQuery("#btn").click(function() {
    var t = (Math.pow(-1,i))*160;
    jQuery("#id").stop(true, false).animate({
        left: t
    }, 500);
    i = (i>10) ? 0 : (i+1);
});​