>웹 프론트엔드 >JS 튜토리얼 >IE6과 호환되는 JavaScript 및 확장 효과

IE6과 호환되는 JavaScript 및 확장 효과

小云云
小云云원래의
2018-02-05 10:52:501374검색

이 글은 주로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.