0

Я работаю с fullPage.js и Bootstrap modal.Bootstrap modal не работает функция `scroll` с fullPage.js

У меня проблема при прокрутке содержимого в Bootstrap modal.

Я не могу прокручивать всплывающее окно, сделанное Bootstrap modal. Или интерактивный интерфейс пользователя, сделанный Bootstrap modal. Когда я добавляю функцию для уничтожения fullPage.js, она по-прежнему не может прокручивать содержимое. Как правило, мой код работает правильно, но с fullPage.js, кажется, не работает.

Вы можете увидеть мой код на http://jsfiddle.net/6SQhb/496/

Или прямой в моем коде:

var slideTimeout; 
 

 
$('#fullpage').fullpage({ 
 
    sectionsColor: ['#ccc', '#999'], 
 
    anchors: ['home', 'about'], 
 
    animateAnchor: false, 
 
    menu: '.nav', 
 
    paddingTop: '50px', 
 
    verticalCentered: false, 
 
    slidesNavigation: true, 
 
    slidesNavPosition: 'bottom', 
 
    css3: true, 
 
    afterRender: function() { 
 
     //on page load, start the slideshow 
 
     setTimeout(function() { 
 
      $.fn.fullpage.moveTo(1, 0); 
 
     }, 1000); 
 
    }, 
 
    afterSlideLoad: function (anchorLink, index, slideAnchor, slideIndex) { 
 
     if (anchorLink == 'home') { 
 
      //make the slideshow automatically go! 
 
      slideTimeout = setTimeout(function() { 
 
       $.fn.fullpage.moveTo(1, slideIndex + 1); 
 
      }, 1000); 
 

 
      //if you are at the last slide 
 
      //then cycle back to the first 
 
      if (slideIndex == 2) { 
 
       slideTimeout = setTimeout(function() { 
 
        $.fn.fullpage.moveTo(1, 0); 
 
       }, 1000); 
 
      } 
 
     } 
 
    }, 
 

 
    onLeave: function (index, direction) { 
 
     //after leaving section 1 (home) and going anywhere else, whether scrolling down to next section or clicking a nav link, this SHOULD stop the slideshow and allow you to navigate the site...but it does not 
 
     if (index == '1') { 
 
      console.log('on leaving the slideshow/section1'); 
 
      clearInterval(slideTimeout); 
 
     } 
 
    } 
 
}); 
 

 
//$(document).on('click', '.clickme', function(){ 
 
    //$.fn.fullpage.destroy('all'); 
 
//});
.modal-backdrop { 
 
    background-color: transparent !important; 
 
} 
 

 
.modal-dialog{ 
 
    overflow-y: initial !important; 
 
} 
 
.modal-body{ 
 
    max-height: calc(100vh - 200px); 
 
    overflow-y: auto; 
 
} 
 
.slideOne { 
 
    background-color:#99CCFF; 
 
} 
 
.slideTwo { 
 
    background-color:#FF66FF; 
 
} 
 
.slideThree { 
 
    background-color:#00CC99; 
 
} 
 
#header { 
 
    width: 100%; 
 
    background-color: #42403c; 
 
    background: rgba(0, 0, 0, 0.7); 
 
    position: fixed; 
 
    height: 50px; 
 
    top: 0; 
 
    z-index: 99; 
 
} 
 
.nav li { 
 
    display:inline; 
 
} 
 
.nav li a { 
 
    color: #FFF; 
 
    font-size: 16px; 
 
    text-decoration: none; 
 
} 
 
