Setting an element's position to "fixed" takes it out of the flow when calculating the positions of the surrounding elements. You'll need to add a dummy element with the same dimensions as a placeholder to keep the other elements in the same position.
$scope.enbiggen = function(e,item){
var target = $(e.currentTarget).parent();
if (target.is(".large")) {
target.removeClass("large");
target.prev(".dummy-item").remove();
}
else {
var width = target.innerWidth();
var height = target.innerHeight();
$("<div />").addClass(target.prop("class")).addClass("dummy-item").innerWidth(width).innerHeight(height).insertBefore(target);
target.addClass("large");
}
}
Updated fiddle[
^]
position - CSS | MDN[
^]