Я пытаюсь предотвратить запуск анимации, если контейнер div, #opts, не находится в указанной "левой" позиции.
Я пробовал методы .offset () и .position (), но безрезультатно. Элементы продолжают перемещаться вправо или влево (в зависимости от того, какая «вкладка» видна и нажата), независимо от того, какова «левая» позиция.
На этой тестовой странице я замедлил анимацию, чтобы вы могли попробовать ее сами ... просто нажмите "текстовую вкладку" в левом верхнем углу несколько раз между анимация начинается и заканчивается, и она будет продолжать двигаться вправо / влево, независимо от своей левой позиции.
JS:
$( "#optsdiv" ).hide();
$( "#closediv" ).hide();
var p = $( "#opts" );
var offset = p.offset();
if( offset.left == 0 )
$( "#opendiv" ).click( function() {
$( "#opts" ).animate( { left: "+=100px", opacity: 1 }, 1400, "easeOutExpo", function() {
$( "#opendiv" ).hide();
$( "#closediv" ).show();
});
});
if( offset.left == 100 )
$( "#closediv" ).click( function() {
$( "#opts" ).animate( { left: "-=100px", opacity: 0.6 }, 1400, "easeOutExpo", function() {
$( "#closediv" ).hide();
$( "#opendiv" ).show();
});
});
Есть идеи о том, что я делаю неправильно, или о лучшем способе предотвращения анимации, чтобы переместить вкладку за экран полностью или слишком далеко вправо?