JS如何设置滚动属性默认自动滚动到底部(overflow:scroll;)

 更新时间:2023年10月19日 09:32:49   作者:一颗不甘坠落的流星  
这篇文章主要给大家介绍了关于JS如何设置滚动属性默认自动滚动到底部(overflow:scroll;)的相关资料,通过本文介绍的的JavaScript代码示例,你可以实现滚动条默认在最底部的效果,需要的朋友可以参考下

核心代码

  • 设置滚动属性默认自动滚动到底部:
// 获取设置了滚动属性的div标签
const div = document.getElementById('conversationalDiv');
// 设置滚动的顶点坐标为滚动的总高度
div.scrollTop = div.scrollHeight;

应用场景

场景:实现对话框,默认展示最新的对话内容

  • react 实现:
import { Input } from 'antd';
import { useState } from 'react';

function() {
	const [loading, setLoading] = useState(false);
	// 创建 dt dd 标签
	const createTag = (type, innerHTML) => {
		const dl = document.getElementById('conversationalDl');
		const tag = document.createElement(type);
		// 添加标签内容
		tag.innerHTML = innerHTML;
		if (dl) {
			// 向dl插入标签
			dl.appendChild(tag);
		}
		const div = document.getElementById('conversationalDiv');
		if (div) {
			// 设置滚动到最底部
			div.scrollTop = div.scrollHeight;
		}
	};
	const onConversationalSearch = async (val) => {
		// 创建dt标签,表示用户输入的内容
		createTag('dt', val);
		setLoading(true);
		try {
			const data = await getText(val);
			// 测试数据:
			// const data = "I'm good, how are you?"
			// 创建dd标签,表示另一边输入的内容
			createTag('dd', data);
		} catch (error) {}
		setLoading(false);
	};
	return ( <>
		<div id = "conversationalDiv" className = {styles.conversationalDiv} >
			<dl id = "conversationalDl" / >
		</div> 
		<Input.Search 
			placeholder = "Your sentence here..."
			allowClear 
			enterButton = "Send"
			onSearch = {onConversationalSearch}
		/> 
	</>)
}
  • 所需用到的css样式
.conversationalDiv {
  height: 256px;
  width: 100%;
  border: 1px solid #e5e7eb;
  overflow: auto;
}
.conversationalDiv dl {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 12px;
}
.conversationalDiv dl dt {
  display: inline-block;
  background-color: #2563eb;
  color: #fff;
  padding: 8px 12px;
  border-radius: 20px;
  margin-bottom: 10px;
}
.conversationalDiv dl dd {
  display: inline-block;
  background-color: #f9fafb;
  color: #000;
  padding: 8px 12px;
  border-radius: 20px;
  place-self: start;
  margin-bottom: 10px;
}

总结 

到此这篇关于JS如何设置滚动属性默认自动滚动到底部的文章就介绍到这了,更多相关JS默认自动滚动到底部内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 小程序云开发如何实现图片上传及发表文字

    小程序云开发如何实现图片上传及发表文字

    这篇文章主要为大家详细介绍了小程序云开发教程,如何实现图片上传及发表文字,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • JS判断字符串长度的5个方法(区分中文和英文)

    JS判断字符串长度的5个方法(区分中文和英文)

    这篇文章主要介绍了JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下
    2014-03-03
  • 详解js中构造流程图的核心技术JsPlumb(2)

    详解js中构造流程图的核心技术JsPlumb(2)

    这篇文章主要介绍了js中构造流程图的核心技术JsPlumb,jsPlumb是一个强大的JavaScript连线库,它可以将html中的元素用箭头、曲线、直线等连接起来,适用于开发Web上的图表、建模工具等,需要的朋友可以参考下
    2015-12-12
  • 微信小程序实现订单倒计时

    微信小程序实现订单倒计时

    这篇文章主要为大家详细介绍了微信小程序实现订单倒计时,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • layui按条件隐藏表格列的实例

    layui按条件隐藏表格列的实例

    今天小编就为大家分享一篇layui按条件隐藏表格列的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • js实现拖拽功能

    js实现拖拽功能

    本文主要介绍了js实现拖拽效果的实例,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • c#和Javascript操作同一json对象的实现代码

    c#和Javascript操作同一json对象的实现代码

    刚开始学Javascript,接触到json对象,json可以看作是用于客户端数据实体对象的载体。json对象一般都是通过ajax方式传送给服务层
    2012-01-01
  • 如何利用javascript接收json信息并进行处理

    如何利用javascript接收json信息并进行处理

    这篇文章主要介绍了如何利用javascript接收json信息并进行处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • JS监控关闭浏览器操作的实例详解

    JS监控关闭浏览器操作的实例详解

    这篇文章主要介绍了JS监控关闭浏览器操作的实例详解的相关资料,希望通过本大家能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • 如何在js中计算两个时间段重叠的时长问题详解

    如何在js中计算两个时间段重叠的时长问题详解

    这篇文章主要给大家介绍了关于如何在js中计算两个时间段重叠的时长问题的相关资料,判断两个时间段是否重叠可以通过比较两个时间段的开始时间和结束时间来实现,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2024-04-04

最新评论