나는 세 개의 아이콘이있는 고정 된 탐색 사이드 바를 가지고 있습니다. 아이콘을 클릭하면 div (음수 여백으로 숨김)가 슬라이드됩니다. 버튼을 다시 클릭하면 표시된 div가 슬라이드 애니메이션을 통해 숨겨집니다. 이 작업은 다른 두 아이콘에 대해 반복됩니다.슬라이더 애니메이션으로 nav 요소를 표시하거나 숨기는 가장 좋은 방법은 무엇입니까?
나는 이것을 실행하는 많은 다른 방법이 있다는 것을 알고 있으며, 다양한 의견을 가지고 많은 지원 문서가 나와 있습니다. .animate ({ "left": "+ = 56px"}, "slow")와 함께 .click을 통해 액션을 선언하려 시도했습니다. & 또한 onclick을 실행하는 함수를 작성했습니다. 내가 알기로는이 간단한 작업을 필요한 것보다 훨씬 더 복잡하게 만들 수 있다는 것입니다.
이것을 실행하는 가장 깨끗한 방법에 대한 제안이 있으십니까?
편집 : 모두에게 감사드립니다. Toggle, 자연에서 미니멀리스트는 왼쪽에서 오른쪽으로 이동하지 않습니다. 내가 사용한 스크립트는 다음과 같습니다.
<?// Toolbar ?>
<div id="toolbar">
<img src="images/balihooGreyLogo.png" class="logo"/>
<a href="#" class="textIcon" title="Edit Copy"><img src="images/textIcon.png" border="0"/></a>
<a href="#" class="locationIcon"><img src="images/locationIcon.png" border="0"/></a>
<a href="#" class="mediaIcon"><img src="images/mediaIcon.png" border="0"/></a>
<a href="#" class="save">SAVE</a>
<a href="#" class="export">EXPORT</a>
</div>
<?// Text Input Slideout Box?>
<div class="textInput">
<h1>Email Copy</h1>
</div>
<script>
$('.textIcon').click(function() {
$('.textInput').slideToggleWidth();
});
jQuery.fn.extend({
slideRight: function() {
return this.each(function() {
$(this).animate({width: 'show'});
});
},
slideLeft: function() {
return this.each(function() {
$(this).animate({width: 'hide'});
});
},
slideToggleWidth: function() {
return this.each(function() {
var el = $(this);
if (el.css('display') == 'none') {
el.slideRight();
} else {
el.slideLeft();
}
});
}
});
</script>
'.toggle()'을'slide'로 체크 아웃합니다. http://jqueryui.com/demos/toggle/ – MetalFrog
또는 http://api.jquery.com/slideToggle/을 시도하십시오. 여기에는 jQuery UI의 오버 헤드가 포함되어 있지 않습니다. – j08691
당신은 약간의 코드를 제공하고 싶을 것입니다. –