>웹 프론트엔드 >JS 튜토리얼 >보다 유용한 형태 - 스크롤 위치 제어

보다 유용한 형태 - 스크롤 위치 제어

Jennifer Aniston
Jennifer Aniston원래의
2025-03-06 00:32:11340검색

More Usable Forms - Controlling Scroll Position

보다 유용한 형태 - 스크롤 위치 제어 나는 웹 애플리케이션의 유용성을 개선하고 개선 할 수있는 방법을 지속적으로 찾고 있습니다. 특히, 나는 항상 내 양식을 개선 할 수있는 방법을 찾으려고 노력합니다. 웹 응용 프로그램을 구축하는 경우 양식을 작성할 것입니다. 아마도 당신은 아마도 많은 양식을 만들 것입니다.

평균 사용자가 양식이나 일련의 형태를 완성하려는 평범한 사용자를 관찰 한 사람은 경험이 종종 실망 스럽다는 것을 알고 있습니다. 사소한 방법으로도 양식의 유용성을 향상시키기 위해 추가 조치를 취하십시오. 양식의 유용성을 향상시키는 데 사용할 수있는 한 가지 기술은 포스트 백 후에 페이지 스크롤을 보존하는 것입니다. 예를 들어 검색 페이지 에서이 기능을 사용하여 사용자가 결과를 열별로 정렬 할 수 있습니다. 페이지 A 상단에있는 페이지 A의 맨 위에 검색 매개 변수를 허용하고 아래 결과를 표시하는 경우 사용자가 주어진 열로 결과를 정렬 할 때마다 매개 변수를 지나서 결과로 페이지를 아래로 스크롤 해야하는 것이 매우 성가신 일 수 있습니다. 운 좋게도, 우리는 이것에 대해 무언가를 할 수 있습니다.

솔루션 이 튜토리얼에서는 양식 페이지가 다시 게시 할 때 페이지의 스크롤 위치를 쉽게 유지하는 방법을 보여 드리겠습니다. 여기서 콜드 푸션에서 예제를 코딩했지만이 기술은 다른 언어로 쉽게 포팅 될 수 있습니다.

이 기술을 작동시키기 위해해야 ​​할 일은 실제로 두 가지만 있습니다. 현재 페이지의 현재 X 및 Y 스크롤 좌표를 잡고 현재 페이지에 다시 게시 할 때 제출되도록 양식에 넣으려면 JavaScript를 작성해야합니다. 그런 다음 해당 X 및 Y 스크롤 좌표를 가져 와서 서버와 클라이언트 측 스크립팅의 조합을 통해 다시로드되면 페이지의 스크롤 좌표를 설정해야합니다. 케이크 조각! 양식 코드 여기에 베어 본 형태를 사용하고있어 프로세스가 어떻게 작동하는지에 대한 메커니즘에 명확하게 집중할 수 있으며, 위에서 언급 한 종류의 더 복잡한 검색 페이지를 만들 수 있습니다. 일을 작동시키는 방법을 알고 나면이 예제를 자신의 요구에 쉽게 적응하고 원하는만큼 영리 할 수 ​​있습니다.

이 양식 페이지는 현재 특별한 일을하지 않습니다. 그것은 단순히 이름 매개 변수를 전달하여 단순히 자체로 게시합니다. 페이지에 스크롤 가능한 컨텐츠를 갖도록 단락과 숫자를 코딩했으며 페이지가 수직으로 얼마나 멀리 떨어져 있는지 판단하는 데 도움이되는 시각적 가이드가 있도록 (이 스크립트는 수직 및 수평 스크롤을 모두 보존 할 것임). 스크롤 추적 첫 번째 단계는 x 및 y 스크롤 값을 가져 와서 양식에 넣기 위해 일부 JavaScript를 추가하는 것입니다. 이를 위해서는 양식을 제출할 때 현재 스크롤 값을 가져와 숨겨진 입력으로 전달하는 몇 줄의 JavaScript와 함께 두 개의 숨겨진 입력을 우리의 양식에 추가해야합니다. SavescrollCoordinates () 함수는 문서에 대한 브라우저 지원을보고 올바른 참조를 사용하여 스크롤 값을 잡고 그에 따라 양식 입력을 업데이트합니다. 이 예제에서는 onsubmit () 이벤트 핸들러를 양식에 사용 하여이 예제에서 호출 할 것입니다. 나는이 예제에서 스크롤 값을 텍스트 필드로 저장하는 숨겨진 필드를 코딩했습니다.

