제목에서 일반적으로 자세히 설명하려했으나 어쨌든 막연했습니다. 그래서, 여기에 정교하게됩니다여러 요소에 대한 동기 애니메이션 만들기
을 나는 다음과 같은 HTML이 :
<span class="item c1"><!--content--></span>
<span class="item c2"><!--content--></span>
<span class="item c3 c2"><!--content--></span>
<span class="item c1"><!--content--></span>
<span class="item c1 c4"><!--content--></span>
좋아, 가상 <!--content-->
의 크기는 항상 다른 어느 -이 경우에는 - 의미의도 폭 요소가 달라집니다.
그래서 내가해야 할 일은 어떻게 든 클래스별로 콘텐츠를 "필터링"하는 것입니다. 본질적으로 나는 그들을 사라지게하고 필터가 선택되었을 때 다시 나타나게 할 필요가있다.
는내가 그들을 사라지게 할 방법은 jQuery의 .animate()
사용하여이 모든 전환 방식 일 0
—, 자신의 0px
에 폭과 불투명도를 설정하는 것입니다.
순간 DOM을로드, 나는 data-*
속성들은 "원래"폭을 저장합니다
jQuery(function(){
jQuery('.item').each(function(i, e) {
var $e = jQuery(e);
$e.data('origWidth', $e.css('width'));
});
});
을 이제 그들은 다시 표시 될 때 (또는 필터링 다시, 당신이 경우) 모두
jQuery('.c'+id+'.item').stop().animate({
'width' : jQuery('.c'+id+'.item').data('origWidth'),
'opacity' : 1
});
//NOTE: the [id] in the above snippet is passed by a
//function and is the category id.
그럼, 내 "진짜"질문하는 것은 : 같은 폭 (왜 내가 아는,하지만 난 주위에 방법을 알고하지 않습니다) 얻을 기적의 jQuery 배열을 반복 할 수있는 방법이 있나요 및 속성 – 또는 그 선을 따라 무언가를 움직이십시오.
감사합니다. 모든
jQuery('.item').each(function(i, e) {
var $e = jQuery(e);
$e.data('origWidth', $e.css('width'));
});
의
'$의 e.css''') ($의 e.width '로 교체 ('폭 ')와 jQuery를 ('C - '+ id +'. item ')'vs'jQuery ('.c '+ id +'. item ')'typo? – Cheery
jsfiddle.net에서 예제를 설정할 수 있습니까? – Richard