Как добавить кнопку «Загрузить еще» на свой веб-сайт с помощью HTML-CSS-JavaScript

Как добавить кнопку «Загрузить еще» на свой веб-сайт с помощью HTML-CSS-JavaScript

создайте адаптивный раздел сообщения в блоге с эффектом кнопки загрузки большего количества контента, используя пошаговое руководство html css и vanilla javascript. создайте отзывчивую страницу сообщений в блоге / раздел новостей с эффектом кнопки «Загрузить больше», используя учебник html css и vanilla javascript для начинающих.


HTML КОД:

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <meta http-equiv="X-UA-Compatible" content="IE=edge">

   <meta name="viewport" content="width=device-width, initial-scale=1.0">

     <!-- font awesome cdn link  -->

   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">

   <!-- custom css file link  -->

   <link rel="stylesheet" href="css/style.css">

</head>

<body>

   <div class="container">

   <h1 class="heading">our daily posts</h1>

   <div class="box-container">


      <div class="box">

         <div class="image">

            <img src="images/img-1.jpg" alt="">

         </div>

         <div class="content">

            <h3>blog title goes here</h3>

            <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quod, adipisci!</p>

            <a href="#" class="btn">read more</a>

            <div class="icons">

               <span> <i class="fas fa-calendar"></i> 21st may, 2022 </span>

               <span> <i class="fas fa-user"></i> by admin </span>

            </div>

         </div>

      </div>


      <div class="box">

         <div class="image">

            <img src="images/img-2.jpg" alt="">

         </div>

         <div class="content">

            <h3>blog title goes here</h3>

            <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quod, adipisci!</p>

            <a href="#" class="btn">read more</a>

            <div class="icons">

               <span> <i class="fas fa-calendar"></i> 21st may, 2022 </span>

               <span> <i class="fas fa-user"></i> by admin </span>

            </div>

         </div>

      </div>


      <div class="box">

         <div class="image">

            <img src="images/img-3.jpg" alt="">

         </div>

         <div class="content">

            <h3>blog title goes here</h3>

            <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quod, adipisci!</p>

            <a href="#" class="btn">read more</a>

            <div class="icons">

               <span> <i class="fas fa-calendar"></i> 21st may, 2022 </span>

               <span> <i class="fas fa-user"></i> by admin </span>

            </div>

         </div>

      </div>


      <div class="box">

         <div class="image">

            <img src="images/img-4.jpg" alt="">

         </div>

         <div class="content">

            <h3>blog title goes here</h3>

            <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quod, adipisci!</p>

            <a href="#" class="btn">read more</a>

            <div class="icons">

               <span> <i class="fas fa-calendar"></i> 21st may, 2022 </span>

               <span> <i class="fas fa-user"></i> by admin </span>

            </div>

         </div>

      </div>


      <div class="box">

         <div class="image">

            <img src="images/img-5.jpg" alt="">

         </div>

         <div class="content">

            <h3>blog title goes here</h3>

            <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quod, adipisci!</p>

            <a href="#" class="btn">read more</a>

            <div class="icons">

               <span> <i class="fas fa-calendar"></i> 21st may, 2022 </span>

               <span> <i class="fas fa-user"></i> by admin </span>

            </div>

         </div>

      </div>


      <div class="box">

         <div class="image">

            <img src="images/img-6.jpg" alt="">

         </div>

         <div class="content">

            <h3>blog title goes here</h3>

            <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quod, adipisci!</p>

            <a href="#" class="btn">read more</a>

            <div class="icons">

               <span> <i class="fas fa-calendar"></i> 21st may, 2022 </span>

               <span> <i class="fas fa-user"></i> by admin </span>

            </div>

         </div>

      </div>


      <div class="box">

         <div class="image">

            <img src="images/img-7.jpg" alt="">

         </div>

         <div class="content">

            <h3>blog title goes here</h3>

            <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quod, adipisci!</p>

            <a href="#" class="btn">read more</a>

            <div class="icons">

               <span> <i class="fas fa-calendar"></i> 21st may, 2022 </span>

               <span> <i class="fas fa-user"></i> by admin </span>

            </div>

         </div>

      </div>


      <div class="box">

         <div class="image">

            <img src="images/img-8.jpg" alt="">

         </div>

         <div class="content">

            <h3>blog title goes here</h3>

            <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quod, adipisci!</p>

            <a href="#" class="btn">read more</a>

            <div class="icons">

               <span> <i class="fas fa-calendar"></i> 21st may, 2022 </span>

               <span> <i class="fas fa-user"></i> by admin </span>

            </div>

         </div>

      </div>


      <div class="box">

         <div class="image">

            <img src="images/img-9.jpg" alt="">

         </div>

         <div class="content">

            <h3>blog title goes here</h3>

            <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quod, adipisci!</p>

            <a href="#" class="btn">read more</a>

            <div class="icons">

               <span> <i class="fas fa-calendar"></i> 21st may, 2022 </span>

               <span> <i class="fas fa-user"></i> by admin </span>

            </div>

         </div>

      </div>


   </div>

   <div id="load-more"> load more </div>

