> 웹 프론트엔드 > 프런트엔드 Q&A > 자바스크립트에서 여러 그림 그룹의 위치를 ​​변경하는 방법

자바스크립트에서 여러 그림 그룹의 위치를 ​​변경하는 방법

PHPz
풀어 주다: 2023-04-24 16:35:57
원래의
917명이 탐색했습니다.

프론트엔드 개발에서는 이미지 처리가 필수적인 부분입니다. 여러 세트의 그림을 웹 페이지에 표시해야 하는 경우가 많으며 이러한 그림의 위치는 페이지 변경에 맞게 동적으로 변경되어야 합니다. 이 경우 JavaScript를 사용하여 여러 이미지 세트의 위치를 ​​변경할 수 있습니다.

1. 동적으로 그림 만들기

JavaScript를 사용하여 여러 그림 세트의 위치를 ​​변경하기 전에 JavaScript를 사용하여 동적으로 그림을 만들어야 합니다. 여기에서는 DOM 메소드를 사용하여 HTML 요소를 생성하고 삽입할 수 있습니다.

먼저 div 컨테이너를 만든 다음 JavaScript를 사용하여 img 태그를 동적으로 만들고 src 속성과 클래스 속성을 설정한 다음 마지막으로 img 태그를 div 컨테이너에 삽입합니다.

<div id="img-container"></div>

<script>
var container = document.getElementById("img-container");
var img1 = document.createElement("img");
img1.src="img1.jpg";
img1.className="img-group1";
container.appendChild(img1);

var img2 = document.createElement("img");
img2.src="img2.jpg";
img2.className="img-group2";
container.appendChild(img2);
</script>
로그인 후 복사

이 코드에서는 document.createElement() 메서드를 사용하여 img 태그를 생성하고 src 속성과 클래스 속성을 설정합니다. 마지막으로, AppendChild() 메소드를 사용하여 img 태그를 지정된 div 컨테이너에 삽입합니다.

2. CSS 스타일을 사용하여 이미지 위치 제어

이미지를 만든 후 CSS 스타일을 사용하여 이미지 위치를 제어할 수 있습니다. 여기서는 img 태그의 position, left, top 속성을 설정하여 이미지의 위치를 ​​제어할 수 있습니다.

사진을 두 그룹으로 나누고 각 사진 그룹을 페이지의 왼쪽과 오른쪽에 나란히 배열해야 한다고 가정해 보겠습니다. 한 그림 그룹의 left 속성을 0으로 설정하고, 다른 그림 그룹의 left 속성을 페이지 너비에서 그림 너비를 뺀 값으로 설정하여 두 그룹의 그림을 페이지의 왼쪽과 오른쪽에 배치할 수 있습니다. 각각 페이지.

.img-group1{
    position: absolute;
    left: 0;
    top: 0;
}

.img-group2{
    position: absolute;
    left: calc(100% - 300px);
    top: 0;
}
로그인 후 복사

이 코드에서는 정확한 픽셀 값과 calc() 함수를 사용하여 left 속성을 설정합니다. calc() 함수는 간단한 산술 연산을 수행할 수 있어 이미지 위치를 보다 정확하게 제어하는 ​​데 도움이 됩니다.

3. JavaScript를 사용하여 이미지 위치를 동적으로 변경합니다.

페이지 너비가 변경되면 JavaScript를 사용하여 이미지 위치를 동적으로 변경해야 합니다. window.onresize 이벤트를 사용하여 페이지 너비의 변화를 수신하고 너비가 변경되면 이미지의 위치를 ​​동적으로 변경할 수 있습니다.

여기서 JavaScript를 사용하여 페이지 너비를 가져온 다음 이미지의 왼쪽 속성을 다시 계산하고 할당할 수 있습니다. querySelectorAll() 메소드를 사용하여 모든 이미지 요소를 가져오고 for 루프를 사용하여 이러한 요소를 탐색할 수 있습니다.

window.onresize = function(){
    var imgWidth = document.querySelector(".img-group1").offsetWidth; //假设所有图片宽度相同,这里只获取了一个图片的宽度
    var pageWidth = document.documentElement.clientWidth; //获取页面宽度
    var img2Left = pageWidth - imgWidth; //计算图片2的left属性值

    var imgElements = document.querySelectorAll("img"); //获取所有的img元素

    for(var i=0; i<imgElements.length; i++){
        if(imgElements[i].className === "img-group1"){ //设置图片1的left属性
            imgElements[i].style.left = "0";
        }
        if(imgElements[i].className === "img-group2"){ //设置图片2的left属性
            imgElements[i].style.left = img2Left + "px";
        }
    }
}
로그인 후 복사

이 코드에서는 offsetWidth 속성을 사용하여 이미지 너비를 가져오고 clientWidth 속성을 사용하여 페이지 너비를 가져옵니다. 그런 다음 그림 2의 left 속성 값을 계산하고 for 루프를 사용하여 모든 img 요소를 순회하고 className에 따라 각 그림의 left 속성을 설정합니다.

결론

위 코드는 JavaScript를 사용하여 여러 이미지 세트의 위치를 ​​동적으로 변경하는 기능을 구현합니다. 이 기술은 프런트 엔드 개발에서 매우 일반적이며 페이지의 시각적 효과를 보다 정확하게 제어하는 ​​데 도움이 될 수 있습니다.

위 내용은 자바스크립트에서 여러 그림 그룹의 위치를 ​​변경하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