轮播图--文字上下方向自动滑动

  • 首先html+css布局

html

<div class="weather-info">
   <ul>
   <li>Shandong ZiBoli>
   <li>cloudli>
   <li>80ºFli>
   <li>15Km/hli>
   ul> 
div>        

css

.weather-info{
      width: 300px;
      height: 40px;
      overflow: hidden;
      background-color:red;
      }
 li{
        height: 30px;
        list-style: none;
        line-height: 30px;
        font-size: 15px;
        color: #ffffff;
        font-family:Arial;
        overflow: hidden;
      }

1.不要在ul上设置高度,而是外边的div—方便隐藏li,保证每次动画只有一个li出现\
2.将li标签的高度调节的稍微比div的高度小一点–保证动画的美观

  • Jquery
function weather(obj) {
        $(obj).find("ul").animate({
            marginTop:"-30px",
        },1000,function () {
            $(this).css({marginTop:'0.1px'}).find("li:first").appendTo(this);
        })
    }
    $(function () {
        var num=$(".weather-info").find('li').length;
        if(num>1){
            setInterval('weather(".Info-weather")',2000)
        }
    })

1.第一个函数定义轮播动画
2.第二个函数定义计时器,并引用动画
3.animate:首先执行‘marginTop:”-30px”’,将ul向上移动30px,过程为1s时间,动画执行完之后执行函数,讲ul移动回原处,并且将已经上去的第一个li标签放到最后一个

  1. Jquery中的animate方法
    只有数字值可创建动画(比如 “margin:30px”)。字符串值无法创建动画(比如 “background-color:red”)。
    (selector).animate({styles},speed,easing,callback)

你可能感兴趣的:(轮播图)