Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带javascript的幻灯片菜单_Javascript_Jquery_List_Menuitem_Slide - Fatal编程技术网

带javascript的幻灯片菜单

带javascript的幻灯片菜单,javascript,jquery,list,menuitem,slide,Javascript,Jquery,List,Menuitem,Slide,我正试图为我的wordpress页面创建一个包含工作列表的新菜单,就像这一页上的菜单:,上面写着Senaste jobben(很抱歉是瑞典语,希望你能看到我指的菜单)。因此,我希望列表对象在几秒钟内可见,然后我希望菜单幻灯片向左,第一次是第一个列表对象的宽度,第二次是第二个列表对象的宽度,依此类推 if ($('.container-menu-platsannonser').length > 0 ) { var slider = $('.menu-platsannonser').

我正试图为我的wordpress页面创建一个包含工作列表的新菜单,就像这一页上的菜单:,上面写着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);
        }
    })


}
if($('.container menu platsannonser')。长度>0){
变量滑块=$('.menu platsannonser')。子项('ul');
速度=4000;
slider.each(函数(){
var$this=$(this);
var li=$this.find('li');
var no_of=li.长度;
var-cur=1;
如果(3<否){
$this.slideShow=函数(){
++cur;
$this.animate({
“左边距”:“-=”+100
},600,'swing',函数(){
如果(否=当前){
$this.css('margin-left','0');
cur=1;
}
setTimeout($this.slideShow,speed);
})
}
setTimeout($this.slideShow,speed);
}
})
}
我已经成功地将幻灯片设置为100像素,但是如何使动画宽度随每个列表项的变化而变化呢?另外,现在我有四个菜单项,是用wordpress创建的。此代码使列表项滑动两次半,然后从头开始。我想让菜单无缝循环。请容忍我,因为我有点不擅长javascript。如果我不清楚,或者你需要更多信息,请告诉我。 总而言之。我想做的是:

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

–不断循环


谢谢你给我的任何帮助

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

$("li:fist").outerWidth(true);
为了让循环永远运行,我会等待动画完成,然后将li移动到列表的末尾

var $li = $("li:first");
$li.parent().append($li);