данные ползунка не работают нормально в bootstrap с данными бэкэнда - PullRequest
0 голосов
/ 02 февраля 2020

Здравствуйте, m показывает данные из бэкэнда в ползунок, но он не отвечает должным образом, изначально это было так

и скользил влево, но теперь это похоже на

все его данные показываются сразу. Я хочу показать другие данные на следующем слайде. Я использую этот слайдер

https://codepen.io/kravisingh/pen/pLGzgo

код:

  <div class="carousel-item active">
       <% meetings.forEach(function(meeting){ %>
            <div class="col-xs-3 col-sm-3 col-md-3">
                 <div class="col-md-2 col-xs-12 upcoming-btn">
                      <span href="" class="btn btn-success btn-lg dashboard-icon" style="width: 200px; height: 150px;">
                          <p style="padding-top: 15px; font-size: 25px;
                                                        font-weight: bold;"><%= meeting.subject %></p>
                          <p style="font-size: 25px; font-weight: bold;"><%= convertDate(meeting.date) %></p>
                          <p style="font-size: 25px; font-weight: bold;">Upcoming</p>
                        </span>
                     </div> 
                   </div> 
                 <% }) %>   
               </div>

полный код слайдера:

.col-md-3 {
  display: inline-block;
  margin-left: -4px;
}

.col-md-3 img {
  width: 100%;
  height: auto;
}

body .carousel-indicators li {
  background-color: red;
}

body .carousel-control-prev-icon,
body .carousel-control-next-icon {
  background-color: red;
}

