0

マウスホバーで一時停止/再開するjqueryを使用してシームレスなマーキーアニメーションを作成しようとしていますが、速度の問題を解決できません..

これは私が見逃したほんの少しのことだと確信しています。ここに私がこれまでに持っているもの:

CSS

body{
    width:500px;
    border:1px solid #000;
    margin:0 auto;}
#marquee{
    overflow:hidden;
    width:100%;}
#marquee div{
    margin-left:-100%;
  width:200%;}
#marquee span{
    width:50%;
    display:inline-block;
    text-align:center;}  

js

$(function() {
  $("#marquee")
    .wrapInner("<span>")
    .append($(this).find("span").clone())
    .wrapInner("<div>")
    .mouseover(function(){
      stops();
    })
    .mouseout(function(){
      plays(parseInt($m.css('margin-left')));
    });
  $m = $('#marquee').find("div");
  var cd = parseInt($m.css("margin-left"));
  var sp = Math.abs(cd / 5000);
  var reset = function(s) {
    if(!s) $m.css("margin-left", "0%");
    s = s | 5000;
    $m.animate({ "margin-left": "-100%" }, s, 'linear', reset);
  };
  var plays = function(e) {
    var d = Math.abs(cd-e);
    var s = d / sp;
    $m.css("margin-left", e);
    reset(s);
  };
  var stops = function() {
    $m.clearQueue();
    $m.stop();
  };
  reset();
});

http://jsbin.com/ifUXuKi/1/

これを解決するためのプラグインを私に提供しないでください:)

4

1 に答える 1

0

|| を使ってみてください。| の代わりに (論理 OR) (ビットごとの OR)。

s = s || 5000;
于 2013-09-27T22:37:57.357 に答える