根据点击事件

时间:2017-06-13 19:59:35

标签: javascript jquery url

我有一系列divs,点击它时基本上会向上滑动一个模态。模态中的data-attribute出现在网址中。我遇到的问题是当我关闭模态时,网址仍然有data-attribute哈希,它不会恢复,我需要它。

这是js:

$('[data-agent]').click(function() {
        var element = $(this);
        var target = element.data('agent');
        $('body').addClass('agentLoaded');
        $('[data-agent-target]').not('[data-agent-target="'+target+'"]').removeClass('active');
        $('[data-agent-target="'+target+'"]').addClass('active');
        window.location.hash = 'agent='+target;
        return false;
    });

    if(document.location.hash){
        var hash = document.location.hash.split('#')[1];
        hash = hash.replace('agent=', '');
        if(hash && $('[data-agent-target="'+hash+'"]').length) {
            $('[data-agent="'+hash+'"]').trigger('click');
        }
    }

    $('.close').click(function() {
        $('[data-agent-target]').removeClass('active');
        $('body').removeClass('agentLoaded');
        return false;
    });

1 个答案:

答案 0 :(得分:0)

[edit]请在代码中查看问题

$('[data-agent]').click(function() {
    var element = $(this);
    var target = element.data('agent');
    $('body').addClass('agentLoaded');
    $('[data-agent-target]').not('[data-agent-target="'+target+'"]').removeClass('active');
    $('[data-agent-target="'+target+'"]').addClass('active');
    window.location.hash = 'agent='+target;
    return false;
});

if(document.location.hash){ /* What is this for ? */
    var hash = document.location.hash.split('#')[1];
    hash = hash.replace('agent=', '');
    if(hash && $('[data-agent-target="'+hash+'"]').length) {
        $('[data-agent="'+hash+'"]').trigger('click');
    }
}

$('.close').click(function() {
    $('[data-agent-target]').removeClass('active');
    $('body').removeClass('agentLoaded');
    return false;
});