이 글은 주로 IE6 호환 접기 및 펼치기 효과를 구현하기 위해 JavaScript를 소개합니다. 구체적인 예를 기반으로 페이지 요소 속성과 관련된 JavaScript 이벤트 응답을 분석합니다. .
접기 효과 자체를 접는 것은 어렵지 않지만, p가 높이를 초과하는지 여부를 판단하기 위해 innerHTML을 사용하면 안 됩니다. 접을 때 모든 p의 innerHTML을 변수에 넣은 다음 문자열을 가로채서 변수의 내용을 가로채세요. p에 넣으세요. 다음은 p 자체의 고유 높이를 기준으로 p가 너무 높은지 여부를 판단하는 방법을 제공합니다. p가 너무 높으면 접기 버튼이 제공됩니다.
p의 높이는 document.getElementById("p's id").offsetHeight로 판단됩니다. 이 p의 내용이 백엔드를 통해 출력되더라도 document.getElementById("p's id").offsetHeight는 다음과 같습니다. 동일하게 다음 코드와 같이 p의 최종 높이를 얻을 수 있습니다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>p折叠效果</title> </head> <body> <p id="fold" style="border:1px #000 solid;height:100px;overflow:hidden"> <?php echo "<p>s</p><p>s</p><p>s</p><p>s</p><p>s</p><p>s</p><p>s</p><p>s</p><p>s</p><p>s</p><p>s</p><p>s</p><p>s</p>"; ?> </p> </body> </html> <script> alert(document.getElementById("fold").offsetHeight); </script>
실행 결과는 다음과 같습니다.
그런 다음 p의 높이를 기반으로 기사를 만들 수 있습니다. 다음 효과를 만듭니다.
HTML 레이아웃은 다음과 같습니다. 접거나 펼치려는 콘텐츠를 접기 위해 접기 ID와 함께 p를 사용합니다. 그 후, id가fold인 p에 너비가 100%인 버튼을 넣고, more_btn이라는 id를 가진 버튼을 설정합니다. 스크립트는 웹 페이지를 로드할 때 p의 높이를 판단하기 시작하기 때문입니다. 접기의 id, id가 다음과 같은 경우 접기의 p 높이가 너무 작으므로 more_btn ID의 버튼을 표시할 필요가 없습니다. 동시에 콘텐츠 p와 버튼을 p 안에 넣습니다.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>p折叠效果</title> </head> <body> <p style="border:1px #000 solid;"> <p id="fold"> <p>占位置</p><p>占位置</p><p>占位置</p><p>占位置</p><p>占位置</p><p>占位置</p> <p>占位置</p><p>占位置</p><p>占位置</p><p>占位置</p><p>占位置</p><p>占位置</p> </p> <button id="more_btn" style="width:100%" onclick="showmore(this)">查看更多</button> </p> </body> </html>
핵심은 두 부분으로 나누어진 다음 웹페이지 스크립트입니다. 한 부분은 웹페이지 로딩 부분으로, 버튼 표시 여부, p 접힘 여부를 처리하는 데 사용됩니다. . 또 다른 부분은 버튼 클릭 이벤트 쇼모어입니다.
<script type="text/javascript"> var p_height=document.getElementById("fold").offsetHeight; var fold_flag=0;//用于标志现在的p是展开还是折叠,初始为0,以为折叠中 if(p_height<100){//根据p的高度是否少于100px,判断是否要隐藏按钮 document.getElementById("more_btn").style.display="none"; } else{//将p的高度强制定为100px,同时超出部分隐藏 document.getElementById("fold").style.overflow="hidden"; document.getElementById("fold").style.height="100px"; } //id为more_btn的按钮的点击事件,按钮被点击的时候,将自己传到这个事件中,形式参数为obj function showmore(obj){ if (fold_flag == 0) {//展开的话,就是让p的高度根据其内容自适应,同时显示所有内容 document.getElementById("fold").style.overflow = ""; document.getElementById("fold").style.height = ""; obj.innerHTML="收起"//按钮的文字改变 fold_flag=1;//折叠标志为1,意味现在为打开状态 } else{//收起就是回到原来的状态。 document.getElementById("fold").style.overflow="hidden"; document.getElementById("fold").style.height="100px"; obj.innerHTML="查看更多" fold_flag=0; } } </script>
버튼을 사용하지 않으려면 중앙에 하이퍼링크를 설정할 수도 있습니다.
관련 권장사항:
jQuery는 IE6_jquery와 호환되는 스크롤 모니터링 기능을 구현합니다.
jQuery는 IE6과 호환되는 마스킹 기능을 구현합니다. 예제 공유
JavaScript는 기본적으로 IE6과 호환되며 스크롤을 제어할 수 있습니다. 텍스트 구현 기능
위 내용은 IE6과 호환되는 JavaScript 및 확장 효과의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!