jQuery Accordion : 헤더 제어 크기 조정
-
23-08-2019 - |
문제
나는 jQuery 아코디언을 사용하고 있습니다. 모두 Firefox에 있습니다. 그러나 IE7에서는 내 문서에서 아코디언 메뉴 중 하나를 확장하는 링크를 클릭하면 헤더 서버 컨트롤이 크기 (Shrunken)입니다. 화면 재조정을 어떻게 중지합니까? 이것은 문제의 JavaScript의 관료입니다.
if (!$('h3.ReferenceBackgroundHeader', '#References').hasClass('ui-state-active')) {
$("#References").accordion('activate', 0);
}
window.scrollTo(0, $('#References').offset().top);
return false;
내가 원하는 것은 .accordion('activate',indexval);
내 헤더 서식을 변경하지 않기 위해.
이상하게 .. IE에서 이것을 위해서는 일이 있어야합니다. 내 기능을 비우고 그냥 실행하면 :
window.scroll(0,900);
나는 아직도 정상에서 내 심각한 제어를 풀어?! 누구든지 제안이 있습니까?
아마도 이것은 문제 일 것입니다 .. 페이지는 실제로 두 개의 div로 구성되어 있습니다. 상단 DIV는 헤더 컨트롤을 표시하기위한 것이며 (마스터 페이지 전) 하단 섹션은 내면을 스크롤하려는 섹션입니다. "내용"DIV는 스크롤하는 기능이 필요한 것입니다. "헤더"DIV는 스크롤 할 때 사라지는 것입니다. 누구든지 아직 나를 구할 수 있습니까? :)
<body>
<form id="Form1" method="post" runat="server">
<div id="header">
<uc1:Header ID="headerControl" runat="server"></uc1:Header>
</div>
<div id="content" style="overflow:auto">
<asp:PlaceHolder ID="contentPlaceholder" runat="server"></asp:PlaceHolder>
</div>
</form>
해결책 2
그래서 나는 그것을 알아 냈습니다. 나는 상속 된 레거시 코드를 연구하고 있습니다. 나는 잘못된 나무를 짖고 있었다. 페이지 헤더에서 슬픔을주는 다음 코드를 찾았습니다.
function resizeContentWindowScrollBar() {
var contentDiv = document.getElementById("content");
var header = document.getElementById("header");
if (header != null) {
var desiredHeight = document.body.clientHeight - header.clientHeight;
if (desiredHeight > 0) {
contentDiv.style.height = (document.body.clientHeight - header.clientHeight) + "px";
}
}
}
HEADER.CLIENTHEIGHT 호출을 주목하십시오. 이 스 니펫은 분명히 헤더 높이를 가져 오며 이와 함께 내용 DIV 높이와 같습니다. 문제는 클라이언트 상관 함수가 항상 "0"을 반환하는 것이 었습니다. 나는 이것들을 헤더로 교체했다.
따라서 IE에서 내 클라이언트가 올바르게 작동하지 않는 경우 기능이 나타납니다.
다른 팁
메뉴를 확장하기 전후에 브라우저에 스크롤 바가 있습니까?
일어날 수있는 것은 메뉴를 확장하기 전에 모든 것이 화면에 맞아 브라우저가 스크롤 바를 제공하지 않는다는 것입니다. 그러나 메뉴를 확장하면 더 많은 공간이 필요하므로 브라우저에는 스크롤바가 추가되어 웹 페이지가 "스케일"을 표시합니다.
큰 것을 설정하지 않고 그 문제를 해결하는 방법을 잘 모르겠습니다. min-height
Scrollbar가 항상 나타나도록 CSS 파일에서.
도움이되기를 바랍니다.
업데이트: 방금 찾았습니다 웹 사이트 스크롤바 문제를 해결하는 방법에 대해 이야기합니다. 그냥 이번에 오는 다른 사람이 훨씬 더 깨끗한 수정을하고 싶었습니다.