//data 分类数据 Object.keys(data).map(function (row, index) { //计算每个分类所在的位置,我这里是每行两个,一会计算高度的时候可以除以2就行了 let count = res.data[row].length; order += res.data[row].length; navInfo.push({name: row, count: count, order: order - count }); });
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
//分类吸顶 let sort = document.getElementById("sort_list"); let ot = sort.offsetTop; // 页面容器,比如body $('.pub-wrapper').on('scroll', function () { let st = $('.pub-wrapper').scrollTop(); let h = $('.goods_type_item').height(); sort.setAttribute("data-fixed", st >= ot ? "fixed" : ""); //动态更改分类标签 for(let n=0;n<navInfo.length;n++){ //navInfo是分类信息 if(st > navInfo[n].order / 2 * h){ $('.type_item span').removeClass('select_type'); $('span[data-type='+ navInfo[n].name + ']').addClass('select_type'); } }