두 번째 단계는 양식으로 전달 된 값을 취하고 그들과 함께 무언가를하는 것입니다. 이를 위해서는 냉담만으로 몇 줄의 JavaScript를 추가해야합니다. 먼저 페이지 상단에 두 개의 추가 CFPARAM 태그를 삽입하여 각 페이지로드에서 작업 할 기본 스크롤 값이 있습니다. 그런 다음 Scrolltocoordinates () 함수를 정의하여 페이지 스크롤을 설정하고 태그의 onload () 이벤트 핸들러를 사용하여 페이지가로드 될 때 호출합니다.
여기에 사용자가 버튼을 클릭하여 양식을 제출할 때 발생하는 일을 설명하는 Play-By-Play Breakdown이 있습니다.

SavescrollCoordinates () 함수는 양식의 onsubmit () 이벤트 핸들러에 의해 실행됩니다. savescrolloordinates ()는 적절한 값으로 스크롤과 스크롤 숨겨진 입력을 업데이트합니다. 양식은 같은 페이지로 다시 게시합니다 Coldfusion 양식 매개 변수 Scrollx 및 Scrolly Scrolltocoordinates () 함수에서 스크롤 좌표를 설정합니다. 태그의 onload () 이벤트 핸들러는 scrolltocoordinates () 함수를 호출합니다. 윈도우의 스크롤 속성은 전달 된 좌표에 따라 조정됩니다.

형식을 테스트하면 어디에서 스크롤하든 페이지를 제출할 때 수직 및 수평으로 시작한 곳과 같은 장소에 있습니다. 수평 스크롤을 더 잘 테스트하려면 브라우저를 크기를 조정하여 매우 좁아서 양식을 제출하십시오. X 및 Y 스크롤은 자동으로 보존되어있어 HREF 앵커를 사용하는 대안적인 방법이지만 그렇게하는 것은 거의 정확하거나 매끄럽지 않습니다.
<cfparam name="FORM.name" default="Testing"> <br>
 <br>
<html> <br>
<head> <br>
   <title>Test</title> <br>
</head> <br>
<body> <br>
 <br>
<form name="Form1"  <br>
   method="POST"  <br>
   action="<cfoutput>#CGI.SCRIPT_NAME#</cfoutput>"> <br>
 <br>
   <p>1</p> <p>2</p> <p>3</p> <p>4</p> <p>5</p>  <br>
   <p>6</p> <p>7</p> <p>8</p> <p>9</p> <p>10</p> <br>
 <br>
   <hr width="2000"> <br>
 <br>
   <nobr> <br>
   Name: <input type="text" name="name" value="<cfoutput>#FORM.name#</cfoutput>"> <br>
   <input type="submit" value="Submit"></nobr> <br>
 <br>
   <hr width="2000"> <br>
    <br>
   <p>11</p> <p>12</p> <p>13</p> <p>14</p> <p>15</p>  <br>
   <p>16</p> <p>17</p> <p>18</p> <p>19</p> <p>20</p> <br>
 <br>
</form> <br>
 <br>
</body> <br>
</html>
. 포장
위에서 준 예제는 어떻습니까? 입력 양식이 포함 된 검색 페이지와 열로 정렬 할 수있는 결과가 있습니까? 이 경우, 사용자가 열을 클릭하여 정렬 할 때마다 양식을 제출하고 약간 다른 값으로 약간의 SQL을 실행할 수 있습니다. 새 정렬 열과 정렬 방향으로 숨겨진 입력을 업데이트하는 경우이 기능을 페이지에 추가하는 데 쉬운 작업이어야합니다. 추가 숨겨진 입력을 양식에만 삽입하면 여기에 제시된 JavaScript를 자신의 JavaScript에 통합하면됩니다. 정렬 링크는 onclick () 이벤트 핸들러를 사용하여 숨겨진 스크롤 값을 업데이트하고 양식을 다시 제출할 수 있습니다. 내가 보여준 것은이 기술의 간단한 예일뿐입니다. 여기의 코드는 Windows 용 Internet Explorer 6 및 Mozilla Firefox, Mac의 Safari를 사용하여 테스트되었습니다. 이 기술의 아이디어를 시작점으로 사용하십시오. 자신의 창의성과 기술을 적용하여 응용 프로그램에서 사용하는 형태에보다 세련되고 직관적 인 느낌을 더하십시오. 보존 페이지에 자주 묻는 질문
CSS를 사용하여 페이지의 스크롤 위치를 어떻게 보존 할 수 있습니까?

