js 네 이 티 브 코드 가 라운드 맵 의 인 스 턴 스 설명 을 실현 합 니 다.
1.이제 그것 이 어떤 효과 인지 보 겠 습 니 다.그림 을 캡 처 해서 보 여 드 리 겠 습 니 다.
2.우리 가 어떤 필 터 를 하 든 하나의 원칙 을 기억 하고 정적 코드 를 먼저 쓴 다음 에 동적 처 리 를 해 야 합 니 다!
우리 의 라운드 정적 효 과 는 html 와 css 로 이 루어 집 니 다.
1.코드 의 규범 성 을 위해 우 리 는 css 와 js 를 연결 하 는 방식 으로 다음 과 같다.
2.body 의 부분 도 우리 의 규범 적 인 이름 이 필요 합 니 다.
자,여기까지 저희 html 부분 이 끝 났 습 니 다!현재 프레임 워 크 가 구축 되 었 습 니 다.다음 단 계 는 css 스타일 설정 입 니 다.
3.css 스타일 의 설정 은 유연성 이 비교적 크다.왜냐하면 이것 은 우리 의 페이지 에 따라 구체 적 인 설정 과 규정 을 해 야 하기 때문에 아래 의 효 과 는 참고 하 시기 바 랍 니 다!우 리 는 직접 코드 를 올 렸 다.
/* */
* {
margin:0;
padding:0;
}
/* box */
img {
vertical-align: top;
}
/* box */
.css_box {
width: 500px;
height: 265px;
margin:100px auto;
position: relative;
overflow: hidden;
border: 1px solid green;
}
/* */
.slider {
width: 500px;
height: 200px;
border: 1px solid red;
}
/* */
.slider-main {
border: 1px solid yellow;
width: 500px;
height: 200px;
}
/* */
.slider-main-img {
position: absolute;
top: 0;
left: 0;
width: 500px;
height: 200px;
}
.slider-main-img img {
width: 100%;
}
/* */
.slider_ctrl {
text-align: center;
padding-top: 25px;
}
/* , html , , js !*/
/* */
.slider-ctrl-con {
width: 24px;
height: 20px;
display:inline-block;
background:url(../images/icon.jpg) no-repeat -24px -782px;
margin: 0 5px;
cursor: pointer;
text-indent: -20em;
overflow: hidden;
}
.current {
background-position: -24px -762px;
}
/* span */
.slider-ctrl-prev,.slider-ctrl-next {
position: absolute;
top: 50%;
margin-top: -35px;
background:url(../images/icon.jpg) no-repeat 6px top;
width: 30px;
height: 35px;
opacity: 0.8;
cursor: pointer;
}
.slider-ctrl-prev {
left: 0;
}
.slider-ctrl-next {
right: 0;
background-position: -6px -44px;
}
/*css */
자,이제 우리 의 정적 효 과 는 이미 구축 되 었 습 니 다.우리 가 필요 로 하 는 기능 js 를 실현 하려 면 우리 의 핵심 입 니 다.다음 에 우 리 는 원생 코드 로 그것 을 실현 하 겠 습 니 다.관건 적 인 기술 1:우리 의 윤 방 도 는 움 직 여야 한다.타이머 가 현재 자동 으로 굴 러 가 는 효 과 를 이용 하여 그림 의 전환 은 레이 어드 와 관련 되 고 마지막 으로 우 리 는 브 라 우 저의 호 환 문 제 를 고려한다!
이렇게 하 는 것 이 우리 js 의 첫걸음 이다.등등,거의 모든 라운드 방송 이 이러한 효 과 를 실현 해 야 하기 때문에,만약 우리 가 다시 하나의 패 키 지 를 만 들 수 있다 면,수시로 호출 할 수 있다 면,그것 은 너무 완벽 한 것 이 아 닙 니까?
그래,우 리 는 이렇게 해 야 해!
나 는 여기 서 animate 라 는 함 수 를 봉 했다.함수 봉 인 된 후에 우 리 는 호출 만 하면 실현 할 수 있다.
// , !
// animate !obj ,json json ,fn !
function animate(obj,json,fn)
{
clearInterval(obj.timer);// , !
// !
obj.timer = setInterval(function()
{
var flag = true; // !
//for in , json !
for(var attr in json){
var current = 0;
// , !
if(attr == "opacity")
{
current = parseInt(getStyle(obj,attr)*100);
}
else
{
current = parseInt(getStyle(obj,attr));
}
// !
var step = ( json[attr] - current) / 10;
step = step > 0 ? Math.ceil(step) : Math.floor(step);
// !
if(attr == "opacity")
{ //in , , true!
// opacity !
if("opacity" in obj.style)
{
// ,
obj.style.opacity = (current + step) /100;
}
else
{
// , !
obj.style.filter = "alpha(opacity = "+(current + step)+")";
}
}
// !
else if(attr == "zIndex")
{
obj.style.zIndex = json[attr];
}
else
{
obj.style[attr] = current + step + "px" ;
}
// !
if(current != json[attr])
{
flag = false;
}
}
if(flag)
{
clearInterval(obj.timer);
// !
if(fn)
{
fn();
}
}
},5)
}
// !
function getStyle(obj,attr) {
if(obj.currentStyle)
{
return obj.currentStyle[attr];
}
else
{
return window.getComputedStyle(obj,null)[attr];
}
}
// !
핵심 기술 2:animate 의 패 키 징 함수 가 있어 서 우 리 를 위해 많은 힘 을 절약 했다.그러나 우 리 는 사용 하지 않 는 요구 에 직면 하여다른 효과 가 있 군요.구체 적 인 효 과 를 실현 하 겠 습 니 다!
1.우 리 는 js 의 예로부터 변 하지 않 은 첫 번 째 단 계 를 사용 합 니 다.필요 한 모든 요 소 를 얻 는 것 이 바로 DOM 의 작업 입 니 다.
2.for 순환 을 하고 모든 그림 내용 을 옮 겨 다 니 기 시작 합 니 다.
3.옮 겨 다 니 기 단추:
4、setSquare 함수 설정:
5.타이머 설정:
6.마우스 가 지나 갈 때의 효과:
이상 의 js 네 이 티 브 코드 가 윤 방 도 를 실현 하 는 사례 설명 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 여러분 들 이 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
원본 javaScript에서 그림 시간 지연 로드를 실현하는 방법본고는 원생javaScript가 그림의 시간 지연을 실현하여 불러오는 방법을 실례로 기술하였다.그림 시간 지연 불러오는 것은 사실 jquery 플러그인이 있고 불러오는 방법이 매우 간단하고 합리적이지만 jquery ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.