百右侧导航滚动代码

百右侧导航滚动代码,第1张

function DirectoryNav($h,config){

thisopts = $extend(true,{

scrollThreshold:05,    //滚动检测阀值 05在浏览器窗口中间部位

scrollSpeed:700,        //滚动到指定位置的动画时间

scrollTopBorder:500,    //滚动条距离顶部多少的时候显示导航,如果为0,则一直显示

easing: 'swing',        //不解释

delayDetection:200,     //延时检测,避免滚动的时候检测过于频繁

scrollChange:function(){}

},config);

this$win = $(window);

this$h = $h;

this$pageNavList = "";

this$pageNavListLis ="";

this$curTag = "";

this$pageNavListLiH = "";

thisoffArr = [];

thiscurIndex = 0;

thisscrollIng = false;

thisinit();

}

DirectoryNavprototype = {

init:function(){

thismake();

thissetArr();

thisbindEvent();

},

make:function(){

//生成导航目录结构,这是根据需求自己生成的。如果你直接在页面中输出一个结构那也挺好不用 搞js

$("body")append('<div class="directory-nav" id="directoryNav"><ul></ul><span class="cur-tag"></span><span class="c-top"></span><span class="c-bottom"></span><span class="line"></span></div>>');

var $hs = this$h,

$directoryNav = $("#directoryNav"),

temp = [],

index1 = 0,

index2 = 0;

$hseach(function(index){

var $this = $(this),

text = $thistext();

if(thistagNametoLowerCase()=='h2'){

index1++;

if(index1%2==0) index2 = 0;

temppush('<li class="l1"><span class="c-dot"></span>'+index1+' <a class="l1-text">'+text+'</a></li>');

}else{

index2++;

temppush('<li class="l2">'+index1+''+index2+' <a class="l2-text">'+text+'</a></li>');

}

});

$directoryNavfind("ul")html(tempjoin(""));

//设置变量

this$pageNavList = $directoryNav;

this$pageNavListLis = this$pageNavListfind("li");

this$curTag = this$pageNavListfind("cur-tag");

this$pageNavListLiH = this$pageNavListLiseq(0)height();

if(!thisoptsscrollTopBorder){

this$pageNavListshow();

}

},

setArr:function(){

var This = this;

this$heach(function(){

var $this = $(this),

offT = Mathround($thisoffset()top);

ThisoffArrpush(offT);

});

},

posTag:function(top){

this$curTagcss({top:top+'px'});

},

ifPos:function(st){

var offArr = thisoffArr;

//consolelog(st);

var windowHeight = Mathround(this$winheight() thisoptsscrollThreshold);

for(var i=0;i<offArrlength;i++){

if((offArr[i] - windowHeight) < st) {

var $curLi = this$pageNavListLiseq(i),

tagTop = $curLiposition()top;

$curLiaddClass("cur")siblings("li")removeClass("cur");

thiscurIndex = i;

thisposTag(tagTop+this$pageNavListLiH05);

//thiscurIndex = this$pageNavListLisfilter("cur")index();

thisoptsscrollChangecall(this);

}

}

},

bindEvent:function(){

var This = this,

show = false,

timer = 0;

this$winon("scroll",function(){

var $this = $(this);

clearTimeout(timer);

timer = setTimeout(function(){

ThisscrollIng = true;

if($thisscrollTop()>ThisoptsscrollTopBorder){

if(!This$pageNavListLiH) This$pageNavListLiH = This$pageNavListLiseq(0)height();

if(!show){

This$pageNavListfadeIn();

show = true;

}

ThisifPos( $(this)scrollTop() );

}else{

if(show){

This$pageNavListfadeOut();

show = false;

}

}

},ThisoptsdelayDetection);

});

this$pageNavListon("click","li",function(){

var $this = $(this),

index = $thisindex();

ThisscrollTo(ThisoffArr[index]);

})

},

scrollTo: function(offset,callback) {

var This = this;

$('html,body')animate({

scrollTop: offset

}, thisoptsscrollSpeed, thisoptseasing, function(){

ThisscrollIng = false;

//修正弹两次回调 蛋疼

callback && thistagNametoLowerCase()=='body' && callback();

});

}

};

