웹 프론트엔드 JS 튜토리얼 JavaScript를 사용하여 테이블 열 너비의 드래그 앤 드롭 조정 기능을 구현하는 방법은 무엇입니까?

JavaScript를 사용하여 테이블 열 너비의 드래그 앤 드롭 조정 기능을 구현하는 방법은 무엇입니까?

Oct 21, 2023 am 08:14 AM
javascript 시트 열 너비 조정

如何使用 JavaScript 实现表格列宽拖拽调整功能?

JavaScript를 사용하여 테이블 열 너비의 드래그 앤 드롭 조정을 구현하는 방법은 무엇입니까?

웹 기술이 발전하면서 웹페이지에 표 형태로 표시되는 데이터가 점점 더 많아지고 있습니다. 그러나 때로는 테이블의 열 너비가 우리의 요구 사항을 충족하지 못해 내용이 넘치거나 너비가 부족할 수 있습니다. 이 문제를 해결하기 위해 JavaScript를 사용하여 테이블의 열 너비에 대한 드래그 앤 드롭 조정 기능을 구현하여 사용자가 필요에 따라 열 너비를 자유롭게 조정할 수 있습니다.

테이블 열 너비의 드래그 앤 드롭 조정 기능을 구현하려면 다음 세 가지 주요 단계가 필요합니다.

  1. 마우스 이벤트 모니터링: 사용자의 작업 동작을 캡처하려면 테이블에 마우스 이벤트 모니터링을 추가해야 합니다.
  2. 열 너비의 동적 조정: 사용자의 드래그 작업에 따라 테이블 열의 너비를 동적으로 조정합니다.
  3. 테이블 상태 기록: 페이지를 새로 고치거나 새로고침한 후에도 조정 결과가 유지될 수 있도록 사용자가 조정한 열 너비 상태를 기록합니다.

다음에서는 위의 세 단계의 구현 방법을 자세히 소개하고 해당 코드 예제를 제공합니다.

  1. 마우스 이벤트 수신

먼저 테이블을 수신하는 mousedown 이벤트를 추가하세요. 사용자가 테이블 열의 가장자리를 클릭하면 드래그를 시작하여 열 너비를 조정할 수 있습니다. mousedown 이벤트 핸들러에서 마우스 클릭 위치를 기록해야 합니다. mousedown 事件监听。当用户点击表格列边缘时,可以开始拖拽调整列宽。在 mousedown 事件处理函数中,需要记录鼠标点击的位置。

function tableMouseDown(event) {
  // 记录鼠标点击的位置
  const startX = event.clientX;
  // ...
}
로그인 후 복사

接着,为 document 对象添加 mousemove 事件监听。在 mousemove 事件处理函数中,需要计算鼠标移动的距离,并动态改变表格列的宽度。

function documentMouseMove(event) {
  // 计算鼠标移动的距离
  const distanceX = event.clientX - startX;
  // 动态改变表格列的宽度
  // ...
}
로그인 후 복사

最后,为 document 对象添加 mouseup 事件监听。当用户释放鼠标时,停止调整列宽。

function documentMouseUp() {
  // 停止调整列宽
  // ...
}
로그인 후 복사
  1. 动态调整列宽

mousemove 事件处理函数中,根据用户的拖拽操作,动态调整表格列的宽度。首先,需要确定当前拖拽的是哪一列,可以通过表格头部的 th 元素来确定。然后,根据计算得到的鼠标移动距离,动态改变表格列的宽度。

function documentMouseMove(event) {
  // 计算鼠标移动的距离
  const distanceX = event.clientX - startX;
  
  // 动态改变表格列的宽度
  const th = document.elementFromPoint(startX, event.clientY);
  const columnIndex = th.cellIndex;
  const table = th.parentNode.parentNode.parentNode;
  const cells = table.querySelectorAll(`tr th:nth-child(${columnIndex + 1}), tr td:nth-child(${columnIndex + 1})`);

  const newWidth = parseFloat(getComputedStyle(cells[0]).width) + distanceX;
  for (const cell of cells) {
    cell.style.width = `${newWidth}px`;
  }
}
로그인 후 복사
  1. 记录表格状态

