..
웹 미네랄 힌트와 아이디어 무진장 공급됩니다. 인터넷 정의, 새로운 아이디어를 테스트 매일 contuna은 태어난 환경, 다른 천재, 단순히 호기심과 흥미에 의해이다.
웹 디자인, 내가 원하는 "특수 효과"중 하나의 관점에서 사용자가 입력한 대형 텍스트 내용 변경의 크기의 동적 관리입니다. 간단히 말해서 자세한 내용을 당신이 쓰고 더 큰 텍스트 영역이된다. 보기의 심리적 관점에서 말하는 것과 계속해서 쓸 수있는 초대장은 "어이 당신은뿐만 아니라 쓰고 싶어을 자리가 없다."
이 문서에서는이 좋은 효과를 처리하는 간단한 자바 스크립트 함수를 제안합니다. 해당 함수는 아무것도 안하지만, 내용의 천연 용량 (피해 사실에 낙담 수직 막대의 모양)를 초과할 때 텍스트 영역을 연장. 여기 코드는 다음과 같습니다
moreWords 기능 (ID, maxheight) {
/ / 텍스트 영역의 스타일 속성에 액세스할 수있는 변수를 만들기
ID : document.getElementById (ID);
난 아무것도없이 갈 수 없어 / /면
(! txtarea)을 반환하는 경우;
/ / 그 처음 변수를 생성하지 않는 텍스트 영역의 현재 높이
var에 = newHeight txtarea.clientHeight;
/ / 높이를 설정하거나 현재보다 크다되지 않은 경우 ...
경우 (maxheight |! | maxheight> newHeight) {
/ / 내용의 newHeight 큰 높이 (scrollHeight)를 식별의 가치와 현재 가치를 다시 정의
newHeight = Math.max (txtarea.scrollHeight, newHeight);
/ / 높이가 설정되어있다면 ..
경우 (maxheight)
/ / 최대 높이 (maxheight)의 작은을 식별 newHeight의 가치와 현재 가치를 다시 정의
newHeight = Math.min (maxheight, newHeight);
계산된 높이 (newHeight)은 현재 텍스트 영역보다 큰 / /면
/ /이 변경 사항을 확인하고 텍스트 영역을 길게
경우 (newHeight> txtarea.clientHeight) {
txtarea.style.height newHeight = + "픽셀";
txtarea.style.overflow = "숨겨진";
}
}
최대 높이에 도달하면 / / 스크롤 막대를 표시
txtarea.style.overflow는 = "자동";
}
}
이 함수는 두 개의 매개 변수는 필수 (효과를 적용하는 텍스트 영역의 ID) 및 (픽셀에 높이) 옵션이 걸립니다.
저는 믿습 함수를 작성하는 데 사용되는 여러 단계에 대하여 이미 코드에 주석을 추가하려면 조금은있다.
기능의 사용은 매우 간단합니다 : 높이에 게시된 콘텐츠에 적합한 경우, 텍스트 영역에 onkeyup 이벤트, 누르면 각 키 외엔 아무것도 다시 계산을 수행하지 함수를 실행 :
<textarea onkeyup="moreWords(this)"> </ 텍스트 영역>
제안된 코드의 동작하는 예제는 페이지에서 확인할 수 있습니다 이 페이지 .
이 함수의 유일한 제한은 사용자가 텍스트를 삭제하면 계약하지 못할 것입니다 ... 우리의 코드가 전적으로 귀하의 수축을위한 공간이 아닌의 확장을 위해 설계되기 때문에이 경우, 텍스트 영역은 여전히 예전 크기 감소이다. 원하는 경우, 당신은 코드 몇 줄을 추가하여이 기능을 추가할 수 있습니다.
| |
CSS (코스)
W3C CSS와 XHTML에 따라 웹 디자인 및 접근성. 29 €에서 시작. |
| |
HTML (코스)
29 €에서 웹 마크업 언어입니다. |
| |
자바 스크립트 (코스)
클라이언트측 스크립팅 가이드를 완료하십시오. 39 €에서. |