这里的功能是点击按钮,过三秒弹出随机的数据
假如现在三秒还没有过,而我滚动了滚动条,我希望滚动了滚动条就立马结束掉定时器
也就是说让他立马显示数据,要怎么实现????
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
html,body{margin:0;padding:0;height:3000px;overflow-y:scroll;border:1px solid red}
.aaa{width:100px;height:100px;text-align:center;line-height:100px;border:1px solid red}
</style>
</head>
<body>
<input type="button" value="click" id="btnclick" />
<div class="aaa"></div>
<script src="http://cdn.bootcss.com/jquery/2.2.1/jquery.js"></script>
<script>
$(function(){
var arr=['你好','hello','beybey'];
var timer = null;
var flag = false;
var timeout = 3000;
$("#btnclick").click(function(){
flag = true;
clearTimeout(timer);
timer = setTimeout(function(){
$(".aaa").html(''+arr[Math.floor(Math.random()*arr.length)]+'');
},timeout)
})
$(window).scroll(function(){
if(flag){
//这里怎么处理???
}
})
})
</script>
</body>
1、ScrollView 的滚动条默认置顶,若想设置它的位置,可以使用mScrollView.smoothScrollTo(x,y)方法,可达到效果。 2、crollTo方法可以调整view的显示位置。在需要的地方调用以下方法即可。 3、scroll表示外层的view,inner表示内层的view,其余内容都在inner里。 注意,方法中开一个新线程是必要的。否则在数据更新导致换行时getMeasuredHeight方法并不是最新的高度。 public static void scrollToBottom(final View scroll, final View inner) { Handler mHandler = new Handler(); mHandler.post(new Runnable() { public void run() { if (scroll == null || inner == null) { return; } int offset = inner.getMeasuredHeight() - scroll.getHeight(); if (offset < 0) { offset = 0; } scroll.scrollTo(0, offset); } }); }
答案来源于网络
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。