</div>

<script>

let loadMoreBtn = document.querySelector('#load-more');

let currentItem = 3;


loadMoreBtn.onclick = () =>{

   let boxes = [...document.querySelectorAll('.container .box-container .box')];

   for (var i = currentItem; i < currentItem + 3; i++){

      boxes[i].style.display = 'inline-block';

   }

   currentItem += 3;


   if(currentItem >= boxes.length){

      loadMoreBtn.style.display = 'none';

   }

}

</script>

</body>

</html>

CSS КОД:

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600&display=swap');


*{

   font-family: 'Montserrat', sans-serif;

   margin:0; padding:0;

   box-sizing: border-box;

   outline: none; border:none;

   text-decoration: none;

   text-transform: capitalize;

   transition: all .2s linear;

}

body{

 background-color: #dc143c22; 

}

.container{

  max-width: 1200px;

  margin: 0 auto;

  text-align: center;

  padding:25px 20px;

}

.container .heading{

  font-size: 40px;

  margin-bottom: 20px;

  color:#334;

}

.container .box-container{

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));

  gap:20px;

}

.container .box-container .box{

  background-color: #fff;

  padding:20px;

  border-radius: 5px;

  box-shadow: 0 5px 10px rgba(0,0,0,.2);

  display: none;

}

.container .box-container .box:nth-child(1),

.container .box-container .box:nth-child(2),

.container .box-container .box:nth-child(3){

  display: inline-block;

}

.container .box-container .box .image{

  margin-bottom: 20px;

  overflow: hidden;

  height: 250px;

  border-radius: 5px;

}

.container .box-container .box .image img{

  height: 100%;

  width: 100%;

  object-fit: cover;

}

.container .box-container .box:hover .image img{

  transform: scale(1.1);

}

.container .box-container .box .content h3{

  font-size: 20px;

  color:#334;

}

.container .box-container .box .content p{

  font-size: 15px;

  color:#777;

  line-height: 2;

  padding:15px 0;

}

.container .box-container .box .content .btn{

  display: inline-block;

  padding:10px 30px;

  border:1px solid #334;

  color:#334;

  font-size: 16px;

}

.container .box-container .box .content .btn:hover{

  background-color: crimson;

  border-color: crimson;

  color:#fff;

}

.container .box-container .box .content .icons{

  display: flex;

  align-items: center;

  justify-content: space-between;

  margin-top: 20px;

  padding-top: 15px;

  border-top:1px solid #334;

}

.container .box-container .box .content .icons span{

  font-size: 14px;

  color:#777;

}

.container .box-container .box .content .icons span i{

  color:crimson;

  padding-right: 5px;

}

#load-more{

  margin-top: 20px;

  display: inline-block;

  padding:13px 30px;

  border:1px solid #334;

  color:#334;

  font-size: 16px;

  background-color: #fff;

  cursor: pointer;

}

#load-more:hover{

  background-color: crimson;

  border-color: crimson;

  color:#fff;

}

@media (max-width:450px){

  .container .heading{

    font-size: 25px;

  }

  .container .box-container{

    grid-template-columns: 1fr;

  }

  .container .box-container .box .image{

    height: 200px;

  }

  .container .box-container .box .content p{

    font-size: 12px;

  }

  .container .box-container .box .content .icons span{

    font-size: 12px;

  }

}

JAVASCRIPT КОД:

<script>

let loadMoreBtn = document.querySelector('#load-more');

let currentItem = 3;


loadMoreBtn.onclick = () =>{

   let boxes = [...document.querySelectorAll('.container .box-container .box')];

   for (var i = currentItem; i < currentItem + 3; i++){

      boxes[i].style.display = 'inline-block';

   }

   currentItem += 3;


   if(currentItem >= boxes.length){

      loadMoreBtn.style.display = 'none';

   }

}

</script>


Отправить комментарий

Новые Старые

نموذج الاتصال