百右侧导航滚动代码

百右侧导航滚动代码,第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

随机推荐

  • 雅诗兰黛精华露和精华的区别

    雅诗兰黛精华露和精华的区别如下:1 质地:精华露是高浓缩后的护肤品,质地较为粘稠,更适合干性皮肤使用。而精华液是液体状态,质地更清爽一些,可在面霜之前使用,具有深度补水 和美白的作用。2 适用人群:精华露适合30岁以上的人群,而精华液适合各

    2024-04-15
    45300
  • lamer精华味道怪怪的

    lamer精华味道怪怪的,这可能是因为其成分所带来的。从多个角度来看,可能存在以下几个原因:在化妆品中添加香料是常见的做法,以增加产品的香气吸引力。每个人对味道的感受是不同的,有些人可能喜欢某种香气,而有些人则可能觉得怪怪的。因此,我们需要

    2024-04-15
    45500
  • 美容店一个套盒的利润

    美容店一个套盒的利润大约在70%左右,这是根据相关专业人士透露得出的结论。当然,具体利润还会受到多种因素的影响,例如套盒的成本、销售价格、市场需求等等。一般来说,美容店会根据市场需求和自身定位,选择合适的套盒产品,并制定合理的销售价格。在销

    2024-04-15
    32200
  • 干性皮肤用什么牌子的护肤品好?

    我是一个超级大干皮,夏天都会干到爆皮的那种,冬天要是不做好保湿再出门,简直就是灾难。我首先比较在意我眼部的状况,因为我黑眼圈比较重,平时就算是不上粉底液,都一定要用遮暇遮一下黑眼圈。前段时间,我一直在用网上推爆款的咖啡因眼霜。但是每次我上完

    2024-04-15
    35700
  • 看过来!精致女孩必备的身体乳合集(二)

    作为一个精致的猪猪女孩,身体乳一定是必不可少的。接下来就给大家推荐一些好用的身体乳吧!aleble皇后身体乳我第一次刚挤出来的时候觉得挺像雪花秀的那个滋润面霜的,放在手心随便你怎么动它都不会“乱跑”,让它涂脖子,绝不会流到肚子上,这款身体乳

    2024-04-15
    46800
  • 舒耐 妮维雅 曼秀雷敦止汗,哪个更好?

    舒耐 最好 毕竟是最专业的止汗露 就是比别的贵点如果你在家用 就用喷雾的 卫生 不会污染到里面如果想外出随时都用建议用走珠的 因为喷雾必须脱掉衣服你不可能在公共卫生间脱衣服用 不如走珠的方便用过一些,我总结一下吧雅芳和妮维雅这些

    2024-04-15
    28600
  • 欧莱雅火山岩洁面膏,水凝露,平衡露和面膜怎么用?顺序

    使用顺序:洁面膏--水凝露--平衡露--面膜一、洁面膏。独特晶红啫喱质地,蕴含火山岩矿物精华。即刻净化油脂污垢,有效减少痘痘。冰感清爽配方,皮肤即刻净爽舒适。使用方法:取适量的产品于掌心,加水揉搓出泡沫。涂抹在润湿的面部并集中在前额,鼻子和

    2024-04-15
    30700

发表评论

登录后才能评论
保存