Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 자바스크립트
- frontend
- 보일러플레이트
- SSR
- Study
- next.js
- Eclipse Bug
- gulp
- tomcat
- 이클립스
- ref전달하기
- ref
- html
- TaskRunner
- React
- animation
- java
- Eclipse
- VW
- CSS3
- 1분코딩
- css
- error
- npm
- 정적웹사이트
- Eclipse Compare View
- Sass
- JavaScript
- 이클립스 소스 비교 안보일 때
- Adobe
Archives
- Today
- Total
프론트 개발 블로그
[IOS/Iphone] iOS 에서 키패드 노출 시 하단에 고정시킨 버튼 움직이는 현상 본문
[IOS/Iphone] iOS 에서 키패드 노출 시 하단에 고정시킨 버튼 움직이는 현상
발생 상황
입력 필드가 있고 하단에 Fixed 된 버튼이 있는 경우,
입력 필드를 선택 시 IOS의 경우 하단으로 키보드가 활성화 되고,
그러면서 하단에 Fixed 시킨 버튼의 위치가 계속 변경 되는 현상
해결방안
- 키패드를 제외한 화면의 높이 값을 계산해서 1초 후 버튼의 위치 값 이동
- 입력 필드에서 포커스 아웃 시에 이벤트 반대로 적용
var timeoutID;
var onloadHeight = window.innerHeight;
$('input[type="text"').on('focusin', function() {
var device = getMobileDevice(navigator.userAgent);
var id = $(this).attr('id');
if(id == 'custNm') {
if(device.isiOS) {
timeoutID = setTimeout(function() {
var rect = document.body.getBoundingClientRect();
var max = Math.max(window.innerHeight, onloadHeight);
var btValue = max - window.visualViewport.height + rect.y;
$('#button').addClass('fixed');
$('#button').css('bottom', btValue + 'px');
$('.test').text('bottom'+ btValue + 'px');
}, 1000);
} else {
timeoutID = undefined;
$('#button').addClass('fixed');
$('#button').css('bottom', window.innerHeight - window.visualViewport.height + 'px');
};
$('body').addClass('scrFixed');
}
});
$('input[type="text"').on('focusout', function() {
var id = $(this).attr('id');
if(id == 'custNm') {
if(timeoutID !== undefined) {
clearTimeout(timeoutID);
};
setTimeout(function() {
$('#button').removeClass('fixed');
$('#button').css('bottom', 0);
}, 100);
$('body').removeClass('scrFixed');
}
});
반응형
'Works' 카테고리의 다른 글
Notion에서 마인드맵 사용하기 : 윔지컬(whimsical) (0) | 2022.05.06 |
---|---|
웹 크롤링, 웹 스크래핑 차이 (0) | 2022.03.15 |
[트래킹] GA, GTM, UTM, Facebook Pixel, Kakao Pixel (0) | 2021.08.10 |
[Task Runner] Gulp 셋팅 (0) | 2021.07.01 |
티스토리 카카오 계정 로그인 문제 (8) | 2021.06.11 |