为了在页面刷新或者重新加载后保持用户调整的列宽,我们需要将表格的列宽状态记录下来。可以使用 localStorage 或者 cookie 来实现数据的持久化保存。

function documentMouseUp() {
  // 停止调整列宽
  // ...

  // 记录表格的列宽状态
  const columnWidths = {};
  const table = document.querySelector('table');
  const columns = table.querySelectorAll('th');
  for (const column of columns) {
    columnWidths[column.cellIndex] = parseFloat(getComputedStyle(column).width);
  }
  
  localStorage.setItem('columnWidths', JSON.stringify(columnWidths));
}
로그인 후 복사

在页面加载时,可以从 localStorage

window.addEventListener('load', function() {
  const columnWidths = JSON.parse(localStorage.getItem('columnWidths'));
  if (columnWidths) {
    const table = document.querySelector('table');
    const columns = table.querySelectorAll('th');
    for (const [index, width] of Object.entries(columnWidths)) {
      columns[index].style.width = `${width}px`;
    }
  }
});
로그인 후 복사
다음으로 document 개체에 대한 mousemove 이벤트 리스너를 추가하세요. mousemove 이벤트 핸들러에서는 마우스가 이동한 거리를 계산하고 테이블 열의 너비를 동적으로 변경해야 합니다.

rrreee

마지막으로 document 개체에 대한 mouseup 이벤트 리스너를 추가하세요. 사용자가 마우스를 놓으면 열 너비 크기 조정을 중지합니다. 🎜rrreee
    🎜열 너비의 동적 조정🎜🎜🎜mousemove 이벤트 처리 기능에서 사용자의 드래그 동작에 따라 테이블 열의 너비를 동적으로 조정합니다. 먼저, 현재 드래그되고 있는 열을 확인해야 하며, 이는 테이블 헤드에 있는 번째 요소를 통해 확인할 수 있습니다. 그런 다음 계산된 마우스 이동 거리에 따라 테이블 열의 너비를 동적으로 변경합니다. 🎜rrreee
      🎜테이블 상태 기록🎜🎜🎜페이지를 새로 고치거나 새로 고친 후에도 사용자가 조정한 열 너비를 유지하려면 테이블의 열 너비 상태를 기록해야 합니다. localStorage 또는 cookie를 사용하여 지속적인 데이터 저장을 달성할 수 있습니다. 🎜rrreee🎜페이지 로드 시 저장된 열 너비 상태를 localStorage에서 읽어 테이블에 적용할 수 있습니다. 🎜rrreee🎜위의 세 단계를 통해 테이블 ​​열 너비의 드래그 앤 드롭 조정 기능을 구현할 수 있습니다. 사용자는 테이블의 열 너비를 자유롭게 조정하고 실제 필요에 따라 테이블의 표시 효과를 최적화할 수 있습니다. 이 기사가 도움이 되기를 바랍니다! 🎜

위 내용은 JavaScript를 사용하여 테이블 열 너비의 드래그 앤 드롭 조정 기능을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PPT 표에 삽입된 그림의 형식을 조정하는 단계 PPT 표에 삽입된 그림의 형식을 조정하는 단계 Mar 26, 2024 pm 04:16 PM

