1

我对这些东西真的很陌生,我真的可以在别人的帮助下做。

我在这里设置了一个 js 小提琴:http: //jsfiddle.net/hAZR7/

我遇到的问题更多是我认为的逻辑/数学问题,因为它似乎可以很好地动画并开始并移动到所需的位置。我的回报让我很困惑,我不确定我需要什么方程式或代码来修复它。(即使它可能正盯着我看)。

我认为这与它有关吗?当删除类'on'但设置边距以计算它应该返回的位置时。

$elm.removeClass('on');
var $left_margin = $extra_margin;
$elm.stop().animate({marginLeft : $left_margin}, 1500, function()
     {$slider_started = false;});

更新- 感谢您的回答,这两个示例都可以正常工作,在 CSS 中调整微小尺寸,但我认为这不会损害功能。有什么方法可以将它实现到幻灯片的 setInterval / 自动化中,还是我应该提出另一个问题?

4

2 回答 2

1

看到这个:http: //jsfiddle.net/bt9Je/

变化:

var $total_slider = $j('.top-slider-main > div').length;

var $left_margin = $extra_margin-((($total_slider-i))*$label_width);
于 2013-01-24T10:15:22.970 回答
1

你可以改变

var $left_margin = $extra_margin;

if( $elm.next().length ) {
    var $left_margin = $elm.next().offset().left - $label_width;
} else {
    var $left_margin = $j('.top-slider-main').first().width() - $label_width;
}

编辑要修复评论中描述的错误,请更改小提琴http://jsfiddle.net/hAZR7

var $total_slider = $j('.top-slider-main div').length;

var $total_slider = $j('.top-slider-main  > div').length;

和线

var $left_margin = $extra_margin;

var $left_margin = $j('.top-slider-main').first().width() -  ( ( $total_slider - i + 1 ) * $label_width );

我已经分叉了小提琴http://jsfiddle.net/gU2Tq/

于 2013-01-24T10:36:23.583 回答