JS如何設(shè)置滾動屬性默認(rèn)自動滾動到底部(overflow:scroll;)
核心代碼
- 設(shè)置滾動屬性默認(rèn)自動滾動到底部:
// 獲取設(shè)置了滾動屬性的div標(biāo)簽
const div = document.getElementById('conversationalDiv');
// 設(shè)置滾動的頂點坐標(biāo)為滾動的總高度
div.scrollTop = div.scrollHeight;
應(yīng)用場景
場景:實現(xiàn)對話框,默認(rèn)展示最新的對話內(nèi)容

- react 實現(xiàn):
import { Input } from 'antd';
import { useState } from 'react';
function() {
const [loading, setLoading] = useState(false);
// 創(chuàng)建 dt dd 標(biāo)簽
const createTag = (type, innerHTML) => {
const dl = document.getElementById('conversationalDl');
const tag = document.createElement(type);
// 添加標(biāo)簽內(nèi)容
tag.innerHTML = innerHTML;
if (dl) {
// 向dl插入標(biāo)簽
dl.appendChild(tag);
}
const div = document.getElementById('conversationalDiv');
if (div) {
// 設(shè)置滾動到最底部
div.scrollTop = div.scrollHeight;
}
};
const onConversationalSearch = async (val) => {
// 創(chuàng)建dt標(biāo)簽,表示用戶輸入的內(nèi)容
createTag('dt', val);
setLoading(true);
try {
const data = await getText(val);
// 測試數(shù)據(jù):
// const data = "I'm good, how are you?"
// 創(chuàng)建dd標(biāo)簽,表示另一邊輸入的內(nèi)容
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;
}總結(jié)
到此這篇關(guān)于JS如何設(shè)置滾動屬性默認(rèn)自動滾動到底部的文章就介紹到這了,更多相關(guān)JS默認(rèn)自動滾動到底部內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
前端獲取excel表格數(shù)據(jù)并在瀏覽器展示方法實例
在開發(fā)過程中,難免會碰到用前端來處理excel文件的需求,這篇文章主要給大家介紹了關(guān)于前端獲取excel表格數(shù)據(jù)并在瀏覽器展示方的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08
每天一篇javascript學(xué)習(xí)小結(jié)(Boolean對象)
這篇文章主要介紹了javascript中的Boolean對象知識點,對Boolean對象的基本使用方法進(jìn)行解釋,一段很詳細(xì)的代碼介紹,感興趣的小伙伴們可以參考一下2015-11-11
Bootstrap CSS組件之導(dǎo)航條(navbar)
這篇文章主要為大家詳細(xì)介紹了Bootstrap CSS組件之導(dǎo)航條(navbar),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12
layer.open的自適應(yīng)及居中及子頁面標(biāo)題的修改方法
今天小編就為大家分享一篇layer.open的自適應(yīng)及居中及子頁面標(biāo)題的修改方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JavaScript手寫源碼之實現(xiàn)arrify轉(zhuǎn)數(shù)組
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript實現(xiàn)arrify轉(zhuǎn)數(shù)組,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)JavaScript有一點的幫助,需要的可以參考一下2023-02-02
JavaScript利用canvas實現(xiàn)鼠標(biāo)跟隨特效
canvas是一個很神奇的玩意兒,比如畫表格、畫海報圖都要用canvas去做。本文就來利用canvas制作個簡單的鼠標(biāo)跟隨特效,快跟隨小編一起學(xué)習(xí)一下吧2022-10-10
Javascript 拖拽雛形(逐行分析代碼,讓你輕松了拖拽的原理)
這篇文章主要介紹了Javascript 拖拽雛形(逐行分析代碼,讓你輕松了拖拽的原理),需要的朋友可以參考下2015-01-01

