Nano Hash - криптовалюты, майнинг, программирование

Навигационные точки не активируются

В моем слайдере есть пара навигационных точек. Каждый раз, когда вы переходите к новому ползунку, следующая точка становится синей, что означает, что она активна. У меня проблема в том, что когда я перехожу к следующему слайду, все мои точки становятся неактивными.

Мой HTML

<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 slider-wrapper">
<div class="banner_wrapper active_banner" style="opacity: 1; left: 0%;">
  <img class="bgwidth" src="http://i.imgur.com/YW5Y1YX.jpg">
</div>
<div class="banner_wrapper inactive_banner" style="opacity: 0; left: 100%;">
  <img class="bgwidth" src="http://i.imgur.com/vFEg6ef.jpg">
</div>
<div class="banner_wrapper inactive_banner" style="opacity: 0; left: -100%;">
  <img class="bgwidth" src="http://i.imgur.com/cEcFlSA.jpg">
</div>
<a class="left-arrow nav_arrows" href="javascript:void(0);">
  <img src="http://i.imgur.com/6UVHSG4.png">
</a>
<a class="right-arrow nav_arrows" href="javascript:void(0);">
  <img src="http://i.imgur.com/pbt7K94.png">
</a>
<div class="banner-nav-wrapper">
  <a class="active_inside" href="javascript:void(0);">
    <span></span>
  </a>
  <a class="inactive_inside" href="javascript:void(0);">
    <span></span>
  </a>
  <a class="inactive_inside" href="javascript:void(0);">
    <span></span>
  </a>
</div>

My CSS

  html{
  background: black;
  }

  .banner_wrapper img{
   position: absolute;
  }

  .banner-nav-wrapper {
  left: 46%;
  position: absolute;
  top: 80%;
  }

  .banner-nav-wrapper a{
  display:block;
  width:13px;
  height:14px;
  background:url(http://i.imgur.com/J8UrHgn.png) top left no-repeat;
  float:left;
  margin:0 5px 0 0;
  }

  .banner-nav-wrapper a.active_inside span{
  display:block !important;
  background:url(http://i.imgur.com/NxoSIbh.png) top left no-repeat;
  width:100%;
  height:100%;
  }

  .banner-nav-wrapper a.inactive_inside span{
  display:block !important;
  background:url(http://i.imgur.com/J8UrHgn.png) top left no-repeat;
  width:100%;
  height:100%;
  }

  .banner-nav-wrapper a span{
  display:none;   
  width:100%;
  height:100%;
  background:url(http://i.imgur.com/NxoSIbh.png) top left no-repeat;
  }


  .left-arrow {
  background: none repeat scroll 0 0 black;
  left: 5.2%;
  position: absolute;
  top: 27%;
  z-index: 1;
  }

  .left-arrow img{
  position: relative;
  }

  .right-arrow {
  background: none repeat scroll 0 0 black;
  position: absolute;
  right: 5.2%;
  top: 27%;
  }

  .right-arrow img{
  position: relative;
  }

My JS

  $(".nav_arrows").click(function(){

  $direction = ($(this).hasClass("left-arrow") ? "left" : "right");
  var activeBanner = 100;

  if($direction == "right"){
    $(".inactive_banner").css("left","100%").show();
    activeBanner = -100;
    if($(".active_banner").next(".banner_wrapper").length < 1){
      $(".banner_wrapper").eq(0).animate({"left":0+"%","opacity":1}, 500,function(){
        $(this).addClass("active_banner").removeClass("inactive_banner");
      });
      $(".banner-nav-wrapper a").addClass("active_inside").removeClass("inactive_inside");
    }else{
      $(".active_banner").next().animate({"left":0+"%","opacity":1}, 500,function(){
        $(this).addClass("active_banner").removeClass("inactive_banner");
      });
      $(".banner-nav-wrapper a").addClass("active_inside").removeClass("inactive_inside");        
    }
  }else{ //left
    $(".inactive_banner").css("left","-100%").show().fadeTo(250, 0);
    if($(".active_banner").prev().length < 1){
      $(".banner_wrapper").eq($(".banner_wrapper").length-1).animate({"left":0+"%","opacity":1}, 500,function(){
        $(this).addClass("active_banner").removeClass("inactive_banner");
      });
      $(".banner-nav-wrapper a").addClass("active_inside").removeClass("inactive_inside");        
    }else{
      $(".active_banner").prev().animate({"left":0+"%","opacity":1}, 500,function(){
        $(this).addClass("active_banner").removeClass("inactive_banner");
      });
      $(".banner-nav-wrapper a").addClass("active_inside").removeClass("inactive_inside");        
    }
  }

  $(".active_banner").animate({"left":activeBanner+"%","opacity":0}, 500,function(){
    $(this).addClass("inactive_banner").removeClass("active_banner");
    $(".banner-nav-wrapper a").addClass("inactive_inside").removeClass("active_inside");      
  });
});

и вот ссылка на демонстрацию: CODEPEN

11.12.2014

Ответы:


1

Проблема заключалась в том, что вы добавляли и удаляли класс из всех. Вместо этого вы должны удалять класс только из ранее выбранных < /strong> и добавить класс только к следующему. Я только что добавил механизм поиска следующего . Ваш JS-код выглядит следующим образом:

$(".nav_arrows").click(function(){

        $direction = ($(this).hasClass("left-arrow") ? "left" : "right");
        var activeBanner = 100;
        var nextButton;
        if($direction == "right"){
            $(".inactive_banner").css("left","100%").show();
            activeBanner = -100;
            if($(".active_banner").next(".banner_wrapper").length < 1){
                $(".banner_wrapper").eq(0).animate({"left":0+"%","opacity":1}, 500,function(){
                    $(this).addClass("active_banner").removeClass("inactive_banner");
                });
       nextButton = $(".banner-nav-wrapper a").eq(0);

            }else{
                $(".active_banner").next().animate({"left":0+"%","opacity":1}, 500,function(){
                    $(this).addClass("active_banner").removeClass("inactive_banner");
                });
     nextButton = $(".banner-nav-wrapper .active_inside").next();

            }
        }else{ //left
            $(".inactive_banner").css("left","-100%").show().fadeTo(250, 0);
            if($(".active_banner").prevAll().length < 1){
                $(".banner_wrapper").eq($(".banner_wrapper").length-1).animate({"left":0+"%","opacity":1}, 500,function(){
                    $(this).addClass("active_banner").removeClass("inactive_banner");
                });
       nextButton = $(".banner-nav-wrapper a").eq($(".banner_wrapper").length-1);

            }else{
                $(".active_banner").prev().animate({"left":0+"%","opacity":1}, 500,function(){
                    $(this).addClass("active_banner").removeClass("inactive_banner");
                });
        nextButton = $(".banner-nav-wrapper .active_inside").prev();

            }
        }
          $(".active_banner").animate({"left":activeBanner+"%","opacity":0}, 500,function(){
    $(this).addClass("inactive_banner").removeClass("active_banner");
   $(".banner-nav-wrapper .active_inside").addClass("inactive_inside").removeClass("active_inside");
        nextButton.addClass("active_inside").removeClass("inactive_inside");    
  });

    });

и вот ссылка на демонстрацию: CODEPEN

11.12.2014
  • БОЛЬШОЕ СПАСИБО. Я начала рвать на себе волосы. 11.12.2014
  • Новые материалы

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

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..


    © 2024 nano-hash.ru, Nano Hash - криптовалюты, майнинг, программирование