通过JavaScript滑动到左侧ul li

时间:2013-04-02 09:07:41

标签: javascript jquery slider jquery-animate

我有这个结构:

<div style="background-color:#FFF;height:49px;border-top:1px solid #ef4723;clear:both">
  <div id="marka-slider" class="row">
    <ul>
      <?php if (($references = Reference::getAll())) :
              foreach ($references as $r) :
      ?>
        <li>
          <img src="<?php echo Reference::getUploadPath() . '/' . $r->mediapath; ?>"
               alt="<?php echo $r->title; ?>" title="<?php echo $r->title; ?>"/>
               <!-- <?php CVarDumper::dump(array('ref: ' => $r->attributes), 5, 1); ?>  -->
        </li>
      <?php endforeach; ?>
      <?php endif; ?>
    </ul>

  </div>
</div>

JS:

var slider;
$(document).ready(function () {
  slider = $('#marka-slider ul li');

  setTimeout(function() {
    bgscroll('right');
  }, 1000);
});

function bgscroll(direction) {
  var sign;
    if (direction === 'left') {
      slider.stop().animate({'background-position': '+=10000'}, 200000, 'linear', bgscroll);
    } else {
      slider.stop().animate({'background-position': '-=10000'}, 200000, 'linear', bgscroll);
    }

但它不起作用。当我通过Firebug检查时,它不会出错。我该如何解决?

DEMO

1 个答案:

答案 0 :(得分:0)

http://jsfiddle.net/xpVRT/2/

您正在制作li标记的背景图片,而图片位于li标记内的img内。