body .no-padding {
  padding-left: 0;
  padding-right: 0;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<div id="demo" class="carousel slide" data-ride="carousel">

  <!-- Indicators -->
  <ul class="carousel-indicators">
    <li data-target="#demo" data-slide-to="0" class="active"></li>
    <li data-target="#demo" data-slide-to="1"></li>
    <li data-target="#demo" data-slide-to="2"></li>
  </ul>

  <!-- The slideshow -->
  <div class="container carousel-inner no-padding">
    <div class="carousel-item active">
      <div class="col-xs-3 col-sm-3 col-md-3">
        <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg">
      </div>
      <div class="col-xs-3 col-sm-3 col-md-3">
        <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg">
      </div>
      <div class="col-xs-3 col-sm-3 col-md-3">
        <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg">
      </div>
      <div class="col-xs-3 col-sm-3 col-md-3">
        <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg">
      </div>
    </div>
    <div class="carousel-item">
      <div class="col-xs-3 col-sm-3 col-md-3">
        <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg">
      </div>
      <div class="col-xs-3 col-sm-3 col-md-3">
        <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg">
      </div>
      <div class="col-xs-3 col-sm-3 col-md-3">
        <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg">
      </div>
      <div class="col-xs-3 col-sm-3 col-md-3">
        <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg">
      </div>
    </div>
    <div class="carousel-item">
      <div class="col-xs-3 col-sm-3 col-md-3">
        <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg">
      </div>
      <div class="col-xs-3 col-sm-3 col-md-3">
        <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg">
      </div>
      <div class="col-xs-3 col-sm-3 col-md-3">
        <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg">
      </div>
      <div class="col-xs-3 col-sm-3 col-md-3">
        <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg">
      </div>
    </div>
  </div>

  <!-- Left and right controls -->
  <a class="carousel-control-prev" href="#demo" data-slide="prev">
    <span class="carousel-control-prev-icon"></span>
  </a>
  <a class="carousel-control-next" href="#demo" data-slide="next">
    <span class="carousel-control-next-icon"></span>
  </a>
</div>

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

? Единственная причина , почему вы получаете все данные в ползунке, это потому, что нет условий. Если вы посмотрите на ползунки, у них есть родительский класс active, а в классе active - дочерний. Вы должны сопоставить его.

?‍? Прежде чем мы go к ползунку, первое, что вам нужно сделать, это изменить ваш meetings объект списка ,

Вы можете использовать этот код ниже ?, чтобы изменить структуру объекта списка meetings, поэтому у вашего списка meetings будет родитель и потомок:

function setMeetingSliders(meetings) {
  let i = 0;
  const meetingsTemp = [];

  let itemPerSlider = 4;

  meetings.forEach((meeting, index) => {
    if(index%itemPerSlider === 0) {
      meetingsTemp[i] = [];
      meetingsTemp[i].push(meeting);
      i++;
    } else {
      meetingsTemp[i-1].push(meeting);
    }
  });

  return meetingsTemp;
};

Теперь , перед тем как вы сделаете список meetings, убедитесь, что используете эту функцию для изменения вашего meetings объекта списка . Например, вы можете посмотреть этот код ниже: ?

app.get('/yourmeetings', (req, res) => {
  let meetings = GetMeetingFromDatabase();

  // change your meetings list obect
  meetings = setMeetingSliders(meetings);

  res.render('meetings', { meetings });

});

?‍? После изменения объекта списка meetings теперь вы можете использовать эти ползунки ниже, чтобы ваши ползунки работали.

<div id="demo" class="carousel slide" data-ride="carousel">
   <!-- Indicators -->
   <ul class="carousel-indicators">
    <li data-target="#demo" data-slide-to="0" class="active"></li>
    <li data-target="#demo" data-slide-to="1"></li>
    <li data-target="#demo" data-slide-to="2"></li>
  </ul>

  <!-- The slideshow -->
  <div class="container carousel-inner no-padding">
    <!-- mapping your meetings parent -->
    <% meetings.forEach(function(meeting,index){ %>
    <div class="carousel-item <%= index === 0 ? 'active' : '' %>">
      <!-- mapping your meetings child -->
      <% meeting.forEach(function(m){ %>
      <div class="col-xs-3 col-sm-3 col-md-3">
        <div class="col-md-2 col-xs-12 upcoming-btn">
          <span href="" class="btn btn-success btn-lg dashboard-icon" style="width: 200px; height: 150px;">
            <p style="padding-top: 15px; font-size: 25px; font-weight: bold;"><%= m.subject %></p>
            <p style="font-size: 25px; font-weight: bold;"><%= convertDate(m.date) %></p>
            <p style="font-size: 25px; font-weight: bold;">Upcoming</p>
          </span>
        </div> 
      </div>    
      <% }) %>   
    </div>
  <% }) %>   
  </div>

  <!-- Left and right controls -->
  <a class="carousel-control-prev" href="#demo" data-slide="prev">
    <span class="carousel-control-prev-icon"></span>
  </a>
  <a class="carousel-control-next" href="#demo" data-slide="next">
    <span class="carousel-control-next-icon"></span>
  </a>
</div>

Надеюсь, это поможет вам ?.

0 голосов
/ 02 февраля 2020

Поместите s в конце своих страниц, прямо перед закрывающим тегом, чтобы включить их, и затем используйте это:

<div id="demo" class="carousel slide" data-ride="carousel">

    <!-- Indicators -->
    <ul class="carousel-indicators">
        <li data-target="#demo" data-slide-to="0" class="active"></li>
        <li data-target="#demo" data-slide-to="1"></li>
        <li data-target="#demo" data-slide-to="2"></li>
    </ul>

    <!-- The slideshow -->
    <div class="container carousel-inner no-padding">
        <div class="carousel-item active">
           <div class="row">
               <div class="col-xs-3 col-sm-3 col-md-3">
                   <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg"  class="img-fluid">
               </div>
               <div class="col-xs-3 col-sm-3 col-md-3">
                   <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg"  class="img-fluid">
               </div>
               <div class="col-xs-3 col-sm-3 col-md-3">
                   <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg"  class="img-fluid">
               </div>
               <div class="col-xs-3 col-sm-3 col-md-3">
                   <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg"  class="img-fluid">
               </div>
           </div>
        </div>
        <div class="carousel-item">
           <div class="row">
               <div class="col-xs-3 col-sm-3 col-md-3">
                   <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg" class="img-fluid">
               </div>
               <div class="col-xs-3 col-sm-3 col-md-3">
                   <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg" class="img-fluid">
               </div>
               <div class="col-xs-3 col-sm-3 col-md-3">
                   <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg" class="img-fluid">
               </div>
               <div class="col-xs-3 col-sm-3 col-md-3">
                   <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg" class="img-fluid">
               </div>
           </div>
        </div>
        <div class="carousel-item">
            <div class="row">
                <div class="col-xs-3 col-sm-3 col-md-3">
                    <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg"  class="img-fluid">
                </div>
                <div class="col-xs-3 col-sm-3 col-md-3">
                    <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg"  class="img-fluid">
                </div>
                <div class="col-xs-3 col-sm-3 col-md-3">
                    <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg"  class="img-fluid">
                </div>
                <div class="col-xs-3 col-sm-3 col-md-3">
                    <img src="https://image.shutterstock.com/z/stock-photo-sleeping-disorders-as-a-reason-for-insomnia-293777093.jpg"  class="img-fluid">
                </div>
            </div>
        </div>
    </div>

    <!-- Left and right controls -->
    <a class="carousel-control-prev" href="#demo" data-slide="prev">
        <span class="carousel-control-prev-icon"></span>
    </a>
    <a class="carousel-control-next" href="#demo" data-slide="next">
        <span class="carousel-control-next-icon"></span>
    </a>
</div>


...