Он сохраняет оба расстояния, левое и правое, как только вы их назначите.
Установите влево на авто, когда вы установите правильное расстояние, и оно должно работать
if (windowWidth < 1200) {
$('#test').css('left', '1100px');
}
else {
$('#test').css('right', '55px');
$('#test').css('left', 'auto');
}
РЕДАКТИРОВАТЬ (добавлено анонимным пользователем.)
Stratton совершенно прав, вы присваиваете значение «left» и никогда не переназначаете его на auto. если вы сделаете это с помощью оператора else, у вас все получится. Попробуйте использовать этот код, и вы получите эффект, будто он движется только через определенную точку.
$(window).resize(function(){
var windowWidth = $(window).width();
$("#test").html(windowWidth);//Just to see in real time what's the window with
if (windowWidth < 1200) {
$('#test').css('left', '1020px');
}
else {
$('#test').css('right', '50px');
$('#test').css('left', 'auto');
}
});
От производительности зависит многое от того, какой компьютер и браузер вы используете, например, от chrome у меня компьютер выглядит великолепно, но не в опере. Это может быть потому, что (например) Opera запускает событие только тогда, когда вы прекращаете изменять его размер ( эта статья объясняет это немного).