웹 프론트엔드 JS 튜토리얼 실용적인 js 포커스 맵 전환 효과, 구조 분리 및behavior_javascript 기술

실용적인 js 포커스 맵 전환 효과, 구조 분리 및behavior_javascript 기술

May 16, 2016 pm 06:25 PM
js 분리 포커스 맵 구조

초점 사진 전환 효과는 아마도 프런트 엔드에 매우 익숙할 것입니다. 이를 구현하는 방법은 여러 가지가 있을 것입니다. 작업에서 일반적으로 사용되는 것 중 하나는 다음과 같습니다.
현재 디지털 내비게이션을 디스플레이와 동기화하는 방법. 사진?
여기에는 그림 전환 영역과 디지털 내비게이션 영역이 각각 두 개의 루프 기능에 해당합니다.
그림 루프가 두 번째 그림으로 전환되면, 이때 디지털 내비게이션의 현재 상태도 두 번째 위치로 변경되어 동기화 효과를 얻습니다. 여기서 핵심은 동일한 매개변수 값을 전달하는 것이며 이 작업은 Mea(value) 함수에 전달됩니다.
그림은 자동으로 전환되어야 하며 루프에 마지막 그림이 표시된 후 첫 번째 그림으로 돌아갑니다. 이는 auto() 함수를 사용하여 수행되지만 auto()는 매개변수 n만 판단합니다. 는 증가하고 반복되며 전원이 없으면 아무것도 할 수 없습니다.
이때 setInterval() 함수는 setInterval()과 함께 실행됩니다. auto() 매개변수 n에 따라 지속적으로 증분 변경됩니다. n은 Mea(n) 함수에 전달됩니다.
마지막 대화형 동작은 마우스를 슬라이드할 때 그림 전환 영역과 디지털 내비게이션 영역은 현재 상태를 유지하고 마우스(n) 기능을 잊지 마세요.
이렇게 여러 기능 형제가 분담하여 협력하여 각자의 임무를 수행했습니다.
1.html

코드 복사 코드는 다음과 같습니다.

<div class="jfocus">
<div id="jfocuspic">
<a href="#" style="display:block;">사진 1< /a>
<a href="#">사진 2>
&lt ;a href="#">사진 3
<a href=" #">그림 4</a>
</div>
<ul id="jfocusnum">
<li class="on">1</li>
<li>2</li>
<li>4</li>
</div> ; >
코드 복사

코드는 다음과 같습니다.

