2

我怎样才能做到这一点:

var izbor = $('.kategorija_izbor ul a'),
    mgl = $(".mali_oglasi"),
    pretraga = $('.mali_oglas a[role=pretraga]'),
    article = $('.mali_oglasi article'),
    mgl_wrapper = $('.mali_oglasi_wrapper');

(pretraga || izbor).on('click', function(e) {
    var id = $(this).attr('href').split('/'),
        mgl_space = $(this).attr('href').replace(/\s+/g, '-').toLowerCase();
    link = mgl_space + ' .mali_oglasi';
    mgl.animate({
        'opacity': 0
    }, 400, function() {
        mgl_wrapper.load(link, function() {
            mgl.animate({
                'opacity': 1
            }, 400);
        });
    });
    e.preventDefault();
});​

我需要查看是否按下了pretragaizbor。这种方式行不通。有没有办法让它发生?

4

4 回答 4

5

or运算符不能用于引用两个变量实例。

您想要做的是将函数绑定到多个jQuery对象:

$('.kategorija_izbor ul a, .mali_oglas a[role=pretraga]').on('click',
    function(e) {
        var id = $(this).attr('href').split('/'),
            mgl_space = $(this).attr('href').replace(/\s+/g, '-').toLowerCase();
        link = mgl_space + ' .mali_oglasi';
        mgl.animate({
            'opacity': 0
        }, 400, function() {
            mgl_wrapper.load(link, function() {
                mgl.animate({
                    'opacity': 1
                }, 400);
            });
        });
        e.preventDefault();
    });​
于 2012-09-28T20:46:56.357 回答
0

$('.mali_oglas a[role=pretraga], .kategorija_izbor ul a').on(...

于 2012-09-28T20:45:13.613 回答
0

使用 jQuery 的 parentsUntil 函数。http://api.jquery.com/parentsUntil/

所以你可以在你的点击函数中看到,这两个元素中的哪一个被点击了。

于 2012-09-28T20:54:37.820 回答
0

我修改了您的代码,您可以isPretraga 在 click 函数中使用变量来检查是否pretraga点击。

var izbor = $('.kategorija_izbor ul a'),
    mgl = $(".mali_oglasi"),
    pretraga = $('.mali_oglas a[role=pretraga]'),
    article = $('.mali_oglasi article'),
    mgl_wrapper = $('.mali_oglasi_wrapper');

$('.mali_oglas a[role=pretraga], .kategorija_izbor ul a').on('click', function(e) {
    var id = $(this).attr('href').split('/'),
        mgl_space = $(this).attr('href').replace(/\s+/g, '-').toLowerCase();
    var isPretraga = $(this).attr('role') == 'pretraga';
    link = mgl_space + ' .mali_oglasi';
    mgl.animate({
        'opacity': 0
    }, 400, function() {
        mgl_wrapper.load(link, function() {
            mgl.animate({
                'opacity': 1
            }, 400);
        });
    });
    e.preventDefault();
});​
于 2012-09-28T20:48:41.907 回答