动画滚动/显示隐藏元素使用jQuery
Animated scroll / show hidden element using jQuery
有几个类似的问题,我尝试了所有的建议,但都无济于事。
有一个文本区和一个按钮。按钮最初是隐藏的,但是当用户输入任何内容时,按钮就会显示出来。
除此之外,我想滚动页面,使按钮变得可见。例子:
$(document).ready(function () {
$('#AddCommentEntryBox').on('keyup', function (e) {
if ($(this).val() !== '') {
$('#AddCommentButton').show();
$(window).scrollTop($('#AddCommentButton').position().bottom);
//$("html, body").animate({ scrollTop: $(document).height() }, 1000);
} else {
$('#AddCommentButton').hide();
}
});
});
http://jsfiddle.net/sJQcM/编辑:更好的例子-我需要滚动父元素,而不是页面:
http://jsfiddle.net/sJQcM/3/$(document).ready(function () {
$('#AddCommentEntryBox').on('keyup', function (e) {
if ($(this).val() !== '') {
$('#AddCommentButton').show();
$('html, body').stop().animate({scrollTop:$('#AddCommentButton').offset().top})
} else {
$('#AddCommentButton').hide();
}
});
});
小提琴
你可能想要排除退格。
你的例子可能也起作用了,它没有起作用的原因是因为.position()
只给出了.top
或.left
。底部没有给出(你必须自己计算)。
您也可以使用.animate()
与scrollTop
平滑滚动。此外,我建议您等待用户在滚动之前停止输入几秒钟,否则它将向下滚动,textarea
将仅部分可见。
相关文章:
- Firefox赢得了'不会显示我添加的jquery元素,但Chrome会显示
- 使用返回函数sinde.attr()jquery元素
- Wooccommerce所有JS和Jquery元素都未加载
- 追加JQuery元素和Angular
- 如何获取jQuery集合中的第k个元素..作为JQUERY元素
- 是否存在jQuery元素选择库的最小化版本
- 不能同时通过类和数字 ID 选择 jquery 元素
- 为什么jquery元素在ipad上没有响应
- Jquery元素用法
- 用于获取jQuery元素或值的方法
- 淡入淡出切换jquery元素
- 用于查找在 jQuery 元素集中具有特定类的元素的索引的单行代码
- 选择具有由 data() 设置的某个值的 JQuery 元素
- Jquery 元素的高级过滤
- 链接到另一个带有jQuery元素的页面
- jQuery:通过 .wrap() 添加到 DOM 的 jQuery 元素上的切换类
- 将字符串转换为 jquery 元素并将其追加到 DOM 中
- 与“click”事件一起存储的jQuery元素未按要求工作
- 在哈希数组中保存对 jquery 元素的引用
- 如何从核心JavaScript选择中获取jquery元素