1. 예시처럼 새 PPT 파일을 만들고 이름을 [PPT Tips]로 지정합니다. 2. [PPT 팁]을 더블클릭하여 PPT 파일을 엽니다. 3. 예를 들어 행 2개와 열 2개로 구성된 표를 삽입합니다. 4. 테이블 테두리를 더블클릭하면 상단 툴바에 [디자인] 옵션이 나타납니다. 5. [음영] 옵션을 클릭한 후 [그림]을 클릭하세요. 6. [그림]을 클릭하면 그림을 배경으로 채우기 옵션 대화 상자가 나타납니다. 7. 디렉토리에서 삽입하려는 트레이를 찾은 후 확인을 클릭하여 그림을 삽입하세요. 8. 테이블 상자를 마우스 오른쪽 버튼으로 클릭하여 설정 대화 상자를 불러옵니다. 9. [셀 서식]을 클릭하고 [이미지를 음영으로 배열]을 선택하세요. 10. [중앙], [미러] 및 기타 필요한 기능을 설정한 후 확인을 클릭하세요. 참고: 기본값은 테이블에 그림을 채우는 것입니다.

판매 예측 테이블을 만드는 방법 판매 예측 테이블을 만드는 방법 Mar 20, 2024 pm 03:06 PM

능숙하게 양식을 작성할 수 있다는 것은 회계, 인사, 재무에 필요한 기술일 뿐만 아니라 많은 영업사원에게도 매우 중요합니다. 왜냐하면 매출과 관련된 데이터는 매우 크고 복잡하며, 문제를 설명하기 위해 단순히 문서에 기록할 수는 없기 때문입니다. 더 많은 영업사원들이 엑셀을 능숙하게 활용하여 테이블을 만들 수 있도록 편집자가 판매예측에 관한 테이블 만들기 이슈를 소개합니다. 1. [매출 예측 및 목표 설정], xlsm을 열어 각 테이블에 저장된 데이터를 분석합니다. 2. 새로운 [빈 워크시트]를 생성하고 [셀]을 선택한 후 [라벨 정보]를 입력하세요. 아래로 [드래그]하여 달을 [채우세요]. [기타] 데이터를 입력한 후 [

조건에 따라 자동으로 색상이 변경되도록 WPS 값을 설정하는 방법_조건에 따라 자동으로 색상이 변경되도록 WPS 테이블 값을 설정하는 단계 조건에 따라 자동으로 색상이 변경되도록 WPS 값을 설정하는 방법_조건에 따라 자동으로 색상이 변경되도록 WPS 테이블 값을 설정하는 단계 Mar 27, 2024 pm 07:30 PM

1. 워크시트를 열고 [시작]-[조건부 서식] 버튼을 찾습니다. 2. 열 선택을 클릭하고 조건부 서식을 추가할 열을 선택합니다. 3. [조건부 서식] 버튼을 클릭하면 옵션 메뉴가 나타납니다. 4. [조건부규칙 강조]-[사이]를 선택하세요. 5. 20, 24, 진한 녹색 텍스트와 어두운 채우기 색상 규칙을 입력합니다. 6. 확인 후, 선택한 열의 데이터는 설정에 따라 해당 숫자, 텍스트 및 셀 상자로 색상이 지정됩니다. 7. 충돌하지 않는 조건부 규칙은 반복적으로 추가할 수 있지만, 충돌하는 규칙의 경우 WPS는 이전에 설정된 조건부 규칙을 마지막에 추가된 규칙으로 대체합니다. 8. [사이] 규칙 20-24 및 [보다 작음] 20 뒤에 셀 열을 반복적으로 추가합니다. 9. 규칙을 변경해야 하는 경우 규칙을 삭제한 다음 규칙을 재설정하면 됩니다.

Word 표를 합산하는 방법을 알고 있나요? Word 표를 합산하는 방법을 알고 있나요? Mar 21, 2024 pm 01:10 PM

때때로 Word 테이블에서 계산 문제가 발생하는 경우가 많습니다. 일반적으로 이러한 문제가 발생하면 대부분의 학생들은 계산을 위해 Word 테이블을 복사하고 일부 학생들은 자동으로 계산기를 사용합니다. 빨리 계산하는 방법이 있나요? 물론, 실제로 합계는 Word에서도 계산할 수 있습니다. 그럼 어떻게 하는지 아시나요? 오늘은 함께 살펴보시죠! 더 이상 고민하지 말고, 도움이 필요한 친구들은 빨리 수집해야 합니다! 단계 세부사항: 1. 먼저 컴퓨터에서 Word 소프트웨어를 열고 처리해야 하는 문서를 엽니다. (그림 참조) 2. 다음으로 합산된 값이 있는 셀에 커서를 놓고(그림 참조) [메뉴 모음]을 클릭합니다.

WebSocket 및 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 WebSocket 및 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 Dec 17, 2023 pm 05:30 PM

WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

Word 표에 자동 번호 매기기 또는 일련 번호를 삽입하는 방법 Word 표에 자동 번호 매기기 또는 일련 번호를 삽입하는 방법 Mar 20, 2024 am 09:30 AM

우리가 표를 만들 때 가장 먼저 생각하는 것은 엑셀 소프트웨어를 사용하여 표를 만드는 것인데, 실제로는 워드 소프트웨어로 표를 만들 때 매우 편리하다는 사실을 알고 계셨나요? 워드 소프트웨어로 표를 만들 때 일련번호를 입력해야 할 때가 있습니다. 또는 숫자를 일일이 입력하면 매우 번거롭습니다. 사실 워드 소프트웨어에는 숫자나 일련번호를 자동으로 삽입하는 기능이 있으므로, 자동번호 삽입 방법을 에디터와 함께 배워보겠습니다. 또는 일련 번호를 Word 테이블로 변환합니다. 1. 먼저 Word 문서를 만들고 표를 삽입합니다. 2. 자동 일련번호나 번호를 삽입하려는 열이나 셀을 선택합니다. 3. "시작" - "번호"를 클릭하세요. 4. 스타일 번호 중 하나를 선택합니다. 5.

초보자를 위한 양식 작성 요령은 무엇입니까? 초보자를 위한 양식 작성 요령은 무엇입니까? Mar 21, 2024 am 09:11 AM

우리는 엑셀로 표를 생성하고 편집하는 일이 많은데 이제 막 소프트웨어를 접한 초보자로서 엑셀을 이용해 표를 만드는 방법은 생각보다 쉽지 않습니다. 아래에서는 초보자, 즉 초보자가 마스터해야 할 테이블 생성의 몇 가지 단계에 대해 몇 가지 훈련을 수행합니다. 초보자를 위한 샘플 양식은 다음과 같습니다. 작성 방법을 살펴보겠습니다! 1. 새로운 엑셀 문서를 만드는 방법은 두 가지가 있습니다. [바탕화면] - [새로 만들기] - [xls] 파일의 빈 곳을 마우스 오른쪽 버튼으로 클릭하시면 됩니다. [시작]-[모든 프로그램]-[Microsoft Office]-[Microsoft Excel 20**]을 사용할 수도 있습니다. 2. 새 ex를 두 번 클릭합니다.

WPS 문서 테이블의 색상을 설정하는 방법을 알고 계십니까? WPS 문서 테이블의 색상을 설정하는 방법을 알고 계십니까? Mar 20, 2024 am 08:19 AM

다른 사람의 WPS 문서에서 테이블 색상을 보면 효과가 다채롭고 아름답지만 단조로운 검정색만 있습니다. 테이블을 색깔로 채워야 한다면 많은 학생들이 그렇게 할 것이라고 믿습니다. 그러나 WPS 문서 중국에서 테이블 색상을 설정하려는 경우 많은 학생들이 혼란스러워할 것입니다! 오늘은 WPS 문서 테이블의 색상을 설정하는 방법을 알아 보겠습니다. 모든 사람에게 도움이 되길 바라는 마음으로 문서를 만들었습니다. 단계는 다음과 같습니다. 1. WPS 문서에서 표를 그리고 선 색상을 수정할 표를 마우스 오른쪽 버튼으로 클릭해야 합니다. 2. 다음으로, 표에서 [마우스 오른쪽 버튼]을 클릭하면 나타나는 팝업 메뉴에서 [테두리 및 음영]을 찾습니다. 3. 이때 [테두리 및 음영] 옵션이 열립니다.

See all articles