定位滚动条

$("html,body").animate({scrollTop:$(".middle1").offset().top},1000)

 弹幕

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>marquee</title>
    <link rel="stylesheet" href="index.css"/>
    <script src="jquery.min.js"></script>
    <script src="keyframse.js"></script>
</head>
<body>
<!--
a)scrollAmount 它表示速度,值越大速度越快。如果没有它,默认为6,建议设为1~3比较好。
b)width和height表示滚动区域的大小,width是宽度,height是高度。特别是在做垂直滚动的时候,一定要设height的值。
c)direction    表示滚动的方向,默认为从右向左:←←←。可选的值有right、down、up。滚动方向分别为:right表示→→→,up表示↑,down表示↓。
d)scrollDelay  这也是用来控制速度的,默认为90,值越大,速度越慢。通常scrollDelay是不需要设置的。
e)behavior     用它来控制属性,默认为循环滚动,可选的值有alternate(交替滚动)、slide(幻灯片效果,指的是滚动一次,然后停止滚动)
-->
<div class="marquee-wrapper">
</div>
<!--$(selector).animate(styles,speed,easing,callback)-->
<div class="wrapper">
    <div class="piece"></div>
    <div class="piece"></div>
    <div class="piece"></div>
    <div class="piece"></div>
    <div class="piece"></div>
    <div class="piece"></div>
    <div class="piece"></div>
</div>
<div class="wrapper">
  <div class="begin-rotate">
          waiting...
  </div>
</div>
</body>
</html>

 弹幕css

 

