I have a basic 3 x 3 grid layout based on Bootstrap 3. I need it to be fluid, hence I have left out the 'container' class. I need the columns inside the row to be sortable using jquery ui sortable functionality.
Everything works fine, but the last column of each row behaves wierdly when dragged. The design breaks on clicking any of the last columns.
I have tried the solution of setting the placeholders margin to 0 but I can't seem to make it work.
Any help would be greatly appreciated! Thanks!
JSFiddle
<div class = 'row'>
<div class = 'col-xs-4'>
<h2>Heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra varius quam sit amet vulputate.
Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Aenean sit amet felis
dolor, in sagittis nisi.</p>
<p><a href="#" class="btn">View details »</a></p>
</div>
<div class = 'col-xs-4'>
<h2>Heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra varius quam sit amet vulputate.
Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Aenean sit amet felis
dolor, in sagittis nisi.</p>
<p><a href="#" class="btn">View details »</a></p>
</div>
<div class = 'col-xs-4'>
<h2>Heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra varius quam sit amet vulputate.
Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Aenean sit amet felis
dolor, in sagittis nisi.</p>
<p><a href="#" class="btn">View details »</a></p>
</div>
</div>
<div class = 'row'>
<div class = 'col-xs-4'>
<h2>Heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra varius quam sit amet vulputate.
Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Aenean sit amet felis
dolor, in sagittis nisi.</p>
<p><a href="#" class="btn">View details »</a></p>
</div>
<div class = 'col-xs-4'>
<h2>Heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra varius quam sit amet vulputate.
Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Aenean sit amet felis
dolor, in sagittis nisi.</p>
<p><a href="#" class="btn">View details »</a></p>
</div>
<div class = 'col-xs-4'>
<h2>Heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra varius quam sit amet vulputate.
Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Aenean sit amet felis
dolor, in sagittis nisi.</p>
<p><a href="#" class="btn">View details »</a></p>
</div>
</div>
<div class = 'row'>
<div class = 'col-xs-4'>
<h2>Heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra varius quam sit amet vulputate.
Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Aenean sit amet felis
dolor, in sagittis nisi.</p>
<p><a href="#" class="btn">View details »</a></p>
</div>
<div class = 'col-xs-4'>
<h2>Heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra varius quam sit amet vulputate.
Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Aenean sit amet felis
dolor, in sagittis nisi.</p>
<p><a href="#" class="btn">View details »</a></p>
</div>
<div class = 'col-xs-4'>
<h2>Heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra varius quam sit amet vulputate.
Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Aenean sit amet felis
dolor, in sagittis nisi.</p>
<p><a href="#" class="btn">View details »</a></p>
</div>
</div>
<script>
$('.row').sortable({
connectWith: '.row',
placeholder: 'placeholder'
});
</script>
<style>
.placeholder {margin-left: 0 !important; border: 1px solid #ccc}
</style>
Try to initialize sortable widget with the following settings:
$('.row').sortable({
helper: 'clone',
placeholder: 'col-xs-4'
});
http://jsfiddle.net/0bzwc61d/1/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With