slideToggle()을 사용하면 내용이 자동으로 아래쪽으로 푸시되지만 내용을 위쪽으로 밀어 넣기를 원합니다..slideToggle() 내용을 위로 밀어 넣기
코드 예제 :
사진을 보여주는 행동 원 https://jsfiddle.net/sk8rr3qn/
HTML
<div class="container">
<div class="top">
first top
</div>
<div class="mid">
mid1<br/>mid1<br/>mid1
</div>
<div class="mid">
mid2<br/>mid2<br/>mid2<br/>mid2<br/>mid2<br/>mid2<br/>mid2
</div>
<div class="mid">
mid3<br/>mid3<br/>mid3
</div>
<div class="mid">
mid4<br/>mid4<br/>mid4<br/>mid4
</div>
<div class="mid">
mid5<br/>mid5<br/>mid5<br/>mid5<br/>mid5
</div>
<div class="mid">
mid6<br/>mid6<br/>mid6
</div>
<div class="bottom">
first bottom
</div>
</div>
<br/>
<div class="container">
<div class="top">
second top
</div>
<div class="mid">
mid1<br/>mid1<br/>mid1
</div>
<div class="mid">
mid2<br/>mid2<br/>mid2<br/>mid2<br/>mid2<br/>mid2<br/>mid2
</div>
<div class="mid">
mid3<br/>mid3<br/>mid3
</div>
<div class="mid">
mid4<br/>mid4<br/>mid4<br/>mid4
</div>
<div class="bottom">
second bottom
</div>
</div>
CSS를
.container {
width: 50%;
padding-left: 25%;
}
.top, .mid, .bottom {
position: relative;
width: 100%;
color: white;
background-color: green;
}
.mid {
display: none;
}
,536,913 63,210
JS
$(document).ready(function(){
$('.top, .mid').click(function(){
if($(this).next().next().is(':hidden') || $(this).next().next().hasClass('bottom')) {
$(this).next().slideToggle(300);
}
});
});
(I는 다음 내용을 알고있다(). 다음()를 두 번 불필요).
다음 div를 열면 아래쪽이 제 위치에 있고 화면이 화면 밖으로 튀어 나오게하고 싶습니다. 그 이유는 콘텐트가 추가 될 때 스크롤을 계속하기를 원하지 않기 때문이며 새로 추가 된 콘텐트는 대체로 화면 중앙에 머물러 있기 때문입니다. 콘텐츠가로드 된 후에 일부 .scroll() - 함수를 사용하여 부분적으로 가능하다는 것을 알았지 만 콘텐츠가 뒤에서가 아닌 토글되어 있기 때문에 콘텐츠를 푸시해야합니다.
마찬가지로 토글을 끄면 상단이 아래로 당겨 져야합니다.
TL; DR : 아래의 DIV 내가 비슷한 작업을했다
변수에 '$ (this)'를 지정하고 다시 사용하십시오. '$ (this) '를 반복해서 사용하면 최소화되지 않습니다. –
@GoneCoding, 내 코드에서 eventListener와 쌍으로 사용됩니다. 작동하는 이유는 다음과 같습니다. var noticers = $ (". 통지"); for (var i = 0; i
내 의견에 아무런 관련이 없습니다. jQuery 선택기를 두 번 이상 사용하는 경우 변수에 캐시하십시오. 그런 다음 min.js 파일에서 단일 문자로 최소화 할 수 있습니다. –