js代码,鼠标经过停止滚动,移开继续滚动,go~go~go~!

<script>vardelay=3000;varcount=<!--{$bjcount}-->;<!--{if$bjcount>6}-->varshowing=5;<!... <script>
var delay = 3000;
var count = <!--{$bjcount}-->;
<!--{if $bjcount>6}-->
var showing = 5;
<!--{else}-->
var showing = 0;
<!--{/if}-->
var i = 0;
function move(i){
return function(){
$('#recent'+i).remove().css('display', 'none').prependTo('#items');
}
}
function shift(){
var toShow = (i + showing) % count;
$('#recent'+toShow).slideDown(500, move(i));
$('#recent'+i).slideUp(500, move(i));
i = (i + 1) % count;
setTimeout(shift, delay);
}
setTimeout(shift, delay);
</script>
现在是鼠标放上去也继续滚动。。。想要的效果是,鼠标经过停止,移开滚动
展开
 我来答
百度网友9319aed5
2014-12-15 · 知道合伙人软件行家
百度网友9319aed5
知道合伙人软件行家
采纳数:193 获赞数:2884
吾爱破解论坛优秀会员 idvert网盟技术核心工程师

向TA提问 私信TA
展开全部
var time = setInterval (shift, delay);

setInterval 有一个返回值
可以使用 clearInterval(time) 中断
继续需要再执行 setInterval
判断是否执行需要另写一个变量,在 setInterval 执行之间设置为 true;
在 clearInterval 执行之后设置为 false;

用setInterval 吧,setTimeout 不适合这种情况
更多追问追答
追问
好的
追答
var  time = setInterval (shift, delay);

setInterval 有一个返回值
可以使用 clearInterval(time) 中断
继续需要再执行 setInterval(shift, delay);

用setInterval 吧,setTimeout 不适合这种情况
乀柠檬最萌
2015-11-10 · TA获得超过1.6万个赞
知道大有可为答主
回答量:4550
采纳率:95%
帮助的人:453万
展开全部
可以改成这样的。
function autoScroll(obj){
var _t;
function scroll(){
$(obj).find(".list1").animate({
marginTop : "-105px"
},500,function(){
$(this).css({marginTop : "0px"}).find("li:first").appendTo(this);
})
}
_t = setInterval(scroll,2800);
$(obj).hover(
function(){
clearInterval(_t);
},
function(){
setInterval(scroll,2800);
}
)

}
$(function(){
autoScroll(".scroll");
})
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yo...n@163.com
2014-12-15
知道答主
回答量:2
采纳率:0%
帮助的人:2568
展开全部
移开继续滚动
追问
现在是鼠标放上去也继续滚动。。。想要的效果是,鼠标经过停止,移开滚动
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式