.marquee-wrapper{width: 360px;height: 288px;margin: 0 auto;position: relative;overflow: hidden;background-image: url("bg-danmu.png");}
.marquee-piece{width: 250px;height: 35px;line-height: 35px;border-radius: 20px;border:1px solid lightblue;background-color:white;text-align: center;}
.dm-phone{color: rgb(55,208,219);}
.marquee{position: absolute;left:0}
.wrapper{width: 360px;height: 288px;border: 1px solid red;margin: 0 auto;position: relative;overflow: hidden;}
.marquee-piece{width: 250px;height: 35px;line-height: 35px;border-radius: 20px;border:1px solid lightgreen;text-align: center;}
.begin-rotate{width: 100px;height: 100px;line-height: 100px;text-align: center;background-color: #dadada;border-radius: 50%;border-bottom:4px solid red;border-right: 4px solid red;}
.piece{width: 250px;height: 35px;line-height: 35px;border-radius: 20px;border:1px solid lightgreen;text-align: center;}

@keyframes setRight { from {right: -249px;} to {right:100%} }
@-moz-keyframes setRight { from {right: -249px;} to {right:100%} }
@-webkit-keyframes setRight /* Safari 和 Chrome */ { from {right: -249px;} to {right:100%} }
@-o-keyframes setRight /* Opera */ { from {right: -249px;} to {right:100%} }

@keyframes beginRotate {
    0% {
        transform: rotate(0deg);
        -ms-transform: rotate(0deg);        /* IE 9 */
        -webkit-transform: rotate(0deg);    /* Safari and Chrome */
        -o-transform: rotate(0deg);        /* Opera */
        -moz-transform: rotate(0deg);    }
    50% {
        transform: rotate(180deg);
        -ms-transform: rotate(180deg);        /* IE 9 */
        -webkit-transform: rotate(180deg);    /* Safari and Chrome */
        -o-transform: rotate(180deg);        /* Opera */
        -moz-transform: rotate(180deg);    }
    100% {
        transform: rotate(360deg);
        -ms-transform: rotate(360deg);        /* IE 9 */
        -webkit-transform: rotate(360deg);    /* Safari and Chrome */
        -o-transform: rotate(360deg);        /* Opera */
        -moz-transform: rotate(360deg);    }
}
@-moz-keyframes  beginRotate {
    0% {
        transform: rotate(0deg);
        -ms-transform: rotate(0deg);        /* IE 9 */
        -webkit-transform: rotate(0deg);    /* Safari and Chrome */
        -o-transform: rotate(0deg);        /* Opera */
        -moz-transform: rotate(0deg);    }
    50% {
        transform: rotate(180deg);
        -ms-transform: rotate(180deg);        /* IE 9 */
        -webkit-transform: rotate(180deg);    /* Safari and Chrome */
        -o-transform: rotate(180deg);        /* Opera */
        -moz-transform: rotate(180deg);    }
    100% {
        transform: rotate(360deg);
        -ms-transform: rotate(360deg);        /* IE 9 */
        -webkit-transform: rotate(360deg);    /* Safari and Chrome */
        -o-transform: rotate(360deg);        /* Opera */
        -moz-transform: rotate(360deg);    }
}
@-webkit-keyframes beginRotate {
    0% {
        transform: rotate(0deg);
        -ms-transform: rotate(0deg);        /* IE 9 */
        -webkit-transform: rotate(0deg);    /* Safari and Chrome */
        -o-transform: rotate(0deg);        /* Opera */
        -moz-transform: rotate(0deg);    }
    50% {
        transform: rotate(180deg);
        -ms-transform: rotate(180deg);        /* IE 9 */
        -webkit-transform: rotate(180deg);    /* Safari and Chrome */
        -o-transform: rotate(180deg);        /* Opera */
        -moz-transform: rotate(180deg);    }
    100% {
        transform: rotate(360deg);
        -ms-transform: rotate(360deg);        /* IE 9 */
        -webkit-transform: rotate(360deg);    /* Safari and Chrome */
        -o-transform: rotate(360deg);        /* Opera */
        -moz-transform: rotate(360deg);    }
}
@-o-keyframes beginRotate {
    0% {
        transform: rotate(0deg);
        -ms-transform: rotate(0deg);        /* IE 9 */
        -webkit-transform: rotate(0deg);    /* Safari and Chrome */
        -o-transform: rotate(0deg);        /* Opera */
        -moz-transform: rotate(0deg);    }
    50% {
        transform: rotate(180deg);
        -ms-transform: rotate(180deg);        /* IE 9 */
        -webkit-transform: rotate(180deg);    /* Safari and Chrome */
        -o-transform: rotate(180deg);        /* Opera */
        -moz-transform: rotate(180deg);    }
    100% {
        transform: rotate(360deg);
        -ms-transform: rotate(360deg);        /* IE 9 */
        -webkit-transform: rotate(360deg);    /* Safari and Chrome */
        -o-transform: rotate(360deg);        /* Opera */
        -moz-transform: rotate(360deg);    }
}
.piece1
{
    animation: setRight 5s linear 1s infinite ;
    /* Firefox: */
    -moz-animation: setRight 5s linear 1s infinite ;
    /* Safari 和 Chrome: */
    -webkit-animation: setRight 5s linear 1s infinite ;
    /* Opera: */
    -o-animation: setRight 5s linear 1s infinite ;
}
.begin-rotate{
    animation: beginRotate 2s linear 1s infinite ;
    /* Firefox: */
    -moz-animation: beginRotate 2s linear 1s infinite ;
    /* Safari 和 Chrome: */
    -webkit-animation: beginRotate 2s linear 1s infinite ;
    /* Opera: */
    -o-animation: beginRotate 2s linear 1s infinite ;
}

 

 弹幕js

/**
 * Created by cq on 2015/7/15.*
 */

$(function(){

    for(var i=0;i<7;i++){
        var marquee = $('<MARQUEE>')
        var marqueePiece = $('<div>')
        marqueePiece.addClass('marquee-piece')
        marqueePiece.html(items[Math.floor(Math.random()*items.length)])
        marquee.addClass('marquee')
        marquee.attr('scrollAmount',parseInt(Math.random()*8)+1)
        marquee.attr('scrollDelay',parseInt(Math.random()*80)+1)
        marquee.css('top',i * 40)
        $('.marquee-wrapper').append(marquee.append(marqueePiece))
    }

    $('.piece').each(function(ind,ele){
        $(ele).html(items[Math.floor(Math.random()*items.length)])
        $(ele).css({'position':'absolute','right':'-252px','top':ind * 40 +5})
        move(ele)
    })

})

var move = function(ele){
    $(ele).animate({right:'365px'},Math.random()*13000+2000,'linear',function(){
        $(ele).html(items[Math.floor(Math.random()*items.length)])
        $(ele).css('right','-252px')
        move(ele)
    })
}

var items = [
             "132****3333 我要买肾6",
             "132****2759 我要接媳妇",
             "135****7527 我要去旅游",
             "155****8957 我要吃大餐",
             "188****1525 我要玩游戏",
             "187****5734 我要盖房子",
             "139****4537 我要大别墅",
             "131****4378 我要当大厨",
             "132****4125 我要成为科学家",
             "135****1678 我要躺一天"
]

 页面分三个部分,

marquee-wrapper是marquee标签
第一个wrapper 是jquery的animate实现的弹幕
第二个wrapper 是css3的等待效果
posted on 2015-07-20 16:02  把扳手递给我  阅读(407)  评论(0编辑  收藏  举报