0

我正在尝试为我的 wordpress 页面创建一个包含工作列表的新菜单,例如此页面上的那个:http ://www.resume.se/ ,上面写着Senaste jobben(对不起,它是瑞典语,希望你获取我指的是哪个菜单)。所以,我希望列表对象可见几秒钟,然后我希望菜单向左滑动,第一次滑动第一个列表对象的宽度,第二次滑动第二个列表对象的宽度,依此类推上。

if ($('.container-menu-platsannonser').length > 0 ) {

    var slider = $('.menu-platsannonser').children('ul');
    speed = 4000;

    slider.each(function(){
        var $this = $(this);
        var li = $this.find('li');
        var no_of = li.length;
        var cur = 1;

        if (3 < no_of) {
            $this.slideShow = function() {
                ++cur;
                $this.animate({
                    'margin-left': '-='+100

                }, 600, 'swing', function(){
                    if (no_of == cur) {
                        $this.css('margin-left', '0');
                        cur = 1;
                    }
                    setTimeout($this.slideShow, speed);
                })
            }
            setTimeout($this.slideShow, speed);
        }
    })


}

我已经设法将幻灯片设置为 100 像素,但是如何让动画宽度随每个列表项而变化?另外,现在我有四个菜单项,是用 wordpress 创建的。此代码使列表项滑动两次半,然后从头开始。我希望菜单无缝循环。请容忍我,因为我有点不擅长 javascript。如果我不清楚,或者您需要更多信息,请告诉我。所以,总结一下。我想做的是:

– 向左滑动菜单,列表对象的宽度

- 继续无休止地循环

感谢我能得到的任何帮助!

4

1 回答 1

0

要获得列表项的宽度,我认为您可以使用:

$("li:fist").outerWidth(true);

为了让循环永远持续下去,我会等待动画完成并将 li 移动到列表的末尾。

var $li = $("li:first");
$li.parent().append($li);
于 2013-05-13T21:32:32.697 回答