文字上下轮播

之前也写过两篇程序猿生涯的文章.后面都给删掉了

一直想重新写起来  把一些码代码遇到的一些坑给记下来,一直忘记,也一直拖着,拖延症越来越严重了..

回到主题吧.

最近做项目 遇到一个小效果.对的  只是一个小效果而已   就是文字上下轮播

我之前是做后台的,对前台的一些效果不是很熟练,一遇到问题就先百度一下.嗯.我也就只能百度一下了,讲道理,百度搜索到很多的东西都是一样的,不同站,答案一样.有时候错的地方都

一样..但是基本可以解决需求.现学现用.问题也可以解决但是并不知道这个东西是怎么实现的,不知其所以然.

最近这份工作,标签是全栈程序猿,一些简单的js效果,就不用插件了吧.自己简单的写写,也顺便想提升一下自己的水平,毕竟太菜了.写一个东西.你要先知道这个东西原理是
什么,才能知道怎么去实现.不知道原理的那还是用插件吧..毕竟人家封装好的.但是对于自己的进步不利,原地踏步.

说这个文字上下轮播 其实挺简单的 无非就是位置的改变而已

而位置的改变有什么  css中有position: relative; 配合 position: absolute;  这两个配合起来真的爽

css3有transform  不过css3我不太会....所以这里就不介绍css3的写法了,有时间补上

代码贴上

Html
 <div class="new-carousel">
        <div class="new-carousel-div">
            <span class="new-carousel-item">上下轮播1</span>
            <span class="new-carousel-item">上下轮播2</span>
            <span class="new-carousel-item">上下轮播3</span>
            <span class="new-carousel-item">上下轮播4</span>
            <span class="new-carousel-item">上下轮播5</span>
            <span class="new-carousel-item">上下轮播6</span>
        </div>
 </div>
CSS
 <style>
        html, body { padding: 0; margin: 0; }
        .new-carousel { height: 50px; line-height: 50px; width: 200px; margin: 0 auto; position: relative; overflow: hidden; border-bottom: 1px solid #e6e6e6; border-top: 1px solid #e6e6e6; }
        .new-carousel-div { position: absolute; top: 0px; }
        .new-carousel-item { display: block; }
    </style>
Js
$(function () {
            var height = $(".new-carousel-item:last").height();
            var length = $(".new-carousel-item").length;
            var index = 1;
            var i = 0;
            setInterval(function () {
                if (index >= length) {
                    index = 0;
                    i = 0;
                }                
                $(".new-carousel-div").animate({ top: (i - index) * height }, 200);                
                index++;
            }, 3000);
        });

两个div  外面一个div有个样式
overflow: hidden;//超出隐藏  因为你设置了它的高度   并又设置了这个属性,所以它的子div实际上有高度有300px 但是显示出来的只有50px

里面真正的轮播div内容有个样式

.new-carousel-div { position: absolute; top: 0px; }

然后就是js 那块了

无非就是设置轮播div的top值. 隔断时间将top值给它更新一下,等到达顶点,归0 我这里使用了Jq库..呃.原生js写的不太好.....Jq这个库还是nb的不行...也可以提高效率 能用则用吧


用window的画图功能简单的画了画  黑色阴影就是不可见的   中间的div 是不变的 

嗯.画风师承印象派


上下轮播是改变top    左右轮播就是改变left







  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值