gpt4 book ai didi

Javascript使用元素向下移动滚动条不起作用

转载 作者:行者123 更新时间:2023-11-28 00:07:44 24 4
gpt4 key购买 nike

嘿,我有下面的 html 代码,当您按下按钮时,应该 允许页面一直向下滚动到 nextChatHolder 元素。

它在底部很好地添加了聊天气泡,但我希望每次按下按钮时它都向下滚动到 nextChatHolder

我没有错误,这些示例可以独立运行。所以很自然地,我的 javascript 或 css 中的某处导致它无法滚动 - 我无法找到它的内容!

视觉:https://jsbin.com/xihosicayo/edit?js,output

function getElementY(query) {
return window.pageYOffset + document.querySelector(query).getBoundingClientRect().top;
}

function scrollToItem(item) {
var diff = (item.offsetTop-window.scrollY)/8;

if (Math.abs(diff) > 1) {
window.scrollTo(0, (window.scrollY+diff));
clearTimeout(window._TO);
window._TO=setTimeout(scrollToItem, 30, item);
} else {
window.scrollTo(0, item.offsetTop);
}
}

function doScrolling(element, duration) {
var startingY = window.pageYOffset
var elementY = getElementY(element)
var targetY = document.body.scrollHeight - elementY < window.innerHeight ? document.body.scrollHeight - window.innerHeight : elementY
var diff = targetY - startingY
var easing = function (t) { return t<.5 ? 4*t*t*t : (t-1)*(2*t-2)*(2*t-2)+1; }
var start;

if (!diff) return
window.requestAnimationFrame(function step(timestamp) {
if (!start) start = timestamp;
var time = timestamp - start;
var percent = Math.min(time / duration, 1);

percent = easing(percent);
window.scrollTo(0, startingY + diff * percent);

if (time < duration) {
window.requestAnimationFrame(step);
}
})
}

function newTalk(textVal, pic) {
var my_elem = document.getElementById("nextChatHolder");
var div = document.createElement('div');

div.innerHTML = '<div class="animated animatedFadeInUp fadeInUp">' +
'<div class="chat self">' +
'<div class="user-photo">' +
'<img src="' + pic + '">' +
'</div>' +
'<p class="chat-message">' + textVal + '</p>' +
'<span class="timeself">11:01 PM | Oct 11 2019</span>' +
'</div>' +
'</div>';

my_elem.parentNode.insertBefore(div, my_elem);
//scrollToItem(my_elem))
}

最佳答案

我相信您正在寻找:

my_elem.scrollIntoView({behavior: "smooth",block: "end"})

作为 newTalk 中的最后一行。

Documentation

关于Javascript使用元素向下移动滚动条不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55601420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com