Скользящая Div от левого угла к правому углу анимации

0

Я использую эту анимацию, которая почти работает нормально, т.е. я перемещаю/сдвигаю 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); 
Теги:
animation

7 ответов

4
Лучший ответ

Самое простое решение - использовать right и absolute position.

jsFiddle Demo

JS:

$('.container').animate({ right: 0 }, 5000);

CSS:

.container {
    width:100px;
    position: absolute;
    right: 100%
}
.main_container {
    position: relative;
    overflow: hidden;
}
  • 0
    Понятия не имею, кто не голосует, даже мой пост не голосует. Пожалуйста, оцените мой пост
  • 0
    Этот ответ выглядит достаточно справедливым. Почему за голосование проголосовали? любая причина ? какие-либо вопросы с ответом?
Показать ещё 4 комментария
3

Проверьте эту скрипку. вы должны определить marginLeft соответствии с шириной.

1

используйте этот код.

$('.container').animate({
    width: 100,
    marginLeft: $(".main_container").width()-100,
    marginRight: 0,
    display: 'toggle'
}, 5000);
  • 0
    кто не голосует, даже мой пост не голосует. Пожалуйста, оцените мой пост
  • 0
    @Itay Все еще нет идеального ответа, я жду лучшего решения, но не знаю, почему я получаю голоса?
Показать ещё 6 комментариев
0

Попробуй это:

$('.container').animate({  
width: 100, 
right: 0, 
display: 'toggle'
 }, 5000);

Скрипт здесь: http://jsfiddle.net/b6KuE/49/

0
$('.container').animate({
        width: 100,
     marginLeft: '81.5%',
        marginRight: 0,
        display: 'toggle'
    }, 5000);

проверьте эту скрипку.

0

Я перемещаю его слева направо, свойство width не нужно менять. Вам нужно установить маржу слева и позицию в свойствах css следующим образом:

$('.container').animate({
     position: 'absolute',
        marginLeft: '100%',
        marginRight: 0,
        display: 'toggle'
    }, 5000);
0

Обновленный код:

var containerWidth = $('.main_container').width();
var marginLeft = containerWidth - 100 - 2;
$('.container').animate({
    width: 100,
    marginLeft: marginLeft,
    marginRight: 0,
    display: 'toggle'
}, 5000);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню