.si_form {
margin-top: 15px;
padding: 5px;
position: absolute;
width: 90px;
height: 20px;
background:#000;
-webkit-box-shadow: 6px 6px 18px -4px rgba(0,0,0,0.34);
-moz-box-shadow: 6px 6px 18px -4px rgba(0,0,0,0.34);
box-shadow: 6px 6px 18px -4px rgba(0,0,0,0.34);
}
.si_form2 {
width: 90px;
height: 30px;
margin-top: -6px;
margin-left: -6px;
position: absolute;
-webkit-box-shadow: inset 6px 6px 0px -5px rgba(255,255,255,0.27);
-moz-box-shadow: inset 6px 6px 0px -5px rgba(255,255,255,0.27);
box-shadow: inset 6px 6px 0px -5px rgba(255,255,255,0.27);
}
input[id=si_input] {
width: 75px;
position: absolute;
padding: 0 10px;
border: none;
background: none;
box-sizing: border-box;
color:#fff;
font-size:18px;
}
<div class="si_form">
<div class="si_form2"></div>
<input type="text" id="si_input" name="from" placeholder="От">
</div>
Как реализовать функцию увелечения/уменьшение значение в input на 1. При клике на стрелочки справа.
function setHandler(e){
let input = e.querySelector('.si_input'),
arrows = e.querySelector('.arrows'),
// Устанавливаем новое значение прибавляя новое значение
update = num => input.value = (parseInt(input.value, 10) || 0) + num;
if(input === null || arrows === null)
return;
// Навешиваем и слушаем события клика на раппер стрелочек
// При клике, определяем на какую стрелочку нажали просто проверяя класс
arrows.addEventListener('click', e => update(e.target.classList.contains('up') ? 1 : -1));
}
document.addEventListener('DOMContentLoaded', e => {
// It is alive!!!
Array.from(document.querySelectorAll('.si_form')).forEach(e => setHandler(e));
});
.si_form {
margin-top: 15px;
padding: 5px;
position: relative;
width: 60px;
height: 20px;
background:#000;
-webkit-box-shadow: 6px 6px 18px -4px rgba(0,0,0,0.34);
-moz-box-shadow: 6px 6px 18px -4px rgba(0,0,0,0.34);
box-shadow: 6px 6px 18px -4px rgba(0,0,0,0.34);
}
.si_input{
width: 50px;
position: absolute;
padding: 0 10px;
border: none;
background: none;
box-sizing: border-box;
color:#fff;
font-size:18px;
}
.si_input:focus{
outline: none;
}
.arrows div{
position: absolute;
width: 0;
height: 0;
border: 8px solid transparent;
}
.up{
top: -4px; right: 5px;
border-bottom-color: #2c7fb3!important;
border-top: 0;
}
.up:hover{
border-bottom-color: #455ab5!important;
}
.down{
bottom: -4px; right: 5px;
border-top-color: #2c7fb3!important;
border-bottom: 0;
}
.down:hover{
border-top-color: #455ab5!important;
}
<div class="si_form">
<input type="text" class="si_input" name="from" placeholder="От">
<div class='arrows'>
<div class='up'></div>
<div class='down'></div>
</div>
</div>
<div class="si_form">
<input type="text" class="si_input" name="from" placeholder="От">
<div class='arrows'>
<div class='up'></div>
<div class='down'></div>
</div>
</div>
<div class="si_form">
<input type="text" class="si_input" name="from" placeholder="От">
<div class='arrows'>
<div class='up'></div>
<div class='down'></div>
</div>
</div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не получается сделать так, чтобы при уменьшении экрана блок меню и футер были по всей ширине экрана
Мне нужно сделать что-то подобное как в первом слайдере (самый верхний блок) http://wwwtemplatemonster
На сайте есть интеграция с Google Analytics, в таком виде я вижу её в аккаунте:
Есть модульное окно dijit/Dialog , в нем должено отображаться содержимое <div class="wrap-filters-table">, но вместо этого он просто пишет [object HTMLDivElement]Вопрос,...