Как добавить пробел в начальной загрузке, пока определенный элемент не появится в верхней части экрана?

0

Вопрос

У меня на веб-сайте есть это изображение, которое в начальной версии 4, и я хочу, чтобы изображение было вверху экрана моего пользователя, когда нажимается определенная кнопка или изображение, добавляя пробел в нижней части веб-сайта, поэтому изображение находится на верхнем экране, когда мой веб-сайт прокручивается полностью вниз (что я выяснил с помощью функции JS). Как можно продолжать добавлять пробелы на веб-сайт до тех пор, пока изображение не окажется в верхней части экрана? Я придумал решение, позволяющее иметь определенный элемент в CSS с фиксированными измерениями полей и видеть его при нажатии, но хочу, чтобы он был для различных размеров видовых экранов.

scrollingElement = (document.scrollingElement || document.body);

function scrollSmoothToBottom (id) {
  $(scrollingElement).animate({
     scrollTop: document.body.scrollHeight
  }, 500);
}
window.onload = function(){
// Make WhiteSpace not on website
document.getElementById("whiteSpace").style.display = "none";
document.getElementById("submitButton").addEventListener("click",function(){
// Once Button is clicked make whitespace visible then scroll to bottom
document.getElementById("whiteSpace").style.display = "block";
scrollSmoothToBottom ();
});

}
.space{
 margin:520px; 
}
         <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
        <center>
        <h1 id  = "collegeNameTitle">Name</h1>
        <h3>Student Size</h3>
         <span class="badge badge-success even-larger-badge" id = "collegeStudentSizeText">10</span>
         <h3>Acceptance Rate:</h3>
          <span class="badge badge-success even-larger-badge" id = "collegeAcceptanceRateText">10</span>
          <h3>Student-Faculty Ratio:</h3><span class="badge badge-success even-larger-badge" id = "collegeRatioText">10</span>
        </center>
<center><button id = "submitButton"><img class = "collegeImage"src="sample.png" id  = "collegeImage"></button></center>
<div id = "whiteSpace" class ="space" visibility = "hidden">
  </div>

Пример того, каким я хочу видеть свой веб-сайт. Это мой код прямо сейчас, и я хочу, чтобы в CSS у меня не было фиксированного измерения пространства, кроме как до тех пор, пока изображение не достигнет вершины.

bootstrap-4 css html javascript
2021-11-24 00:12:03
1

Лучший ответ

0

Если вы просто хотите, чтобы позиция вашего img чтобы быть в верхней части экрана, когда вы нажимаете на button затем вы можете попробовать код ниже:

const theImg = document.getElementById("myImg");
const theBtn = document.getElementById("myBtn");
theBtn.addEventListener("click", function(){
  theImg.style.position="fixed";
  theImg.style.top=0;
});
body{
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-item: center;
  justify-content: center;
}
img{
  height: 5rem;
  width: 100%;
}
<button id="myBtn">Button</button>
<img id="myImg" src="https://www.w3schools.com/css/paris.jpg">

Если вы не знакомы с позициями в css, то вам лучше всего ознакомиться с этой документацией.

2021-11-24 01:05:47

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................