使用原生js及jQuery动态生成导航栏或实现tab栏切换

本文介绍了如何使用原生JavaScript动态生成导航栏,通过AJAX获取后台数据并根据数据创建栏目。点击事件中,切换样式并获取自定义tableId,以便进一步请求数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原生js生成导航栏或实现tab栏切换


实现效果
在这里插入图片描述
导航栏或tab栏是根据后台返回数据循环创建,点击每个栏目css样式需要变化,并且要拿到当前站点的code值向后台请求数据
1.html

<div id="nav">
    // 容器
    <ul class="list" id="navList">
    </ul>
</div>

2.发送ajax请求根据后台数据生成栏目

jquery自定义tableid属性

在这里插入图片描述

    function getSite() {
        publicAjax(null, 'bigScreen/getSite', {}, false, null, function (data) {
            if (data.code == 2000) {
                siteList = data.data
                var str = "";
                var siteCode = "";
                var centerId = "";
                for (var i = 0; i < data.data.length; i++) {
                    if (data.data[i]) {
                        // console.log(data.data[i].org_code)
                        siteCode = data.data[i].org_code;
                        centerId = data.data[i].gps_l;
                        // 将sitecode存入到每一个li中,点击时要获取到这个值
                        str += '<li _tableId="' + siteCode + '" _centerId="' + centerId + '">' + data.data[i]['short_name'] + '</li>';
                    }

                }
                $('#navList').html(str);
            } else {
            }
        });
    }

3.点击事件

1.$(this).toggleClass("cur").siblings().removeClass("cur"); 更改样式
2.this.attributes._tableid.value 获取自定义属性tableid的值
$("#navList").on("click", "li", function () {
        $(this).toggleClass("cur").siblings().removeClass("cur");
        var tableId = this.attributes._tableid.value
        // alert(tableId);
        orgCode = tableId
        getYearEcharts(orgCode)
});
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值