当我点击页面上的标签时,如何刷新整个页面?

时间:2014-02-24 17:43:28

标签: javascript html

我的页面上有几个标签。当我单击选项卡时,我会在该选项卡中显示一些附加了div的图表。当我单击选项卡时,我需要先刷新页面,然后执行将在选项卡下加载的脚本。例如,我有这段脚本:

$("a[href=#tab22]").click(function() {
        $.ajaxSetup({ cache: false });
        load_chart1();
            load_chart2();
});

如果我插入此行,

location.reload();

右边是load_chart1()函数调用,默认页面加载,我看不到看tab22的内容,如chart1和chart2。

有一种简单的方法吗?

当我点击tab22时,整个页面应该刷新,tab22下的函数应该执行吗?

1 个答案:

答案 0 :(得分:0)

如果您不打算通过AJAX刷新数据,则必须更新URL的哈希值,并在页面加载时检查其值。

例如,在您的文档加载处理程序中:

var hash = window.location.hash,
    curtab;

console.log(hash);

switch(hash) {
    case "tab-1":
        curtab = document.getElementById('tab-1');
        break;
    case "tab-2":
        curtab = document.getElementById('tab-2');
        break;
    case "tab-3":
        curtab = document.getElementById('tab-3');
        break;
    case "tab-4":
        curtab = document.getElementById('tab-4');
        break;
    default:
        curtab = document.getElementById('tab-1');
        break;
}

curtab.style.display = 'block';
curtab.innerHTML = "pasted from js";

$('a').on('click', function(e) {
    e.preventDefault();
    window.location.hash = $(this).attr('href');
    window.location.reload();
});