StackOverflow에서 이미 일부 링크를 체크 아웃했지만 아무 것도 내 문제를 해결하는 데 도움이되지 않습니다. I have a small site here에는 페이지 중간에 JQuery 아코디언 탐색 기능이 있습니다.WordPress 사이트의 두 클릭 스크립트와의 JQuery 충돌
메인 링크 중 하나를 클릭하면 아코디언이 아래로 내려 가서 자식 링크를 나타냅니다. 그런 다음 #panel이라는 div를 아래로 내리면 동적 내용이 나타납니다. 내용이로드되지만 패널이 아래로 내려 가지 않습니다. 동적 콘텐츠에 대한 Javascript를 제거하면 패널 애니메이션이 작동합니다.
분명히 여기에는 갈등이 있지만 분명히 치료할 수 있을지 모르겠습니다. 이미 evt.preventDefault()를 추가하려고 시도했습니다. 내 클릭 기능에는 사용할 수 있지만 아무 소용이 없습니다. 동적 콘텐츠를 (더 작은)로드
//Opening and closing the top bar
var topBarHeight = jQuery('#page-con').height();
var topBarMargin = -topBarHeight - 1;
var topBarOpen = false;
function topBarContentSizeCheck(){
topBarHeight = jQuery('#page-con').height();
if(topBarOpen==false){
jQuery('#panel').css({
height: 0
});
}
else{
jQuery('#panel').css({
height: topBarHeight
});
}
}
jQuery('#panel').css({
height: 0
});
jQuery('#nav-main ul ul li a').click(function(evt){
var href = jQuery(this).attr('href');
if(href=="#panel"){
if(topBarOpen==false){
topBarOpen = true;
jQuery('#panel').animate({
height: topBarHeight,
useTranslate3d: true
});
}
else{
topBarOpen = false;
jQuery('#panel').animate({
height: 0,
useTranslate3d: true
});
jQuery('html,body').animate({
scrollTop: 0,
useTranslate3d: true
}, 400);
}
return false;
}
});
jQuery('#closelink').click(function(evt){
evt.preventDefault();
topBarOpen = false;
jQuery('#panel').animate({
height: 0
});
jQuery('html,body').animate({
scrollTop: 0
}, 400);
return false;
});
</script>
을 그리고 코드 : 저는 여기에 추가 할 수있는 패널의 개폐에 대한 코드는 내가 이러한 목표를 달성하기 위해 노력하는 스크립트의 두 번째 인스턴스되어있다 :
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery.ajaxSetup({cache:false});
jQuery('#nav-main ul li a').click(function(){
var post_url = $(this).attr("href");
var post_id = $(this).attr("rel");
jQuery("#page-con").html("loading...");
jQuery("#page-con").load(post_url);
window.location.hash = post_id;
return false;
});
});
</script>
두 개의 스크립트를 멋지게 만드는 방법에 대한 아이디어가 있으십니까?
는 * UPDATE *
그래서 나는 하나로 두 개의 클릭 기능을 결합하기로 결정했다. 일종의 일이지만 완전히는 아닙니다. 이제 패널이 내려 왔지만 텍스트가 # page-cont div에로드되지 않습니다. 이것을 말하는 콘솔에는 아무것도 없습니다. 심지어 서버에 대한 적절한 호출을하는 목록입니다. 여기에 새로운 코드가 있습니다.
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery.ajaxSetup({cache:false});
jQuery(".btn-slide").click(function(){
var post_id = jQuery(this).attr("rel")
jQuery("#page-con").html("loading...");
jQuery("#page-con").load("http://upsilon.lunariffic.com/~swstr0/swsg-ajax/",{id:post_id});
jQuery("#panel").slideToggle("slow");
jQuery(this).toggleClass("active");
return false;
});
});
</script>
# page-con div에 콘텐츠를로드하려고합니다. 즉, ABOUT, SERVICES 및 CLIENT의 모든 하위 링크에서로드해야 할뿐만 아니라 자식이 없기 때문에 CONTACT 링크를로드해야합니다. –
나는 당신의 코드를 시험해 보았지만 실제로는 상황을 악화시켰다. 이제 링크를 클릭해도 #panel div가 아래로 이동하지 않으며 더 이상 콘텐츠가로드되지 않습니다. –
좋아, 나는 단지 당신이 모든 링크를 의도적으로 타겟팅하고 있는지 확인하고 싶었다. 아마 jsfiddle이나 codepen에 뭔가를 올려 놓을 수 있을까요? – ian