I have two draggable elements on the same x axis. I want to reproduce a slider effect, I mean slider 1 can’t go after slider 2.
I don’t know how to do that. Can anyone help me?
I use jQuery and the draggable plugin from jQuery UI.
EDIT :
Code :
HTML :
<div id="chrono-bar">
<div id="slider-left" class="slider-left draggable obstacle"></div>
<div id="slider-right" class="slider-right draggable"></div>
<ul class="chrono-bar-ul block">
<li class="chrono-bar-item">Janvier</li>
<li class="chrono-bar-item">Février</li>
<li class="chrono-bar-item">Mars</li>
<li class="chrono-bar-item">Avril</li>
<li class="chrono-bar-item">Mai</li>
<li class="chrono-bar-item">Juin</li>
<li class="chrono-bar-item">Juillet</li>
<li class="chrono-bar-item">Aout</li>
<li class="chrono-bar-item">Septembre</li>
<li class="chrono-bar-item">Octobre</li>
<li class="chrono-bar-item">Novembre</li>
<li class="chrono-bar-item last">Décembre</li>
</ul>
<div class="chrono-bar-footer">
<div class="line"></div>
</div>
Javascript :
<script>
$("#slider-left").draggable({
axis: 'x',
containment: 'parent',
'snap': '#slider-right',
collide: 'block',
drag: function() {
console.log($('#slider-left').offset().left);
}
});
$("#slider-right").draggable({ axis: 'x', containment: 'parent','snap': '#slider-left' });
My solution was to change on each drag the containment area. I share my code with you :
There is some bugs, but i think it’s a good start !