WebSphere Portal 7의 PageBuilder2 (csa2.theme)를 기반으로 사용자 정의 테마를 개발 중입니다. JQuery 1.7.1을 사용하고 있습니다. 바닥 글이 뷰포트에있는 동안 바닥 글의 맨 위에있는 바닥 글 (ID는 div#footer
)과 도움말 막대 (클래스는 div.footer.flotante
)가 필요하지만 바닥 글이 보이지 않는 동안 바닥의 바닥에 떠 있어야합니다 뷰포트에서 ... 일종의 페이스 북의 새로운 타임 라인 툴바 (친구 추가 등) 또는 Mashable 소셜 위젯, 맨 아래부터 만. 내가 사용JQuery : WebSphere Portal 7 테마의 페이지 맨 아래에서 툴바 부동
$(window).scroll(function (event) {
var barra = $('div.footer.flotante');
var offset = barra.offset();
var bh = barra.height();
var h = offset.top;
var wh = $(window).height();
var dh = $(document).height();
var y = $(this).scrollTop();
var x = dh - y - wh;
var hf = $("div#footer").height();
if (x > hf) {
barra.addClass('fixed');
} else {
barra.removeClass('fixed');
}
});
이는 CSS 스타일 :
div.footer.flotante{
background:url(../images/footerone.png) repeat-x;
width:100%;
}
div.footer.flotante.fixed{
position: fixed;
bottom: 0px;
z-index: 1;
}
와
다음은 내가 이것을 얻기 위해 JQuery와 함께 한 일의 조각입니다 그 코드 정적 콘텐츠 (따라서 dh
값이 일정한 html 페이지의 경우 내 도구 모음을 부동 있어요. 내 문제는이 테마 개발되고, 문서의 본문에 동적으로로드 된 콘텐츠가있을 것으로 예상됩니다 알 수없는 픽셀의 양을 dh
값을 증가. 이 시나리오에서 x
값의 계산은 dh
의 초기 값을 가져 와서 위치가 잘못된 부동 도구 모음을 결과로 제공합니다.
- 콘텐츠를 렌더링 한 후에 어떻게
dh
의 값을 다시 계산할 수 있습니까? offset().bottom
이라는 속성이 없다는 점을 감안하면 내 도구 모음에 대한offset().top
값을 계산하기 위해 일시적으로 "뒤집어서 뒤집은"방법이 있습니까? 따라서dh
의 최종 값을 알 필요가 없으십니까?- 또 다른 제안을 보내시겠습니까?
미리 감사드립니다.
문제의 원인을 찾았습니다. 부정적인 'bottom' 속성이있는 로고의 절대 위치 이미지 였으므로 바닥 글 아래에 추가로 수직 간격을 만들고'dh'값을 늘립니다. –
답변으로 추가 한 다음 올바른 것으로 선택하십시오. 그런 식으로 계정을 개선하십시오. – Will
고맙습니다. @ 윌 –