많은 질문이 있으며이를 시도해 보았습니다. 나는 아래의 jQuery를 사용하여 목록을 된 div를 숨기고 보여 jQuery를 fadeIn 및 페이드 아웃 옵션을 사용하고 있지만, 페이지 상단에 점프 유지jQuery 페이드 옵션을 사용하여 요소를 보이거나 숨길 때 페이지가 맨 위로 올라가지 않게하는 방법
을하려고하고있는 무슨
. 표시되는 목록은 동적입니다.
e.preventDefault();
과 return false;
으로 시도했지만 사용하지 않았습니다.
태그를 확장하기 위해 앵커 태그를 변경했지만 두 번째 onClick
함수가 작동하지 않습니다.
내 콘텐츠 길이가 동적이기 때문에 점프처럼 보이게하거나 실제 점프입니까?
미리 감사드립니다.
HTML
<div id="action_bar">
<div id="cart"><i class="fa fa-shopping-cart" aria-hidden="true"></i><div class="total">20</div></div>
<a href="" id="nav">CATEGORIES</a>
<div id="filter"><i class="fa fa-filter" aria-hidden="true"></i><div class="total">1</div></div>
</div>
<div id="content">
<div id="category1" class="category" data-categories="SPL">
<img src="images/c_w.png"><div class="category_description">Chef's Special</div>
</div>
<div id="category2" class="category" data-categories="LCH">
<img src="images/l_w.png"><div class="category_description">Lunch</div>
</div>
<div id="category3" class="category" data-categories="SNK">
<img src="images/s_w.png"><div class="category_description">Snacks</div>
</div>
<div id="category4" class="category" data-categories="DNR">
<img src="images/d_w.png"><div class="category_description">Dinner</div>
</div>
<ul class="items">
<!-- Menu List -->
</ul>
</div>
JS
<script type="text/javascript">
$(document).ready(function(){
$('body').on('click', '.category', function(){
var category = $(this).data('categories');
//alert(category);
$('.category').fadeOut(300);
$.ajax({
type: "POST",
url: "./assets/listproducts.php",
data: {cat: category},
cache: false,
success: function(response){
//console.log(response);
$('#nav').html('<- BACK').addClass('back');
$('.items').html(response).delay(400).fadeIn(300);
}
});
});
$('.back').on('click', function(e){
$('.items').fadeOut(300);
$('.category').html(response).delay(400).fadeIn(300);
$('#nav').html('CATEGORIES').removeClass('back');
e.preventDefault();
});
});
</script>
CSS
ul.items
{
padding:0;
margin:0;
display:none;
}
당신의 click
이벤트 있다면 의심
'아이템'은 다시 때려서 사라질까요? –
페이딩은 정상적으로 작동하지만 정상으로 계속 이동합니다. – Ayan
브라우저 콘솔을 사용하는 것이 좋으면'.on ('click'.. '핸들러와'success : '콜백 함수 내부에'debugger;'문을 추가하십시오. 그렇지 않으면'alert ("step x ")'(등) 정확히 무엇이 호출되었는지 확인하기 위해. –