【css应用小集合】循环滚动的文字 app启动弹框 悬浮二维码 回到顶部

这几天用到了css中的几个方法,做个小集合记录一下

一、循环滚动的文字

要实现这种效果有很多种方法,包括swiper组件、css动画、marquee属性以及jQuery,其中swiper组件的方法逼真但加载文件较大,css动画实现的方法需要预先知道文字的个数,marquee可以连续展示文字但逐条循环不逼真,所以这里记录下jQuery的实现方法。

<style>
        ul{
            width:210px;
            line-height:22px;
            height:22px;
            overflow:hidden;
        }
        li{
            list-style-type:none;
            float:left;
        }
  </style>
<script>
    var tid;
    var pause=false;
    var start=function(){
       tid= setInterval(slide,50);
    }
    var slide=function(){
       if(pause) return; //当鼠标落在对应文字上时,停止滚动
       $("ul").scrollTop($("ul").scrollTop()+1);  
       if($("ul").scrollTop()%22==0){
            clearInterval(tid); //没展示完一条就停止计时
            $("ul").append("<li>"+$("ul li:first").html()+"</li>");//获取第一条文字
            $("ul li:first").remove();//删除第一条已经展示过的文字
            $("ul").scrollTop("0");
            setTimeout(start,500);//500ms之后再次计时,开始下一条文字的展示
       }
    }
    $(document).ready(function(){
        $("ul").hover(
           function(){pause=true},
           function(){pause=false}
        );
    })
    setTimeout(start,500);
</script>
<ul>
    <li>1111111111111111111</li>
    <li>2222222222222222222 </li>
    <li>3333333333333333333</li>
</ul>

二、app启动弹框

app启动弹框的效果是,从屏幕内部向外增大,有种弹出的感觉,其实主要是transform控制图片由小变大,opacity由0到1。

.qbup-model{
    min-height: 100vh;
    width: 100%;
    background: rgba(0,0,0,.4);
    border: 1px solid rgba(0,0,0,.4);
}
.qbup-model .model{
    background: url('./image.jpg') no-repeat;
    background-size: 100% 100%;
    width: 12rem;
    height: 14.85rem;
    top:50%;
    left:50%;
    margin-top: -7.4rem;
    margin-left:-6rem;
    position:absolute;
    opacity: 0;
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    transition: opacity 0.4s, transform 0.4s;
    -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
}
.qbup-model .model.active{
    opacity: 1;
    transform: scale(1);
    -webkit-transform: scale(1);
}

三、悬浮二维码&回到顶部

<style>
.rocket-to-top {
    top: 50%;
    right: 35px;
    z-index: 11;
    display: block;
    overflow: hidden;
    margin: -170px 0 0;
    padding: 0;
    cursor: default;
}
.top{
    width: 166px;
    height: 274px;
    background: url('./image.jpg') no-repeat scroll center center;
}
.bottom{
    display: block;
    width: 166px;
    height: 30px;
    background: url('./image.jpg') no-repeat scroll center center;
}
</style>    
<div class="rocket-to-top">      
    <div class="top">
    </div>      
    <a href="javascript:scroll(0,0)" class="bottom"></a>
     //设置javascript:scroll(0,0),点击该图片回到顶部    
</div> 

<script>//侧边栏显示
    $(function() {
        var e = $(".rocket-to-top"),
            f = 'fix' + 'ed',
            t = $(document).scrollTop(),
            i = 0;
        $(window).scroll(function() {
            var t = $(document).scrollTop();
            if (t > 400) {//当页面滚动到距离顶部400px时,出现悬浮二维码,并fixed
                e.fadeIn("fast")
                $('.rocket-to-top').css('position', f);
            } else {
                e.fadeOut("slow")
            }
        })
    })
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值