jquery手写实现单页滚动导航

效果说明:点击tab导航,页面滑动到下方相应板块。并且当页面通过鼠标滚动下去时,上方的tab也可以自动切换到当前位置的板块上。

代码说明:js中对两个动作分别写,一个是tab点击下滑到相应板块位置;一个是鼠标滚动下去的时候tab判定当前页面滚动高度切换tab。

js:

$(document).ready(function(){
    $(‘.switch-tab>li‘).click(function(){
        var s=$(‘.switch-tab>li‘).index(this);
        $(‘body,html‘).animate({scrollTop:$(‘.tab-content>.tab-panel:eq(‘+s+‘)‘).offset().top-50},200);
    });

    var DT=$(‘.switch-tab‘).offset().top;
    $(window).scroll(function(){
        var wt=$(window).scrollTop(),l=$(‘.tab-content>.tab-panel‘),s=l.length-1;
        if(wt<DT||wt>=l.last().offset().top+l.last().height()+50){
            $(‘.switch-tab‘).removeClass(‘fixed‘);
            $(‘.switch-tab>li:first‘).addClass(‘active‘).siblings().removeClass(‘active‘);
        }else{
            $(‘.switch-tab‘).addClass(‘fixed‘);
            for(var i=0;i<s;i++){
                if(wt>=parseInt(l.eq(i).offset().top-50)&&wt<parseInt(l.eq(i+1).offset().top-50)){
                    s=i;
                    break;
                }
            }
            $(‘.switch-tab>li:eq(‘+s+‘)‘).addClass(‘active‘).siblings().removeClass(‘active‘);
        }
    });
});

html:

<div class="switch-nav">
    <ul class="switch-tab">
        <li><a href="javascript:; ">拉托红酒</a></li>
        <li><a href="javascript:; ">法国酒庄风情</a></li>
        <li><a href="javascript:; ">红酒包装</a></li>
        <li><a href="javascript:; ">个性定制</a></li>
    </ul>
</div>

<div class="tab-content">
    <div class="tab-panel" id="cpxq">
        1111
    </div>
    <div class="tab-panel" id="cpxq">
        222
    </div>
    <div class="tab-panel" id="cpxq">
        333
    </div>
    <div class="tab-panel" id="cpxq">
        444
    </div>
</div>
时间: 2024-08-24 18:11:50

jquery手写实现单页滚动导航的相关文章

jquery单页网站导航插件One Page Nav

这是一个轻量级的jQuery的单页网站导航插件.增加了单击后平滑滚动导航和当你浏览不同的部分时自动选择正确的导航项. changeHash: false, 改变当用户单击导航,就改变changeHash选项为true. scrollSpeed: 750, scrollThreshold: 0.5, filter: '', easing: 'swing', begin: function() { //I get fired when the animation is starting }, end

国外的一些优秀单页滚动页面设计分享

国外的一些优秀单页滚动页面设计分享We Are Top Secret 这个导航界面设计从色彩上选用黑白,给人感觉带一点潮流,带一点温和,在这个单页滚动设计中没有特意去使用一些醒目和特效抓取用户的眼球,只是底部用了一个小巧的“scroll down”的提示,这样一来,由于界面简单简洁,融合度是非常好的. Fixed Group在这些页面很炫酷的设计中,国外一般都很喜欢将导航栏给隐藏掉,一方面可以更加简洁,更加美观,另一方面可以引导用户向下的滚动页面,在这个页面的诱导设计中是使用了一个超窄的箭头,有

jQuery手写几个常见的滑动下拉菜单 分分秒秒学习JS

一般的企业网站再我们再实际工作中,有些特效,用jQuery来做,显得极其简单,除非一些大的公司,需要封装自己的类. 今天,我们讲解jQuery入门知识,来写几个简单jQuery滑动下拉菜单.感受一下jQuery的简单快速的神奇之处. 学完本章,可以书写最常见的下拉菜单写法. 案例1 效果如图所示: 在书写这个滑动的下拉菜单的时候,我们首先来认识下jQuery里面的滑动方法 :slideToggle() slideToggle(执行时间,运动方式,返回函数) 执行时间: 常用的是 "slow&qu

用 jQuery 手写轮播图

先上个效果截图: 主要包含以下功能点: * 1.页面加载完,自动循环翻页* 2.翻页按钮,翻页* 3.定点翻页* 4.翻页时同步圆点状态* 5.鼠标进入,停止自动翻页* 6.快速点击翻页的bug(加 isPaging 标志) 主要包含以下功能点: * 1.页面加载完,自动循环翻页* 2.翻页按钮,翻页* 3.定点翻页* 4.翻页时同步圆点状态* 5.鼠标进入,停止自动翻页* 6.快速点击翻页的bug(加 isPaging 标志) 上代码: <!DOCTYPE html> <html>

jquery自己手写表单验证

<script type="text/javascript"  src="../jquery-1.8.3.js"></script> /*验证邮箱格式*/ function checkEmail(strEmail){ if(!/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ .test(strEmail)){ return false; } else { return true; } } $(

jquery手写焦点轮播图-------解决最后一张无缝跳转第一张的问题

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>轮播图</title> <style> *{padding: 0;margin: 0;list-style-type: none;} .wrap{width: 520px;height: 280px;margin: 50px auto;} .ba

jquery手写轮播功能

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>小例子</title> <script type="text/javascript" src="js/jquery.js"></script> <style> @charset "utf-8"; /*

记录:掌握单页网站设计的5大技巧

在设计师们的不懈探究之下,单页设计已经摘掉了混乱单调的帽子,构建起了一套相对比较完善的设计体系,保持简洁而漂亮的设计,重视内容,强调清晰明了的表达.从用户体验的角度上来看,单页设计确实有其优势也有缺陷,但是值得注意的是,用户的确是喜欢单页网站的浏览方式,这也是单页设计流行开来的基石. ·单页网站导航方式简单,用户不易迷路,只需上下滚动. ·单页网站内容更专注,信息传递更清晰,更有针对性. ·单页网站几乎可以在全平台设备上流畅浏览,滚动和滑动浏览替代了点击 而设计单页网站最大的挑战在于让用户保持滚

掌握单页网站设计的5大技巧

 在设计师们的不懈探究之下,单页设计已经摘掉了混乱单调的帽子,构建起了一套相对比较完善的设计体系,保持简洁而漂亮的设计,重视内容,强调清晰明了的表达.从用户体验的角度上来看,单页设计确实有其优势也有缺陷,但是值得注意的是,用户的确是喜欢单页网站的浏览方式,这也是单页设计流行开来的基石. ·单页网站导航方式简单,用户不易迷路,只需上下滚动. ·单页网站内容更专注,信息传递更清晰,更有针对性. ·单页网站几乎可以在全平台设备上流畅浏览,滚动和滑动浏览替代了点击 而设计单页网站最大的挑战在于让用户