CSS를 사용하여 페이지의 스크롤 위치를 보존하는 것은 '스크롤-행동'속성을 사용하여 달성 할 수 있습니다. 이 속성은 스크롤이 매끄럽거나 점프 해야하는지 여부를 지정합니다. 스크롤 위치를 매끄럽게 만들려면‘스크롤-행동 : 매끄러움’을 사용할 수 있습니다. 이것은 페이지의 한 부분에서 다른 부드러운 부분으로 전환하여 스크롤 위치를 보존 할 것입니다.

스크롤 위치를 보존하는 데 JavaScript의 역할은 무엇입니까? JavaScript는 페이지의 스크롤 위치를 보존하는 데 중요한 역할을합니다. 스크롤 위치를 변수로 저장 한 다음 나중에 위치를 복원 할 수 있습니다. 이것은 페이지 새로 고침 후 또는 페이지로 다시 탐색 할 때 스크롤 위치를 유지하려고 할 때 특히 유용합니다.

CSS를 사용하여 스크롤 바의 위치를 ​​어떻게 변경할 수 있습니까?

'방향'속성을 사용하여 Scrollbar의 위치는 CSS를 사용하여 변경할 수 있습니다. 이 속성은 텍스트 방향과 스크롤 바를 배치 해야하는 위치를 결정합니다. 예를 들어, 스크롤 바가 왼쪽에 있으면‘방향 : rtl’을 사용할 수 있고 오른쪽의 경우‘Direction : ltr’을 사용할 수 있습니다.

CSS의 스크롤 마진 인라인-시작 특성은 무엇입니까?

CSS의 스크롤 마진 인라인 스타트 속성은 시작 방향의 마진을 정의하는 데 사용됩니다. 이 속성은 스크롤 스냅 정렬을 제어 할 때 특히 유용합니다. CSS가있는 페이지의 두루마리 위치를 어떻게 표시 할 수 있습니까?

'위치'속성을 사용하여 CSS가있는 페이지의 스크롤 위치를 나타낼 수 있습니다. 이 속성을 사용하면 뷰포트와 관련하여 요소를 배치 할 수 있으며, 이는 스크롤 위치를 나타내는 데 사용할 수 있습니다. 예를 들어, '위치 : 스티커'를 사용하여 뷰포트에 요소를 고수하여 스크롤 위치를 표시 할 수 있습니다.

CSS를 사용하여 기본 스크롤 위치를 설정하는 방법? 'Scroll-Behavior'및 'scroll-snap-type'성격을 사용하여 CSS를 사용하여 기본 스크롤 위치를 설정하는 방법. 이 속성은 스크롤 위치를 제어하고 특정 지점으로 스냅 할 수있게 해줍니다.

CSS의‘스크롤-행동 : 스크롤-하이버 : 자동’의 차이점은 무엇입니까?

CSS의 스크롤-베이비어 : 스마트’속성은‘스크롤-벨라’를 만듭니다. 위치. '매끄러운'속성은 페이지의 한 부분에서 다른 매끄러운 곳으로 전환하려는 경우 유용하지만 '자동'속성은 특정 위치로 점프하려고 할 때 유용합니다.

JavaScript를 사용하여 스크롤 위치를 저장하고 복원 할 수있는 방법은 '창. 그런 다음 'window.scrollto'메소드를 사용하여 스크롤 위치를 복원 할 수 있습니다. 이것은 페이지 새로 고침 후 또는 페이지로 다시 탐색 할 때 스크롤 위치를 유지하려는 경우에 특히 유용합니다.

CSS를 사용하여 스크롤 스냅 정렬을 제어 할 수 있습니까?

스크롤 스냅 정렬은 CSS의 'Scroll-SNAP-Align'속성을 사용하여 제어 할 수 있습니다. 이 속성은 스크롤 스냅이 발생할 때 요소가 정렬되어야하는 위치를 지정합니다. 예를 들어, 'Scroll-SNAP-ALIGN : Start'를 사용하여 컨테이너 시작시 요소를 정렬 할 수 있습니다.

CSS를 사용하여 요소를 사용하여 요소를 사용하여 요소를 사용하여 '위치 : 끈적 끈적'속성을 사용하여 요소를 달성 할 수 있습니다. 이 속성은 사용자의 스크롤 위치를 기반으로 요소를 배치합니다. 예를 들어‘위치 : 끈적 끈적한; 상단 : 0 '요소를 뷰포트의 상단에 고수하게 만들려면.

위 내용은 보다 유용한 형태 - 스크롤 위치 제어의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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