.jfocus{width:300px;height:300px;border:#ccc 1px solid; background -color:# FFF;} #jfocuspic{FILTER: progid:DXImageTransform.Microsoft.Fade (duration=0.5,overlap=1.0 );width:300px;height:200px;overflow:hidden;} #jfocuspic a{디스플레이: 없음; 글꼴 크기:200px; 글꼴-색상:#CCC; 커서:포인터; jfocusnum li{cursor:pointer;height:50px; line-height:50px;display:inline-block; border:#999 1px text-align:center; CCC; 왼쪽; 여백:0 5px;} #jfocusnum li.on{color:#f00; border:#900 1px solid; 🎜> 3.js

코드 복사


코드는 다음과 같습니다.

function $(id){return document.getElementById(id);}
var n=0
var Num=$("jfocusnum").getElementsByTagName("li"); 🎜>var imglist=$("jfocuspic").getElementsByTagName("a");
function setBg(value){//숫자 영역 전환, 현재 요소에 "on" 클래스 추가, 다른 요소의 클래스 지우기 ;
for(var i=0;i<Num.length;i ) Num[i].className=(value==i)?"on":""
}
함수 재생( value ){//그림 영역 변환
try//try...catch는 코드의 오류를 테스트할 수 있습니다. try 섹션에는 실행해야 하는 코드가 포함되어 있고, catch 섹션에는 오류가 발생할 때 실행되는 코드가 포함되어 있습니다.
{
with (jfocuspic)//IE용 필터 효과 추가
{
filters[0].Apply();//동적 효과를 시작하기 전에 적용해야 합니다. ), Apply 이벤트는 필터 효과를 생성하는 데 사용됩니다.
for(i=0;i<Num.length;i )i==value?children[i].style.display="block":children[i].style.display="none"; >filters[0].play();//play() 메서드는 동적 효과를 재생하는 데 사용됩니다. 그 전에는 #jfocus_pic 스타일
}
}
catch(e)
{
for(i=0;i<Num . length;i )
{
i==value?imglist[i].style.display="block":imglist[i].style.display="none";//현재 이미지 표시, 숨기기 다른 사진
}
}
}
function mouse(n){
for(var i=0;i<Num.length;i ){
(function(n ){
Num[i].onmouseover=imglist[i].onmouseover=function(){clearInterval(autoStart);Mea(n);}//마우스가 지나간 후 ​​자동 전환을 중지하고 함수 Mea() Pass를 제공합니다. 현재 매개변수 n
Num[i].onmouseout=imglist[i].onmouseout=function(){setAuto();}
})(i)
}
}
function Mea(값){
n=value;
setBg(값)
plays(값)
function auto(){/ / 매개변수 n의 증가는 그림 자동 회전의 핵심입니다.
if(n>Num.length-1)n=0
Mea(n)
function setAuto(){autoStart=setInterval("auto()", 2000)}//2000밀리초마다 auto() 함수가 실행될 때마다 매개변수 n이 1씩 증가합니다.
setAuto ();// 호출 기능


데모 코드:





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

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

JS 및 Baidu Maps를 사용하여 지도 이동 기능을 구현하는 방법 JS 및 Baidu Maps를 사용하여 지도 이동 기능을 구현하는 방법 Nov 21, 2023 am 10:00 AM

JS 및 Baidu Maps를 사용하여 지도 이동 기능을 구현하는 방법

권장 사항: 우수한 JS 오픈 소스 얼굴 감지 및 인식 프로젝트 권장 사항: 우수한 JS 오픈 소스 얼굴 감지 및 인식 프로젝트 Apr 03, 2024 am 11:55 AM

권장 사항: 우수한 JS 오픈 소스 얼굴 감지 및 인식 프로젝트

주식 분석을 위한 필수 도구: PHP 및 JS를 사용하여 캔들 차트를 그리는 단계를 알아보세요. 주식 분석을 위한 필수 도구: PHP 및 JS를 사용하여 캔들 차트를 그리는 단계를 알아보세요. Dec 17, 2023 pm 06:55 PM

주식 분석을 위한 필수 도구: PHP 및 JS를 사용하여 캔들 차트를 그리는 단계를 알아보세요.

PHP 및 JS 개발 팁: 주식 캔들 차트 그리기 방법 익히기 PHP 및 JS 개발 팁: 주식 캔들 차트 그리기 방법 익히기 Dec 18, 2023 pm 03:39 PM

PHP 및 JS 개발 팁: 주식 캔들 차트 그리기 방법 익히기

PHP와 JS를 사용하여 주식 촛대 차트를 만드는 방법 PHP와 JS를 사용하여 주식 촛대 차트를 만드는 방법 Dec 17, 2023 am 08:08 AM

PHP와 JS를 사용하여 주식 촛대 차트를 만드는 방법

JS 및 Baidu Maps를 사용하여 지도 다각형 그리기 기능을 구현하는 방법 JS 및 Baidu Maps를 사용하여 지도 다각형 그리기 기능을 구현하는 방법 Nov 21, 2023 am 10:53 AM

JS 및 Baidu Maps를 사용하여 지도 다각형 그리기 기능을 구현하는 방법

JS와 Baidu Map을 활용하여 지도 클릭 이벤트 처리 기능을 구현하는 방법 JS와 Baidu Map을 활용하여 지도 클릭 이벤트 처리 기능을 구현하는 방법 Nov 21, 2023 am 11:11 AM

JS와 Baidu Map을 활용하여 지도 클릭 이벤트 처리 기능을 구현하는 방법

JS 및 Baidu Maps를 사용하여 지도 히트맵 기능을 구현하는 방법 JS 및 Baidu Maps를 사용하여 지도 히트맵 기능을 구현하는 방법 Nov 21, 2023 am 09:33 AM

JS 및 Baidu Maps를 사용하여 지도 히트맵 기능을 구현하는 방법

See all articles