Я использую эту анимацию, которая почти работает нормально, т.е. я перемещаю/сдвигаю Div из левого угла в правый угол. Теперь проблема в том, что Div не доходит до края правого угла.
Скрипт здесь: http://jsfiddle.net/b6KuE/16/
Я также предоставляю свой код:
HTML:
<div class="main_container">
<div class="container">
</div>
</div>
CSS:
.container {
border: black 1px solid;
width: 10px;
height: 10px;
background-color: red;
}
.main_container {
border: black 1px solid;
width: 100%;
height: 12px;
}
Jquery:
$('.container').animate({
width: 100,
marginLeft: 300,
marginRight: 0,
display: 'toggle'
}, 5000);
Самое простое решение - использовать right
и absolute position
.
JS:
$('.container').animate({ right: 0 }, 5000);
CSS:
.container {
width:100px;
position: absolute;
right: 100%
}
.main_container {
position: relative;
overflow: hidden;
}
Проверьте эту скрипку. вы должны определить marginLeft
соответствии с шириной.
используйте этот код.
$('.container').animate({
width: 100,
marginLeft: $(".main_container").width()-100,
marginRight: 0,
display: 'toggle'
}, 5000);
Попробуй это:
$('.container').animate({
width: 100,
right: 0,
display: 'toggle'
}, 5000);
Скрипт здесь: http://jsfiddle.net/b6KuE/49/
$('.container').animate({
width: 100,
marginLeft: '81.5%',
marginRight: 0,
display: 'toggle'
}, 5000);
проверьте эту скрипку.
Я перемещаю его слева направо, свойство width не нужно менять. Вам нужно установить маржу слева и позицию в свойствах css следующим образом:
$('.container').animate({
position: 'absolute',
marginLeft: '100%',
marginRight: 0,
display: 'toggle'
}, 5000);
Обновленный код:
var containerWidth = $('.main_container').width();
var marginLeft = containerWidth - 100 - 2;
$('.container').animate({
width: 100,
marginLeft: marginLeft,
marginRight: 0,
display: 'toggle'
}, 5000);