WEB 教程
实践 示例
HTML 参考手册
CSS 参考手册
PHP 参考手册

如何在 Bootstrap 重新加载页面时保持当前选项卡处于活动状态

主题:Bootstrap / Sass上一页|下一页

答案:使用 HTML5 localStorage 对象

在 Bootstrap 中,如果您刷新页面,该选项卡将重置为默认设置。 但是,您可以使用 HTML5 localStorage 对象 在浏览器中本地保存当前选项卡的某些参数,然后将其取回以使页面重新加载时选择的最后一个活动选项卡。

让我们试试下面的例子来了解它的基本工作原理:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Keep Selected Bootstrap Tab Active on Page Refresh</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery-3.5.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script>
$(document).ready(function(){
    $('a[data-toggle="tab"]').on('show.bs.tab', function(e) {
        localStorage.setItem('activeTab', $(e.target).attr('href'));
    });
    var activeTab = localStorage.getItem('activeTab');
    if(activeTab){
        $('#myTab a[href="' + activeTab + '"]').tab('show');
    }
});
</script>
</head>
<body>
    <div class="m-3">
        <ul class="nav nav-tabs" id="myTab">
            <li class="nav-item">
                <a href="#sectionA" class="nav-link active" data-toggle="tab">Section A</a>
            </li>
            <li class="nav-item">
                <a href="#sectionB" class="nav-link" data-toggle="tab">Section B</a>
            </li>
            <li class="nav-item">
                <a href="#sectionC" class="nav-link" data-toggle="tab">Section C</a>
            </li>
        </ul>
        <div class="tab-content">
            <div id="sectionA" class="tab-pane fade show active">
                <h3>Section A</h3>
                <p>Aliquip placeat salvia cillum iphone...</p>
            </div>
            <div id="sectionB" class="tab-pane fade">
                <h3>Section B</h3>
                <p>Vestibulum nec erat eu nulla rhoncus fringilla...</p>
            </div>
            <div id="sectionC" class="tab-pane fade">
                <h3>Section C</h3>
                <p>Nullam hendrerit justo non leo aliquet...</p>
            </div>
        </div>
    </div>    
</body>
</html>

上面示例中的 jQuery 代码只是在使用 jQuery .attr() 方法显示新选项卡时获取 <a> 元素的 href 属性值,并通过 HTML5 localStorage 对象将其保存在用户浏览器本地。 稍后,当用户刷新页面时,它会检索此数据并通过 Bootstrap 的 .tab('show') 方法激活相关选项卡。


FAQ 相关问题解答

以下是与此主题相关的更多常见问题解答:

Advertisements