Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.11.2018, 19:37
Профессор
Отправить личное сообщение для giwuf Посмотреть профиль Найти все сообщения от giwuf
 
Регистрация: 16.05.2017
Сообщений: 163

Как позиционировать элементы при инициализации очередного слайда slick?
Есть slick слайдер где на каждом слайде есть по 2 абсолютно спозиционированных интерактивных элемента при клике на которые происходят определенные действия.

Проблема в том, что при переключении слайдов, и эти элементы позиционируются с задержкой и получается эффект их выпрыгивания их стартовой позиции на свои законные места (если повращать слайдер - это видно). В демо примере даже почему-то прибавляется белая область снизу.

Как инициализировать элементы заранее? Фидл

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.slick/1.3.15/slick.min.js"></script>
<link href="https://cdn.jsdelivr.net/jquery.slick/1.3.15/slick.css" rel="stylesheet"/>
<style>.slider {
    width: 650px;
    margin: 0 auto;
}

img {
    width: 100%;
    height: 400px;
}
.slick-slide {
    position: relative;
}
#plus-1 {
    position: absolute;
    bottom: 141px;
    right: 20%;
    width: 65px;
    height: 65px;
    cursor: pointer;
}
#plus-2 {
    position: absolute;
    top: 45%;
    left: 20%;
    width: 65px;
    height: 65px;
    cursor: pointer;
}</style>
<script>
$(document).ready(function() {
$('.slider').slick({
    slidesToShow: 1,
    slidesToScroll: 1,
    dots: true,
    infinite: true
});
});</script>
<div class="slider">
  <div>
    <img src="http://kenwheeler.github.io/slick/img/fonz1.png" />
        <img id="plus-1" class="plus-1" src="https://cdn0.iconfinder.com/data/icons/classic-icons/512/063.png" width="65" height="65">
    <img id="plus-2" class="plus-1" src="https://cdn0.iconfinder.com/data/icons/classic-icons/512/063.png" width="65" height="65">
  </div>
  <div>
    <img src="http://kenwheeler.github.io/slick/img/fonz2.png" />
            <img id="plus-1" class="plus-1" src="https://cdn0.iconfinder.com/data/icons/classic-icons/512/063.png" width="65" height="65">
    <img id="plus-2" class="plus-1" src="https://cdn0.iconfinder.com/data/icons/classic-icons/512/063.png" width="65" height="65">
  </div>
</div>

Последний раз редактировалось giwuf, 28.11.2018 в 20:18.
Ответить с цитированием
  #2 (permalink)  
Старый 28.11.2018, 20:03
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Прелоадер сделайте =)
Ответить с цитированием
  #3 (permalink)  
Старый 28.11.2018, 20:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

giwuf,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #4 (permalink)  
Старый 28.11.2018, 20:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

j0hnik,

Сообщение от giwuf
и эти элементы позиционируются с задержкой
Сообщение от giwuf
#plus-2
проблема в решётке
Ответить с цитированием
  #5 (permalink)  
Старый 28.11.2018, 20:21
Профессор
Отправить личное сообщение для giwuf Посмотреть профиль Найти все сообщения от giwuf
 
Регистрация: 16.05.2017
Сообщений: 163

Сообщение от рони Посмотреть сообщение
giwuf,
Пожалуйста, отформатируйте свой код!
рони, извиняюсь, отформатировал.

Сообщение от рони Посмотреть сообщение
проблема в решётке
не очень понял. проблема возникает после последнего слайда и инициализации слайдера заново.

j0hnik,
не понял вас

UPD:
Ааа, понял! Получается, слайдер создает клоны слайдов с одинаковыми id и отсюда источник проблемы. Спасибо за подсказку

Последний раз редактировалось giwuf, 28.11.2018 в 20:35.
Ответить с цитированием
  #6 (permalink)  
Старый 28.11.2018, 20:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

giwuf,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">.slider {
    width: 650px;
    margin: 0 auto;
}

.slick-slide img:first-child {
    width: 100%;
    height: 400px;
}
.slick-slide {
    position: relative;
}
.plus-1 {
    position: absolute;
    top: 45%;
    left: 20%;
    width: 65px;
    height: 65px;
    cursor: pointer;
}
.plus-1:nth-child(2) {
    left:  auto;
    right: 20%;
}

  </style>
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.slick/1.3.15/slick.min.js"></script>
<link href="https://cdn.jsdelivr.net/jquery.slick/1.3.15/slick.css" rel="stylesheet"/>
  <script>
$(function() {
$('.slider').slick({
    slidesToShow: 1,
    slidesToScroll: 1,
    dots: true,
    infinite: true
});

});
  </script>
</head>

<body>

<div class="slider">
  <div>
    <img src="http://kenwheeler.github.io/slick/img/fonz1.png" />
    <img id="plus-1" class="plus-1" src="https://cdn0.iconfinder.com/data/icons/classic-icons/512/063.png" width="65" height="65">
    <img id="plus-2" class="plus-1" src="https://cdn0.iconfinder.com/data/icons/classic-icons/512/063.png" width="65" height="65">
  </div>
  <div>
    <img src="http://kenwheeler.github.io/slick/img/fonz2.png" />
    <img id="plus-1" class="plus-1" src="https://cdn0.iconfinder.com/data/icons/classic-icons/512/063.png" width="65" height="65">
    <img id="plus-2" class="plus-1" src="https://cdn0.iconfinder.com/data/icons/classic-icons/512/063.png" width="65" height="65">
  </div>
</div>

</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 28.11.2018, 20:55
Профессор
Отправить личное сообщение для giwuf Посмотреть профиль Найти все сообщения от giwuf
 
Регистрация: 16.05.2017
Сообщений: 163

рони, спасибо большое! Добра в вашу семью!
К сожалению, плюсовать не дает
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как делать редирект при клике по adsense? kaylos Общие вопросы Javascript 0 30.09.2016 12:44
Как делать редирект при клике по adsense? kaylos Общие вопросы Javascript 0 30.09.2016 12:44
Как перерисовать все элементы SVG на Canvas (d3.js+leaflet.js+html2canvas) Trippal Общие вопросы Javascript 0 10.02.2016 18:25
Как сделать? При выходе мышкой за пределы окна браузера, начинает грузится другая стр alb Events/DOM/Window 13 01.09.2010 12:19
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24