簡體   English   中英

根據點擊事件修改網址

[英]Modify url based on a click event

我有一系列的divs ,當單擊它們時,它們基本上是模態的。 模態具有出現在url中的data-attribute 我遇到的問題是,當我關閉模式時,URL仍然具有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;
    });

[編輯]請在代碼中查看問題

$('[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;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM