Witajcie,
mam problem z animate - left. po pierwszym użyciu działą tak jak chciałem, niestety kiedy użyje jej drugi raz na danym div rozpoczyna się w innym miejscu a mianowicie w tym do którego został div odesłany. nie ma w tym nic dziwnego lecz dodałem przyciski resetujące style dodające style i wciąż nic mi to nie dało. ustawiam div na siłe w innym miejscu a on wciąż zaczyna z niewłaściwego. po uruchomieniu myślę, ze wszystko będzie jasne. Oto kod:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="c2.css">
</head>
<body>
<div id="but1" class="but">d1</div>
<div id="but2" class="but">d2</div>
<div id="but3" class="but">d3</div>
<div id="rs" class="but2">rs</div>
<div id="as" class="but2">as</div>
<div id="dane"></div>
<div id="main">
<div id="b1" class="kwa"></div>
<div id="b2" class="kwa"></div>
<div id="b3" class="kwa"></div>
<div class="clr"></div>
</div>
<div id="b12">cos tam</div>
<footer></footer>
<script>
$('#as').click(function()
{
$("#b1").css( "left", "200px" );
});
$('#rs').click(function()
{
$("#b1").removeAttr("style");
});
$('.but').click(function()
{
im=$(this).attr('id');
kons=document.getElementById('dane');
wyb="";
if (im=="but1")
wyb="#b1";
else if (im=="but2")
wyb="#b2";
else if (im=="but3")
wyb="#b3";
poloz=(window.innerWidth-50)/2;
ekr=window.innerWidth;
dane.innerHTML= im + wyb+poloz;
$(wyb).removeAttr('style');
$(".ob").animate({left: ekr, opacity: 0});
$(wyb).removeClass('dn');
$(wyb).animate({left: poloz+"px",opacity: 1},600);
$(wyb).addClass("ob");
$('#b12').css( "left", "200px" );
});
</script>
</body>
</html>