У меня есть приложение для чата. Я хочу всегда прокручивать внизу страницы. Когда я захожу на страницу, где я могу прокрутить вниз, а затем возвращаюсь к своему чату, прокрутка вообще не обновляется.
картин p>
First -> Открытие чата < /p>
second -> Открытие длинного прокручиваемого сайта < /p>
третья -> возвращение в чате
Проверка в F12 с * {upline: red 1px}
my setup:
Язык: C# .net 8.0 < /li>
Framework: Blazor Server < /li>
rendermode: InteractiveServer < /li>
< /ul>
Я не вижу никакого элемента, который бы вызвал эту прокрутку. Я ничего не нашел в F12, и я не видел ничего с * {upline: red 1px} \ < /p>
Это происходит только тогда, когда я захожу на страницу документации. Когда я захожу в чат, в котором есть полоса прокрутки, то прокрутка автоматически исчезает, как только я захожу в чат, который еще не достиг размер прокрутки \ < /p>
Я также попытался добавить добавление функции сброса прокрутки, которую я Вызовов над Blazor & Prime Over JS Console, которая не сработала < /p>
function recalculateScrollbar() {
document.body.style.overflow = 'hidden'; // Temporarily hide scrollbars
document.body.offsetHeight; // Force a reflow
document.body.style.overflow = ''; // Restore default overflow
}
code
Я сомневаюсь, что этот код поможет, но если вы ищете что -то конкретное, вы можете принять это В качестве ссылки: < /p>
код для чата (сокращено): < /p>
@page "/chat/{id}"
@rendermode InteractiveServer
@inject IJSRuntime JSRuntime
@inject NavigationManager navMan
Live Example
@if (currentChat == null)
{
Not found
}
else
{
Here is the Chat @currentChat.name
@foreach(var item in displayedChatItems)
{
/* Display Item */
}
}
function scrollToBottom() {
window.scrollTo(0, document.body.scrollHeight);
}
function scrollToElement(elementId) {
var element = document.getElementById(elementId);
if (element) {
element.scrollIntoView({ behavior: 'smooth', block: 'end' });
}
}
function recalculateScrollbar() {
document.body.style.overflow = 'hidden'; // Temporarily hide scrollbars
document.body.offsetHeight; // Force a reflow
document.body.style.overflow = ''; // Restore default overflow
}
@code {
// Site-Functions
private void ScrollToBottom(int delay = 200)
{
Task.Run(async() =>
{
await Task.Delay(delay);
await JSRuntime.InvokeVoidAsync("recalculateScrollbar");
//await JSRuntime.InvokeVoidAsync("scrollToBottom"); would scroll all the way to the bottom
await JSRuntime.InvokeVoidAsync("scrollToElement", "bottom-element");
});
}
protected override async Task OnInitializedAsync()
{
/* Load Chat */
}
protected override void OnAfterRender(bool firstRender)
{
ScrollToBottom(0);
}
}
< /code>
код для документации (сокращена): < /p>
@page "/docs/{id}"
@rendermode InteractiveServer
.custom-pagewrap{
width: 80%;
margin: 0 auto 0 2rem;
}
Documentation
@if (Documentation == null)
{
Not found
}
else
{
}
@code {
[Parameter]
public string id { get; set; }
private VDocument Documentation { get; set; }
protected override void OnInitialized()
{
Documentation = /* Loaded from API */
}
}
< /code>
код для введения (сокращено): < /p>
@using BlazorWA.Components.BuildingBlocks
@page "/"
.custom-pagewrap{
width: 80%;
margin: 0 auto 0 2rem;
}
Introduction
@code {
private string Introduction { get; set; }
protected override void OnInitialized()
{
Introduction = File.ReadAllText("Shared/Intro.md");
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... o-elements
Прокрутка на моем веб -сайте, хотя нет элементов ⇐ Html
Программисты Html
-
Anonymous
1738323632
Anonymous
У меня есть приложение для чата. Я хочу всегда прокручивать внизу страницы. Когда я захожу на страницу, где я могу прокрутить вниз, а затем возвращаюсь к своему чату, прокрутка вообще не обновляется.
[b] картин p>
First -> Открытие чата < /p>
second -> Открытие длинного прокручиваемого сайта < /p>
третья -> возвращение в чате
Проверка в F12 с * {upline: red 1px}
my setup: [/b]
Язык: C# .net 8.0 < /li>
Framework: Blazor Server < /li>
rendermode: InteractiveServer < /li>
< /ul>
Я не вижу никакого элемента, который бы вызвал эту прокрутку. Я ничего не нашел в F12, и я не видел ничего с * {upline: red 1px} \ < /p>
Это происходит только тогда, когда я захожу на страницу документации. Когда я захожу в чат, в котором есть полоса прокрутки, то прокрутка автоматически исчезает, как только я захожу в чат, который еще не достиг размер прокрутки \ < /p>
Я также попытался добавить добавление функции сброса прокрутки, которую я Вызовов над Blazor & Prime Over JS Console, которая не сработала < /p>
function recalculateScrollbar() {
document.body.style.overflow = 'hidden'; // Temporarily hide scrollbars
document.body.offsetHeight; // Force a reflow
document.body.style.overflow = ''; // Restore default overflow
}
[b] code [/b]
Я сомневаюсь, что этот код поможет, но если вы ищете что -то конкретное, вы можете принять это В качестве ссылки: < /p>
код для чата (сокращено): < /p>
@page "/chat/{id}"
@rendermode InteractiveServer
@inject IJSRuntime JSRuntime
@inject NavigationManager navMan
Live Example
@if (currentChat == null)
{
Not found
}
else
{
Here is the Chat @currentChat.name
@foreach(var item in displayedChatItems)
{
/* Display Item */
}
}
function scrollToBottom() {
window.scrollTo(0, document.body.scrollHeight);
}
function scrollToElement(elementId) {
var element = document.getElementById(elementId);
if (element) {
element.scrollIntoView({ behavior: 'smooth', block: 'end' });
}
}
function recalculateScrollbar() {
document.body.style.overflow = 'hidden'; // Temporarily hide scrollbars
document.body.offsetHeight; // Force a reflow
document.body.style.overflow = ''; // Restore default overflow
}
@code {
// Site-Functions
private void ScrollToBottom(int delay = 200)
{
Task.Run(async() =>
{
await Task.Delay(delay);
await JSRuntime.InvokeVoidAsync("recalculateScrollbar");
//await JSRuntime.InvokeVoidAsync("scrollToBottom"); would scroll all the way to the bottom
await JSRuntime.InvokeVoidAsync("scrollToElement", "bottom-element");
});
}
protected override async Task OnInitializedAsync()
{
/* Load Chat */
}
protected override void OnAfterRender(bool firstRender)
{
ScrollToBottom(0);
}
}
< /code>
код для документации (сокращена): < /p>
@page "/docs/{id}"
@rendermode InteractiveServer
.custom-pagewrap{
width: 80%;
margin: 0 auto 0 2rem;
}
Documentation
@if (Documentation == null)
{
Not found
}
else
{
}
@code {
[Parameter]
public string id { get; set; }
private VDocument Documentation { get; set; }
protected override void OnInitialized()
{
Documentation = /* Loaded from API */
}
}
< /code>
код для введения (сокращено): < /p>
@using BlazorWA.Components.BuildingBlocks
@page "/"
.custom-pagewrap{
width: 80%;
margin: 0 auto 0 2rem;
}
Introduction
@code {
private string Introduction { get; set; }
protected override void OnInitialized()
{
Introduction = File.ReadAllText("Shared/Intro.md");
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79339073/scrollbar-on-my-website-although-there-are-no-elements[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия