Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Слайдер на Jquery (https://javascript.ru/forum/jquery/82446-slajjder-na-jquery.html)

Angelinasen 08.05.2021 19:22

Слайдер на Jquery
 
Добрый день! у меня есть слайдер. каждый слайд это картинка и абсолютно позиционированные текст и кнопка на ней. Я могу использовать слик слайдер? И как мне вернуть текст, так как после подключения слик слайдера он не отображается(( или какой лучше слайдер использовать (именно Jquery)

Angelinasen 08.05.2021 19:43

jquery слайдер
 
Текст нашелся. Подскажите чтобы активная точка (dot) меняла свой цвет? Если активен слайд 1, тогда первая точка меняет цвет и тд?

рони 08.05.2021 19:53

Angelinasen,
:-?

Angelinasen 09.05.2021 20:38

jquery слайдер
 
и я поместила слайдер в контейнер....можно ли как-то сделать чтобы он выходил за пределы контейнера но только с правой стороны....

рони 09.05.2021 20:43

Angelinasen,
из письма на деревню дедушке ... а код будет? или там ссылки ... песочница ... или тут
например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Angelinasen 09.05.2021 23:56

jquery слайдер
 
НЕ..разобралась спасибо))

Angelinasen 12.05.2021 02:45

jquery слайдер
 
Здравствуйте!
Мне нужно написать небольшой плагин слайдера на JQuery, я сделала переключение слайдов, но есть пагинация. Я сделала чтобы активная точка менялась вместе со слайдом (активная синего, остальные черного). Но, по-моему, это как-то покрасивее можно записать)) перебирать может или как, пока не могу сообразить...)) И как мне сделать чтоб нажимая на точки можно было переключать слайды?)

HTML такого вида

<div class="mySlider__container">
<div class="mySlider__wrapper">
<div class="mySlider__slide">IMAGE</div>
<div class="mySlider__slide">IMAGE</div>
<div class="mySlider__slide">IMAGE</div>
<div class="mySlider__slide">IMAGE</div>
</div>
<ul class="mySlider__dots">
<li><a>DOT</a></li>
<li><a>DOT</a></li>
<li><a>DOT</a></li>
<li><a>DOT</a></li>
</ul>
</div>



(function ($) {

  $.fn.mySlider = function (interval) {

    let container = $('.mySlider__container');
    let slides = $('.mySlider__wrapper').children();
    let dots = container.find('.mySlider__dots li');
    let amount = slides.length;
    let index = 0;

    function changeSlides() {
      $(slides[index]).fadeOut(1000);
      index++;
      if (index >= amount) index = 0;
      $(slides[index]).fadeIn(1000);

      $(dots[index]).addClass('active');
      $(dots[index - 1]).removeClass('active');
      if (index == 0) {
        $(dots[3]).removeClass('active');
      }

      setTimeout(changeSlides, interval);
    }
    setTimeout(changeSlides, interval);
  };
})(jQuery);

рони 12.05.2021 13:06

Angelinasen,
посмотрите пока
https://javascript.ru/forum/events/7...tml#post518270

рони 12.05.2021 14:06

слайдер с точечной навигацией и автозапуском
 
Angelinasen,

<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        .mySlider__container {
            display: flex;
            flex-direction: column;
            border: 1px solid #0000FF;
            width: 680px;
            margin: 0px auto;
        }
        .mySlider__wrapper {
            position: relative;
            width: 640px;
            height: 320px;
            overflow: hidden;
            margin: 20px auto;
        }
        .mySlider__wrapper>div {
            display: none;
            position: absolute;
        }
        .mySlider__dots {
            display: flex;
            justify-content: space-between;
            width: 70px;
            margin: 0px auto 15px;
        }
        .mySlider__dots li {
            background-color: #000000;
            border-radius: 50px;
            ;
            width: 10px;
            height: 10px;
            overflow: hidden;
            cursor: default;
            list-style: none;
        }
        .mySlider__dots li.active {
            background-color: #0000FF;
        }
    </style>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script>
        (function($) {
            $.fn.mySlider = function(interval) {
                let container = $('.mySlider__container');
                let slides = $('.mySlider__wrapper > div');
                let dots = container.find('.mySlider__dots li');
                let amount = slides.length;
                let index = amount - 1;
                let timer;
                let auto = true;
                dots.each((i, el) => $(el).on('click', _ => {
                    auto = false;
                    changeSlides(i - index);
                }))
                function changeSlides(i = 1) {
                    window.clearTimeout(timer);
                    $(slides[index]).fadeOut(300);
                    $(dots[index]).removeClass('active');
                    index = (amount + index + i) % amount;
                    $(slides[index]).delay(100).fadeIn(1000);
                    $(dots[index]).addClass('active');
                    if (auto) timer = setTimeout(changeSlides, interval);
                }
                container.mouseleave(function() {
                    if (!auto) {
                        auto = true;
                        changeSlides();
                    }
                })
                changeSlides()
            };
        })(jQuery);
        $(function() {
            $.fn.mySlider(3000)
        });
    </script>
</head>
<body>
    <div class="mySlider__container">
        <div class="mySlider__wrapper">
            <div class="mySlider__slide"><img src="https://picsum.photos/640/320?1"></div>
            <div class="mySlider__slide"><img src="https://picsum.photos/640/320?2"></div>
            <div class="mySlider__slide"><img src="https://picsum.photos/640/320?3"></div>
            <div class="mySlider__slide"><img src="https://picsum.photos/640/320?4"></div>
        </div>
        <ul class="mySlider__dots">
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>
</body>
</html>

Angelinasen 13.05.2021 21:52

jquery слайдер
 
Очень классно! СПасибо большое

Angelinasen 18.05.2021 00:29

обработка клика
 
Добрый день! Есть трехуровневое меню. При клике на элемент с классом --clickable, дочернему элементу ul задается класс --active и соответсвенно открывается меню.

Как мне сделать чтобы при клике на родительский элемент(li) элемента с классом --active, у этого элемента пропадал класс --active и меню соотвественно закрывалось? или при нажатии на пукт 2 закрывались оба подменю

Есть код, он открывает меню, но для закрытия я неверно написала((

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <ul class="menu-first">
    <li class="menu-first__link"><a href="">Пункт 1</a></li>
    <li class="menu-first__link --clickable"><a href="">Пункт 2</a>
      <ul class="menu-second">
        <li class="menu-second__link"><a href="">Ссылка 1</a></li>
        <li class="menu-second__link"><a href="">Ссылка 2</a></li>
        <li class="menu-second__link --clickable"><a href="">Ссылка 3</a>
          <ul class="menu-third">
            <li class="menu-third__link"><a href="">Товар 1</a></li>
            <li class="menu-third__link"><a href="">Товар 2</a></li>
            <li class="menu-third__link"><a href="">Товар 3</a></li>
            <li class="menu-third__link"><a href="">Товар 4</a></li>
          </ul>
        </li>
        <li class="menu-second__link"><a href="">Ссылка 4</a></li>
      </ul>
    </li>
    <li class="menu-first__link"><a href="">Пункт 3</a></li>
    <li class="menu-first__link"><a href="">Пункт 4</a></li>
  </ul>
</body>
</html>


$(function () {
  $('.--clickable').click(function (event) {
    event.preventDefault();
    $(this).children('ul').addClass('--active');
    });
  });

$(function () {
  $('.--active').closest('li').click(function (event) {
      event.preventDefault();
      $(this).removeClass('--active');
    });
  });

рони 18.05.2021 07:37

Angelinasen,
https://javascript.ru/forum/project/...tml#post231407

Angelinasen 18.05.2021 23:06

меню Jquery обработка клика
 
Сделано!

$(function () {
  $('.--clickable > a').click(function (event) {
    event.preventDefault();
    $(this).next('ul').toggleClass('--active');
  });

Angelinasen 21.05.2021 22:22

слайдер с миниатюрами
 
Вложений: 1
рони,
нужен ваш совет как можно реализовать подобный слайдер с переключением по миниатюрам, пытаюсь с помощью свайпера, пока не выходит. МОжет был подобный вопрос, пока не могу найти на форуме(

Angelinasen 21.05.2021 22:33

слайдер с миниатюрами
 
Нашла вот http://javascript.ru/forum/misc/7995...iatyurami.html

Пока попробую по этому примеру сделать)

рони 21.05.2021 22:52

Цитата:

Сообщение от Angelinasen
слайдер с переключением по миниатюрам

чем слайдер по миниатюрам, отличается от пост #9 ?

рони 21.05.2021 22:57

Angelinasen,
https://learn.javascript.ru/task/image-gallery

рони 21.05.2021 23:12

Angelinasen,
Простейший слайдер с превью

Angelinasen 21.05.2021 23:48

слайдер с превью
 
Действительно, вот я глупенькая)) спасибо


Часовой пояс GMT +3, время: 17:53.