Карусель самозарядки не автоматически раздвигается

Я использую bootstrap на карусели Twitter (последняя версия), и у меня есть работа - за исключением того, что она не начинает автоматически скользить. Он работает хорошо после того, как вы нажали одну из кнопок навигации. Не знаю, почему это делается.

Здесь моя настройка JS в заголовке:

    <script type="text/javascript" src="<?php echo tz_JS . '/bootstrap/jquery.js'; ?>"></script>

<script type="text/javascript" src="<?php echo tz_JS . '/bootstrap/bootstrap-carousel.js'; ?>"></script>
<script type="text/javascript" src="<?php echo tz_JS . '/bootstrap/bootstrap-transition.js'; ?>"></script>

И HTML:

<div id="myCarousel" class="carousel slide">
<div class="carousel-inner">

    <div class="active item">
    <div class="image-position-right">
        <a href="#"><img src="validimagelink.jpg" width="920" height="550" alt=""></a>
    </div>
    </div>


    <div class="item">
    <div class="image-position-right">
        <a href="#"><img src="validimagelink.jpg" width="920" height="550" alt=""></a>
    </div>
    </div>

</div>

<a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">›</a>

Также добавлено это безрезультатно:

<script>
$('#myCarousel').carousel({
    interval: 1200
});
</script>

После внесения вышеуказанного изменения консоль javascript сообщает:

Uncaught TypeError: Объект # не имеет метода "карусель" (анонимная функция) b.extend.ready jquery.min.js: 29 и

Любые мысли о том, почему это не сработало?

Ответ 1

<script type="text/javascript">
  $(document).ready(function() {
    $('.carousel').carousel({
      interval: 1200
    })
  });
</script>

Если он все еще не работает, найдите потенциальные ошибки в консоли браузера (firebug/chrome..).


Для

Uncaught TypeError: Object # has no method 'carousel' (anonymous function) b.extend.ready jquery.min.js:29 u

Убедитесь, что:

Включен только один jQuery

Включен только один bootstrap-carousel.js или bootstrap.js.

Сначала включается jQuery, затем bootstrap-carousel.js или bootstrap.js, затем $(document).ready(...

Ответ 2

Иногда использование неправильной версии JQuery может влиять на действия карусели Boostrap от Twitters. В настоящее время они запускаются с версией v1.7.1, если вы используете разные, это может вызвать ошибки.

Если вы не используете v1.7.1, вы можете скачать его здесь:

http://code.jquery.com/jquery-1.7.1.min.js

Также убедитесь, что ваш код завернут в готовый документ:

  $(document).ready(function () {
      // code here
  });

Ответ 3

У меня была такая же проблема и я нашел решение; Поскольку мы оба помещаем javascripts в конец страницы, вызов функции должен быть указан после них:

<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.js"></script>

<script type="text/javascript">
var $ = jQuery.noConflict();
$(document).ready(function() { 
  $('#myCarousel').carousel({ interval: 3000, cycle: true });
}); 

Иногда вам нужно поместить файл JavaScript после карусели. Фактически до конца страницы.

Ссылка: http://twitterbootstrap.org/twitter-bootstrap-3-carousel-not-automatically-starting/

Счастливое кодирование. Благодаря

Ответ 4

 <script language="javascript" type="text/javascript">
 $(window).load(function() 
 {       
     $("#slideshow > div:gt(0)").hide();
     setInterval(function() { 
       $('#slideshow > div:first')
       .fadeOut(750)
       .next()
       .fadeIn(1000)
       .end()
       .appendTo('#slideshow');
                            },  11000);
  });
</script>

Ответ 5

Если вы используете NgRoute, и вышеупомянутые решения не сработали для вас, обязательно включите следующий код javascript, расположенный на самой верхней части шаблона NgRoute, введет в <ng-view></ng-view>:

  <script type="text/javascript"> $(document).ready(function() { $('#Carousel').carousel({ interval: 2500 }) });

Также убедитесь, что jQuery включен первым до загрузки bootstrap.js. Это помогло мне, когда у меня возникла эта проблема в моем проекте.