0

这是我当前的代码。这会加载所有评论,并<p>随着视频时间的推移显示评论。

样式newsticker为方形,带边框。

我想在其中显示评论,然后滑入,然后滑出。就像这里http://spreadthesource.com/sandbox/featurify/

我怎样才能使它成为可能?
重点是通过媒体的 onPlay 刷新<p>每一秒的内容。
所以加载的评论必须滑入,并在那里停留 5 秒钟,然后滑出消失。

我用 jsfiddle做了DEMO 。

任何人都可以向我展示代码。

Javascript

jQuery(document).ready(function () {

    $('#video').on('timeupdate',function(e){
        showComments(this.currentTime);
    });

}); 
var comments = [{'time':'10','message':'hello! 10 secs has past'},{'time':'10','message':'hello! 10-2 secs has past'},{'time':'5','message':'hello! 5 secs has past'},{'time':'30','message':'hello! 30 secs has past'}];


function showComments(time){
    var comments = findComments(time);
    $.each(comments,function(i,comment){
        $('p#newsticker').text(comment.message);

        // Show for 5 seconds, then hide the `p` element.
        $('p#newsticker').show().delay(2000).fadeOut();
    });
}

function findComments(time){
    return $.grep(comments, function(item){
      return item.time == time.toFixed();
    });
}

HTML

<body>
    <div class="newsticker"> 
        <p id="newsticker"></p>
    </div>
    <br />
    <br />
    <video id="video" controls="controls" autoplay="autoplay" name="media"><source src="http://media.w3.org/2010/05/sintel/trailer.mp4" type="video/mp4"></video>
</body>

CSS

div.newsticker{
    border:1px solid #666666;
    width:400px;
    height:50px;
}
4

1 回答 1

1
jQuery(document).ready(function () {
    var counter=5;
    $('#video').on('timeupdate',function(e){
        if(this.currentTime > counter){
            showComments(this.currentTime);
            counter+=5; // for updating the comment every after 5 seconds.
        }    
    });

}); 
var comments = [{'time':'10','message':'hello! 10 secs has past'},{'time':'15','message':'hello! 15 secs has past'},{'time':'5','message':'hello! 5 secs has past'},{'time':'20','message':'hello! 20 secs has past'}];


function showComments(time){
    var comments = findComments(time);
    $.each(comments,function(i,comment){
        $('.newsticker p').animate({"marginLeft":"400px","opacity":".0"}, 600).fadeOut(100);
        $('.newsticker').append("<p style='margin-left:400px;opacity:0'>"+comment.message+"</p>");
        $('.newsticker p').animate({"marginLeft":"0px","opacity":"1"}, 600);
    });
}

function findComments(time){
    return $.grep(comments, function(item){
      return item.time == time.toFixed();
    });
}

我已经更改了您的代码。希望这对您有用。你可以从这里看到小提琴。http://jsfiddle.net/Aveendra/m5tt9/

于 2013-08-23T07:25:15.920 回答