Я пытаюсь создать большие пальцы рядом друг с другом, но он не работает. Кажется, они выводят их друг на друга. Я хочу, чтобы они были на расстоянии 5 пикселей.
--- Мне нужно позиционирование, чтобы быть абсолютным. Мне нужно это, чтобы после того, как я достал их все рядом друг с другом, я хочу, чтобы тот, который нажал, увеличился, а все слева налево должны исчезнуть слева, все права должны идти вправо. Абсолютное позиционирование необходимо, чтобы я мог контролировать это.
HTML
<div class="portItem">
<div class="itemContent-wrap">
<div class="itemContent">
<div class="container">
<div class="thumbWrap">
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
</div>
</div>
</div>
</div>
</div>
CSS
.thumb {
height: 200px;
width: 450px;
position: absolute;
display: inline-block;
background: #D0E182;
margin-top: 25px;
margin-right: 5px;
transition: all 1s ease-in-out;
top: 0;
left: 0;
}
Javascript
$(document).ready(function(){
$('.portItem').each(function() {
$('.thumb', this).each(function(i) {
$('.thumb').css('left',40*i);
}).appendTo('.body');
});
});
Скрипт: http://jsfiddle.net/nTHDk/11/
Решение !: http://jsfiddle.net/nTHDk/14/
Заранее спасибо!
$('.thumb').css('left',40*i);
Большой $('.thumb').css('left',40*i);
должен быть $(this).css('left',40*i);
, Вы выбрали все элементы .thumb
в DOM, но вы уже выбрали правильный .thumb
в этой точке.
у вас много опечаток в вашем коде:
см. этот обновленный Fiddle
document.ready
$(this).css('left',40*i +"px");
// замечаем это и pxappendTo
, элементы уже находятся в вашем DOM (вы хотели их переместить?)appenedTo
, установите селектор в значение $('body')
px
не обязателен, так как jQuery интерпретирует целые числа как значения пикселей.
Прежде всего добавьте jQuery в свою скрипку, и вы фактически перемещаете все элементы.thumb во внутреннем каждом цикле, вы должны использовать $ (this), например:
$(document).ready(function(){
$('.portItem').each(function() {
$(this).find('.thumb').each(function(i) {
$(this).css('left',50*i);
}).appendTo('.body');
});
});
Это новая скрипка
position:absolute
изменения position:absolute
position:relative
и $('thumb').css('left', 40*i)
до $(this).css('left',40*i);
Изменения в JavaScript не нужны, но они, как вы делаете, являются излишними. Изменения в CSS получат ваш интервал. Когда вы используете position:absolute
, все они расположены друг над другом.
40px
но450px
ширину450px
поэтому они перекрывают друг450px
. Проверьте это демо, где я сделал ваши divs уже: jsfiddle.net/nTHDk/8