吸顶效果插件

function Topfixed(options){
    var opts = $.extend({
        id:‘#topFixed‘,
        fixedClass:‘top-fixed‘
    },options);

    var fixed = $(opts.id);//获取吸顶目标ID对象
    var marginBottom = parseInt(fixed.css(‘marginBottom‘)) || 0;//吸顶目标的下边距
    //var blank = document.createElement(‘div‘);//创建空div
    var blank = $(‘<div></div>‘);//两种创建空DIV的方式
    var height = parseInt(fixed.outerHeight()+marginBottom-2);//目标元素的高度+下边距
    var scrolltop = $(window).scrollTop();//获取滚动条的滑动距离
    var fixedClass = opts.fixedClass;//获取默认的类名,与$(opts.id)不同,$(opts.id)获取的是对象;opts.fixedClass获取的是名称
    fixed.after(blank);//在吸顶目标外面的后面加空DIV
    $(blank).css({
        "height":height//空DIV的高度=目标ID元素的高度+下边距
    }).hide();//将空DIV隐藏,即正常时不显示
    this.init = function(){
        _show();
        $(window).scroll(function(){
            scrolltop = $(window).scrollTop();
            _show();
        });
    }
    function _show(){

        if(scrolltop>47){//滚动条滚过的长度大于吸顶元素距离top的长度。47怎么得到的?
            fixed.addClass(fixedClass);//目标吸顶元素增加类:fixedClass,该类在common.less中做了定义
            $(blank).show();//显示出空DIV,由于position的缘故,空div相当于占位符,放在了吸顶目标的下面。
        }else{
            fixed.removeClass(fixedClass);
            $(blank).hide();
        }
    }
}

html文件中对应的调用是:

<script type="text/javascript" src="js/topfixed.js"></script>
<script>
    new Topfixed().init();
</script>

css文件对应的top-fixed为:

top-fixed{
        position: fixed;
        top: 0;
        left: 0;
        z-index: 100;
        width: 100%;
        .top-con{
            margin: 0 20px;
            border-bottom: 1px solid #ccc;
        }
    }
时间: 2024-09-29 18:00:02

吸顶效果插件的相关文章

better-scroll之吸顶效果巨坑挣扎中

今天和大家分享下better-scroll这款移动端用来解决各种滚动需求的插件(目前已经支持PC) 关于其中的API大家可以去官网看下  这里就给大家介绍几种常用的以及需要注意的点是什么 首先说一下better-scroll的使用注意问题吧 1.移动端 我们通常采用三段式进行布局的  例如 <div class="container">    <header></header><main></main><fotter&g

基于scroll的吸顶效果

本次要实现的是一种常见的网页效果,如下: 页面由头部,导航,主体内容三部分组成,当页面发生滚动时,头部逐渐隐藏,导航部分向上移动,直到导航部分距离浏览器顶部为零时,导航部分固定不动,保持吸顶效果,如下所示: 我们分三步实现上面的效果. 首先是页面的基础结构,为了简化操作,将头部.导航部分和主体内容部分全部用图片表示. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-

代码:jquery 吸顶 效果

(只是个简单吸顶效果,还需完善) 吸顶: <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $(window).scroll( function() { var m =$(document).scrollTop(); console.log(

Vue开发——实现吸顶效果

因为项目需求,最近开始转到微信公众号开发,接触到了Vue框架,这个效果的实现虽说是基于Vue框架下实现的,但是同样也可以借鉴到其他地方,原理都是一样的. 进入正题,先看下效果图: 其实js做这个效果还是挺简单的,因为在css中我们可以设置一个元素的position: fixed;,这样它就可以固定在那里,这样不管页面怎么滚动,它的位置都不受影响,所以我们的思路就是在合适的时机把要吸顶的头部元素的position属性设置为fixed就可以了.但是这个合适的时机是什么时候呢,这就需要我们计算了,我们

5行js代码搞定导航吸顶效果

一.HTML布局 首先写HTML布局 <body> <div id="wrap"></div> </body> 二.CSS样式 给点简单的样式 <style> *{ margin: 0; padding: 0; } body{ height: 2000px; background-image: linear-gradient(-180deg, #15f09d 0%, #25A0FF 50%, #fca72b 100%); }

JQ实现吸顶效果代码

吸顶下过代码跟简单几行代码就可以了 如果滚动的军力大于100,就改变导航的定位方式,否则就默认 $(function(){ $(window).scroll(function(){ if($(window).scrollTop()>100){ $(".nav").css({"position":"fixed","top":0,"background":"red","wid

纯CSS实现吸顶效果

position的属性有哪些? {  position: static;  position: relative;  position: absolute;  position: fixed; position: inherit;  position: initial;  position: unset; } 还有一个position的属性值:position: sticky: position: sticky:粘性定位,是相对定位和固定定位的混合.元素在跨越特定阈值前为相对定位,之后为固定定位

支付宝小程序滚动监听吸顶效果

axml部分 <view class=" {{menuFixed ? 'fixed': ''}}" id="affix">菜单栏</view> axss部分 .fixed{position: fixed; top: 0; } js部分 Page({ data: { menuFixed:"", }, // 监听页面滚动距离scrollTop onPageScroll: function(e) { var that = thi

移动端吸顶(iOS与安卓)

有的时候经常会遇到移动端吸顶效果,开始我也只是上网查了一下,分别有iOS和android两种样式,如下: /*!*Android*!*/ .head { position: fixed; top: 0; left: 0; z-index: 5; } /*!*iOS*!*/ .head{ position: -webkit-sticky; position: sticky; top: 0; left: 0; z-index: 5; } 设置之后你会发现只有ios手机的吸顶效果OK了,android