.nav li a:hover { 
 
    color: #69b744; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="http://alvarotrigo.com/fullPage/jquery.fullPage.min.js"></script> 
 
<link href="http://alvarotrigo.com/fullPage/jquery.fullPage.css" rel="stylesheet"/> 
 

 

 
<header id="header"> 
 
    <ul class="nav"> 
 
     <li data-menuanchor="home"> <a href="#home">home</a> 
 

 
     </li> 
 
     <li data-menuanchor="about"><a href="#about">about</a> 
 

 
     </li> 
 
    </ul> 
 
</header> 
 
<div id="fullpage"> 
 
    <div class="section" id="section0"> 
 
    <br><br><br><br><br> 
 
     <a class="clickme" href="javascript:void(0,0)" data-toggle="modal" data-target="#myModal">Click me </a> 
 
     <!-- Modal --> 
 
     <div id="myModal" class="modal fade" role="dialog"> 
 
     <div class="modal-dialog"> 
 
      <!-- Modal content--> 
 
      <div class="modal-content"> 
 
      <div class="modal-header"> 
 
       <button type="button" class="close" data-dismiss="modal">&times;</button> 
 
       <h4 class="modal-title">Modal Header</h4> 
 
      </div> 
 
      <div class="modal-body"> 
 
       <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi magnam voluptatibus quaerat, mollitia suscipit. Quia asperiores itaque temporibus voluptate similique deleniti at voluptates alias, et laudantium? Unde, neque vitae nesciunt!</p> 
 
       <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi magnam voluptatibus quaerat, mollitia suscipit. Quia asperiores itaque temporibus voluptate similique deleniti at voluptates alias, et laudantium? Unde, neque vitae nesciunt!</p> 
 
       <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi magnam voluptatibus quaerat, mollitia suscipit. Quia asperiores itaque temporibus voluptate similique deleniti at voluptates alias, et laudantium? Unde, neque vitae nesciunt!</p> 
 
       <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi magnam voluptatibus quaerat, mollitia suscipit. Quia asperiores itaque temporibus voluptate similique deleniti at voluptates alias, et laudantium? Unde, neque vitae nesciunt!</p> 
 
       <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi magnam voluptatibus quaerat, mollitia suscipit. Quia asperiores itaque temporibus voluptate similique deleniti at voluptates alias, et laudantium? Unde, neque vitae nesciunt!</p> 
 
      </div> 
 
      <div class="modal-footer"> 
 
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
 
      </div> 
 
      </div> 
 
     </div> 
 
     </div> 
 
     <!-- end modal --> 
 
    </div> 
 
    <div class="section" id="section1">second section</div> 
 
</div>

+0

Так что вам нужен модальное работать после того, как прокрутки? Я имею в виду, что модальные остаться даже после прокрутки? –

+0

Нет. Мне нужно только «модальное» отображение и возможность прокрутки, если содержание в 'model-body' слишком длинное. В настоящее время я не могу прокручивать этот «модальный». – vanloc

+0

Можете ли вы проверить ссылку ниже? –

ответ

2

Вот ссылка решения. Просто поместите модальные вне Всех страницы ЯШ:

[http://jsfiddle.net/65kv42L3/][1] 

Кроме того, вы можете отключить Всю страницу на свитке на модальный: Block scroll on Modal open

Код идет здесь:

<header id="header"> 
<ul class="nav"> 
    <li data-menuanchor="home"> <a href="#home">home</a> 

    </li> 
    <li data-menuanchor="about"><a href="#about">about</a> 

    </li> 
</ul> 
</header> 
<div id="fullpage"> 
<div class="section" id="section0"> 
<br><br><br><br><br> 
    <a class="clickme" href="javascript:void(0,0)" data-toggle="modal" data-target="#myModal">Click me </a> 
    <!-- Modal --> 

</div> 
<div class="section" id="section1">second section</div> 


</div> 

<div id="myModal" class="modal fade" role="dialog"> 
    <div class="modal-dialog"> 
     <!-- Modal content--> 
     <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal">&times;</button> 
      <h4 class="modal-title">Modal Header</h4> 
     </div> 
     <div class="modal-body"> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi magnam voluptatibus quaerat, mollitia suscipit. Quia asperiores itaque temporibus voluptate similique deleniti at voluptates alias, et laudantium? Unde, neque vitae nesciunt!</p> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi magnam voluptatibus quaerat, mollitia suscipit. Quia asperiores itaque temporibus voluptate similique deleniti at voluptates alias, et laudantium? Unde, neque vitae nesciunt!</p> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi magnam voluptatibus quaerat, mollitia suscipit. Quia asperiores itaque temporibus voluptate similique deleniti at voluptates alias, et laudantium? Unde, neque vitae nesciunt!</p> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi magnam voluptatibus quaerat, mollitia suscipit. Quia asperiores itaque temporibus voluptate similique deleniti at voluptates alias, et laudantium? Unde, neque vitae nesciunt!</p> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Modi magnam voluptatibus quaerat, mollitia suscipit. Quia asperiores itaque temporibus voluptate similique deleniti at voluptates alias, et laudantium? Unde, neque vitae nesciunt!</p> 
     </div> 
     <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     </div> 
     </div> 
    </div> 
    </div> 
    <!-- end modal --> 
+0

Seem my HTML struct сложна с стилем CSS \t разное. Я не могу заставить его работать правильно. Но ваш ответ прав. Благодарю. – vanloc

Смежные вопросы