Ситуация следующая. Есть datepicker, который имеет 2 варианта выпадения: над формой и под ней.
Стоит задача увеличить вертикальный отступ от формы до выпадающего блока.
Вариант с margin не подходит, т.к. когда блок "выпадает" наверх, margin-top смещает его вниз, и он начинает перекрывать форму.
Отступы необходимо сделать одинаковые в 2х случаях выпадения.
Как через js/jquery определить куда выпадает блок и, в зависимости от этого, добавлять соответствующие классы типа ui-datepicker__top / ui-datepicker__bottom .
Или может есть более изящное решение?
К слову, все это крутится на Yii2.
Блок изначально спозиционирован абсолютно и спрятан.
При появлении идет подсчет координат через datepicker.
В моем случае, с несколькими полям ввода дат мне помогло следующее:
Заново инициализировать поля с нужными опциями.
$(".default.datepicker-big").datepicker({
showOn: "button",
buttonText: "<svg class='svg-ico calendar-big'><use xmlns:xlink='http://www.w3.org/1999/xlink' xlink:href='/frontfiles/img/svg/sprite.svg#ico-calendar'></use></svg>",
changeMonth: true,
changeYear: true,
firstDay: 1,
buttonImageOnly: false,
dateFormat: 'mm.dd.yy',
});
Сравнивать .offset().top блока datepicker с .offset().top кнопки через которую он вызван.
var uiDatepickerDiv = $('#ui-datepicker-div');
$(".ui-datepicker-trigger").on('click', function(){
$(this).offset().top <= uiDatepickerDiv.offset().top ? uiDatepickerDiv.addClass('to-bottom').removeClass('to-top') : uiDatepickerDiv.addClass('to-up').removeClass('to-bottom');
Надо выставить нужному блоку position: absolute;
, а также поставить его в нужное положение, например top: 100px;
и left: 200px;
А при нужном действии, например: спускать нужный блок на 100px вниз.
$('блок, который надо сдвинуть').css('top', 'значение отступа');
Если будет проблема с перекрыванием, то нужно поработать с атрибутом z-index
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Накидал страничку приложения на Bootstrap, подключаю DatePicker сначала ругается, что не знает, что такое $Установил jQuery, импортировал
Имеется код для добавления данных из json в div блоки с одинаковым классом и с уникальным idНо он не работает