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

这篇具有很好参考价值的文章主要介绍了【JS】设置滚动属性默认自动滚动到底部(overflow:scroll;)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

核心代码

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

应用场景

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

js设置滚动条滚到底部,工作随记,javascript,前端,开发语言文章来源地址https://www.toymoban.com/news/detail-722524.html

  • 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】设置滚动属性默认自动滚动到底部(overflow:scroll;)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序组件scroll-view滚动到底部多次触发加载如何解决?

    在 iOS 真机上,scroll-view 滚动时会多次触发 scrolltolower 事件的问题,可以设置一个“加载标识”(如 DisableTrigger)来避免重复请求下一页数据。具体做法为: 在 data 中新增一个 DisableTrigger 变量,用于标识当前是否可以执行下一页数据的加载操作。 在 init()方法中,在请求数据

    2024年02月13日
    浏览(53)
  • vue3-seamless-scroll 自动横向滚动 滚动插件

    Vue3.0 无缝滚动组件,支持Vite2.0,支持服务端打包 目前组件支持上下左右无缝滚动,单步滚动,并且支持复杂图标的无缝滚动,目前组件支持平台与 Vue3.0 支持平台一致。 npm Yarn browser list 无缝滚动列表数据,组件内部使用列表长度。 v-model 通过v-model控制动画滚动与停止,默

    2024年01月19日
    浏览(56)
  • 微信小程序---scroll-view 设置scroll-x或者scroll-y如何去掉滚动条

    第一种方法: 第二种方法:添加( enhanced :show-scrollbar=“false”)

    2024年02月07日
    浏览(53)
  • 微信小程序 scroll-view 实现自动滑动到底部

    要实现实时聊天功能的话,那么每次有新的消息进来之后,要自动的滚动到底部。 scroll-view 有一个属性 scroll-into-view : 把新进来的消息, push 添加到消息列表 messageList 中。 但页面不会自动往下滚动。 1、在 scrill-view 节点最下面加一个垫片节点。 需要说明的是:这里的 3 个

    2024年02月10日
    浏览(59)
  • 解決element ui table的show-overflow-tooltip属性,设置其宽度

    又是一个好几天的bug,可能是由于elementui版本网上很多方案不通,解决show-overflow-tooltip显示过长的问题 有问题可以进行交流

    2024年02月06日
    浏览(35)
  • [Unity学习]使用ScrollRect实现自动滚动到底部显示实时消息,并在拖动的时候取消自动滚动,再次手动滑到底部,又继续自动滚动

    首先需要重写ScrollRect组件: 下面通过协程实现在不滚动ScrollRect的时候,自动滚动到底部。 使用时,写下面类似代码即可: Unity原生Scroll View更改配置如下: 其中ScrollView游戏物体更改组件如下: content配置如下: 实现效果如下: 大功告成!加上对象池模式控制添加的text实例

    2024年02月16日
    浏览(38)
  • js:scroll平滑滚动页面或元素到顶部或底部的方案汇总

    准备知识: scrollWidth: 是元素全部内容的宽度,包括由于overflow溢出而在屏幕上不可见的内容 scrollHeight: 是元素全部内容的高度,包括由于overflow溢出而在屏幕上不可见的内容 scrollTop: 纵向滚动条距离元素最顶部的距离 scrollLeft: 横向滚动条距离元素最左侧的距离 语法 参数 -

    2024年02月09日
    浏览(37)
  • 【uniapp】scroll-view 实现自动滚动到最底部

    在做uniapp项目中,有个滚动视图组件 scroll-view ,跟微信小程序里的组件一样的,想要实现自动滚动到最底部,是一件容易忽略的,小事情。 官网uniapp文档上说可以控制滚动条,并没有自动滚动到底部的设置选项,请看布局源代码,如下,大多数可能都是这样写的 🤔 虽然可

    2024年02月11日
    浏览(70)
  • vue-seamless-scroll(一个简单的基于vue.js的无缝滚动)

    一般在数据可视化项目中经常会看到无缝滚动的表格,即轮播表,我们可以使用 vue-seamless-scroll 来实现,使用起来也很方便  vue-seamless-scroll官网:vue-seamless-scroll NPM  Yarn  PNPM  在实际项目中可能不止一个地方使用轮播表,所以我这里还是将其封装为单独一个组件可以复用,

    2024年02月16日
    浏览(42)
  • Qt Scroll Area控件设置,解决无法显示全部内容,且无法滚动显示问题。

    前言,因为要显示很多条目的内容,原来是用Vertical Layout控件里面嵌套Horizontal layout显示了很多行控件,发现最简单的方法就是使用滚动条控件,但是无论如何调整需要滚动的控件高度,始终无法滚动显示内容。也就是说添加后,发现没有滚动条,也无法显示超出控件范围的

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包