//实例化

var directoryNav = new DirectoryNav($("h2,h3"),{

scrollTopBorder:0   //滚动条距离顶部多少的时候显示导航,如果为0,则一直显示

});

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/meirong/3364874.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-02-20
下一篇2024-02-20

随机推荐

  • 妮维雅美白身体乳需要避光吗

    需要。根据查询妮维雅官网得知,妮维雅身体乳中的成分会因为长时间暴露在阳光下而失去活性,影响保湿效果和质量,所以需要避光存储,正确存储方式是放在阴凉干燥处,避免阳光直射和高温环境。妮维雅(NIVEA)德国拜尔斯道夫公司所有的大型全球护肤品与身

    2024-04-15
    63600
  • 雅诗兰黛粉水400ml真假对比,雅诗兰黛粉水真假辨别图

    最近不少**妹想入手一款保湿补水的化妆水,正愁着选择哪个品牌好,在购物平台上搜索时看见雅诗兰黛的粉水,觉得这款产品各方面还不错,便入手了。但入手后,刷到一篇相关于雅诗兰黛粉水的假货吐槽,不在正规渠道购买的**妹们慌了,担心自己购买的雅诗兰黛

    2024-04-15
    50000
  • 洗面奶那个牌子的美白效果好呢?

    值得推荐的美白洗面奶如下:1、花钰集氨基酸洗面奶你是否觉得自己的皮肤粗糙,脸色暗黄,还毛孔粗大?那么花钰集氨基酸洗面奶可以很好的改善这些问题哦!花钰集氨基酸洗面奶细致的泡沫可以除去多余皮脂与肌肤角质层。同时富含各种活性成分,深层清洁毛孔,有

    2024-04-15
    40100
  • 敏感肌会回购的身体乳,平价实惠,收藏已久的宝贝,推荐给朋友们

    如果你也是敏感肌的贫民窟女孩纸,一定要看过来,下面强烈推荐给你5款平价实惠,回购率超高的身体乳,都是我亲身用过超好用的哦!!!凡士林保湿霜参考价格:299元学生党的最爱了吧,从第一次用到现在好长时间都没有厌烦过它,性价比超高,使用感也是稳稳

    2024-04-15
    47000
  • 妮维雅男士润肤霜过期了能用吗

    妮维雅男士润肤霜过期了不能用过期的东西就最好不要用了,而且这种润肤霜虽然说你用的话一次两次没有什么问题,但是如果你这样,而且也不能保证它过期了会产生什么过期的物质,可能会影响你的皮肤,所以脸部最好是不要涂的身体的其他部位虽然说影响不大,但是

    2024-04-15
    50700
  • 美白精华和保湿精华哪个先用?美白精华和保湿精华顺序是什么样的?

    在我们的日常生活中,很多人都非常喜欢使用精华产品。 精华有很多种。 不同的精华使用不同的方法和护肤效果。 美白精华和保湿精华是两种很常见的精华产品。 美白精华和保湿精华先用哪个? 美白精华和保湿精华的使用顺序。先用哪个,美白精华和保湿精华。

    2024-04-15
    44100
  • 抗衰老的套盒贵还是美白套盒贵

    抗衰老的套盒贵还是美白套盒贵?这个问题涉及到两个不同的护肤需求,让我们从多个角度来回答。价格方面。抗衰老的套盒通常包含多种成分和配方,用于改善细纹、提升皮肤弹性等问题。而美白套盒则主要针对肤色不均匀、暗沉等问题。从品牌和产品定位来看,抗衰老

    2024-04-15
    50600

发表评论

登录后才能评论
保存