Javascript 转盘菜单平滑度和无限度
我有这个网站: 它有一个顶部菜单,应该在箭头悬停时滚动,但他像我想的那样移动,但现在我希望它继续无限移动,直到有人拿出鼠标 我怎么做这个?我试过旋转木马,但没有成功 还有一件事,这有“hikups”,可能是因为计时器的缘故,我怎样才能使这一切顺利呢Javascript 转盘菜单平滑度和无限度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有这个网站: 它有一个顶部菜单,应该在箭头悬停时滚动,但他像我想的那样移动,但现在我希望它继续无限移动,直到有人拿出鼠标 我怎么做这个?我试过旋转木马,但没有成功 还有一件事,这有“hikups”,可能是因为计时器的缘故,我怎样才能使这一切顺利呢 <div class="row-fluid" style="position:relative;"> <div class="span12 horizontal-category" style="height: 64
<div class="row-fluid" style="position:relative;">
<div class="span12 horizontal-category" style="height: 64px">
<span class="carousel-prev" id="carousel-category-prev"></span>
<div class="j" style="position: absolute; clip: rect(auto, auto, 500px, auto);">
<ul class="nav myCustomNav">
<?php
printCats();
?>
</ul>
</div>
<span class="carousel-next" id="carousel-category-next"></span>
</div>
</div>
<script>
$(document).ready(function(){
$(".myCustomNav li:first").addClass("current");
$(".myCustomNav li:last").addClass("last");
$(".last a").width(120);
carousel();
});
var vel = 350;
var timer;
function carousel(){
$(".carousel-prev").hover(function(){
timer = setInterval(hover_esquerda, vel);
}, function(){ clearInterval(timer); });
$(".carousel-next").hover(function(){
timer = setInterval(hover_direita, vel);
}, function(){ clearInterval(timer); });
}
function hover_esquerda(){
//anda para a esquerda
if ($(".current").size() == 0){
$(".myCustomNav li:first").addClass("current");
}
if ($(".current").nextUntil(".last").size() == 6){
//$(".carousel-prev").addClass("disabled");
} else {
$(".myCustomNav .current").removeClass("current").next().addClass("current");
$(".myCustomNav").animate({
left: '-=' + $(".current").prev().width()
}, 'slow');
}
}
function hover_direita(){
//anda para a direita
$(".myCustomNav .current").removeClass("current").prev().addClass("current");
$(".myCustomNav").animate({
left: '+=' + $(".current").width()
}, 'slow');
}
</script>
$(文档).ready(函数(){
$(.myCustomNav li:first”).addClass(“当前”);
$(.myCustomNav li:last”).addClass(“last”);
$(“.last a”).宽度(120);
转盘();
});
var-vel=350;
无功定时器;
函数carousel(){
$(“.carousel prev”).hover(函数(){
定时器=设置间隔(悬停时间,电平);
},函数(){clearInterval(timer);});
$(“.carousel next”).hover(函数(){
定时器=设置间隔(悬停方向,电平);
},函数(){clearInterval(timer);});
}
函数hover_esquerda(){
//安达·帕拉·埃斯克尔达酒店
如果($(“.current”).size()==0){
$(.myCustomNav li:first”).addClass(“当前”);
}
if($(“.current”).nextUntil(“.last”).size()==6){
//$(“.carousel prev”).addClass(“已禁用”);
}否则{
$(.myCustomNav.current”).removeClass(“current”).next().addClass(“current”);
$(“.myCustomNav”).animate({
左:'-='+$(“.current”).prev().width()
}“慢”);
}
}
函数hover_direita(){
//安达帕拉迪雷塔酒店
$(.myCustomNav.current”).removeClass(“current”).prev().addClass(“current”);
$(“.myCustomNav”).animate({
左:'+='+$(“.current”).width()
}“慢”);
}
解决“打嗝”问题,以便您可以将缓解设置为“线性”。动画将以这种方式平滑。标准的放松方式是“摆动”,它可以加速和减速动画
$(".myCustomNav").animate({
left: '-=' + $(".current").prev().width()
}, 'slow', 'linear');
当我点击你的链接时,我得到了什么很抱歉,内容/插件文件夹没有可写权限。手动修复此问题。完成此操作后,请单击“运行安装”。抱歉,您现在可以输入!!下面是一个很好的答案——也不要慢,试试快——就像这样——“快”,“线性”);——在我看来有点慢如果我设置“快”它真的很快并且有相同的“打嗝”,你可以坚持几毫秒而不是慢或快,然后找到一个最佳点。慢速:600--快速:200,-默认速度:400现在我想要无限,这是,如果我继续滚动,它将是最后的第一项,依此类推…@Diogo Severiano--尝试快速而不是慢速动画,检查我上面的评论--如果你想要无限滚动,只需重复菜单项大约100次。这是一个快速的解决方法如果我设置“fast”,它真的很快,并且有相同的“hiccups”,我可以无限向右,但如何向左,因为我正在使用系统,使用一个类来指导我