2013-08-11 3 views
0

Как изменить свойство отображения css при прокрутке до смещения аффикса?Twitter Bootstrap - Affix появляется на смещение

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

<div class="article-bar" data-spy="affix" data-offset-top="700"> 
    <div class="row"> 
     <div class="col-lg-8"> 
      <?php include('inc_social.php');?> 
     </div> 
     <div class="col-lg-4"> 
      Next: <?php next_post('%','');?> 
     </div> 
    </div> 
</div> 

.article-bar {width:100%; background-color:#FFF; padding:10px 20px; top:0; z-index:99999; border-bottom:1px solid #CCC; display:none;} 
+0

Не могли бы вы предоставить нам код или изображения. –

+0

добавил код. – ok1ha

ответ

4

Понял! Не забудьте удалить данные-офсет-верх из div.

<div class="article-bar" data-spy="affix"> 
.... 
</div> 

<script> 
    $(function() { 
     $(window).scroll(function() { 
      if($(window).scrollTop() >= 700) { 
       $('.article-bar').fadeIn('fast'); 
      }else{ 
       $('.article-bar').fadeOut('fast'); 
      } 
     }); 
    }); 
</script> 
+1

Очень просто, замените 'else if ($ (window) .scrollTop() <= 699)' на 'else'. Оба делают то же самое в вашем случае. – Jithesh

0

Возможно, вы захотите начать со скрытого элемента. Эта работа будет тогда:

<div class="article-bar" class="hidden" data-spy="affix"> 
.... 
</div> 

<script> 
    $(function() { 
     $(window).scroll(function() { 
     if($(window).scrollTop() >= 700) { 
      $('.article-bar').removeClass('hidden'); 
      $('.article-bar').fadeIn('fast'); 
     }else{ 
      $('.article-bar').fadeOut('fast'); 
     } 
     }); 
    }); 
</script> 
+0

Это не сработало, когда я сделал класс скрытым Bootstrap не смог найти div. – johnny

0

Вот мое решение только с помощью CSS

Добавить .hidden класс в элемент Set .affix> .hidden на: дисплей: блок важно

.article-bar {width:100%; background-color:#FFF; padding:10px 20px; top:0; z-index:99999; border-bottom:1px solid #CCC;} 
 

 
.hidden { 
 
    display: none; 
 
} 
 

 
.affix .hidden { 
 
    display: block !important; 
 
    }
<div class="article-bar" data-spy="affix" data-offset-top="700"> 
 
    <div class="row hidden"> 
 
     <div class="col-lg-8"> 
 
      <?php include('inc_social.php');?> 
 
     </div> 
 
     <div class="col-lg-4"> 
 
      Next: <?php next_post('%','');?> 
 
     </div> 
 
    </div> 
 
</div>

0

Я сделал это. Предоставлено это влияет на все элементы аффикса.

<div id="sticky-item"> 
    <a href="#somebookmark">TOP</a> 
</div> 

$('#sticky-item').affix({ 
    offset: 75 
}); 

.affix 
{ 
    left:20px; 
    background-color:white; 
} 

.affix-top 
{ 
    visibility:hidden; 
} 

$('#sticky-item').on('affix.bs.affix', function() { 
     $('#sticky-item').fadeIn('slow'); 
}); 
Смежные вопросы