제품제거 특수효과 제작 : 타이머, 카운트다운, 디더링 특수효과 코드
<제목>제목
.clear:after {
content: '';
display: block;
clear: 둘 다;
}
ul {
목록 스타일: 없음;
여백: 100px 자동 0;
패딩: 0;
너비: 1300px;
테두리: 1px 솔리드 #000;
}
li {
패딩: 10px;
플로트: 왼쪽;
너비: 300px;
위치: 상대;
}
li div {
text-align: center;
}
li div:nth-of-type(2) {
margin: 20px 0;
text-align: center;
}
li div:nth-of-type(2) 범위 {
패딩: 10px;
배경: #e15671;
색상: 흰색;
테두리 반경: 10px;
}
.text1 {
너비: 240px;
}
li div:nth-of-type(3) {
패딩: 20px;
}
. 상품 이름 {
줄 높이: 40px;
}
.img {
너비: 100px;
높이: 140px;
}
li .sold_out {
위치: 절대;
왼쪽: -38px;
-왼쪽: 61px;
상단: 0;
-상단: 76px;
폭: 396px;
-폭: 198px;
높이: 396px;
-높이: 198px;
불투명도: 0;
디스플레이: 없음;
z-색인: 999999;
}
li .mask {
너비: 100%;
높이: 100%;
위치: 절대;
왼쪽: 0;
상위: 0;
z-색인: 999;
배경: rgb(0,0,0 );
불투명도: 0;
디스플레이: 없음;
}
/*li .sold_out {*/
/*위치: 절대;*/
/*왼쪽: 84px;*/
/*위쪽: 134px;*/
/*너비: 132px;*/
/*높이: 132px;*/
/*}*/
.table {
margin: 30px auto 0;
width: 1300px;
}
tbody tr {
opacity: 0;
}
tbody img {
width: 50px;
height: 50px;
}
剩余:
0
0
:
0
0
:
0
0
iphone6s
抢购价:¥ 6000
剩余:
0
0
:
0
0
:
0
0
iMac
抢购价:¥ 19999
剩余:
0
0
:
0
0
:
0
0
ipod
抢购价:¥ 1000
剩余:
0
0
:
0
0
:
0
0
iWatch
抢购价:¥ 2000
商品 | 价格 | 图片 |
---|
<script></p> <p>var liElements = document.querySelectorAll('li');<br> var tbodyElements = 문서. querySelector('.table tbody');</p> <p>liElements.forEach(함수 (li) {<br> soldOut(li);<br> });</p> <p>function saleOut(li) {<br> /*<br> *以其中给一个li来做逻辑处리<br> * */<br> var buttonElement = li.querySelector('button');<br> var text1Element = li.querySelector('.text1');<br> var MaskElement = li.que rySelector('.mask');<br> varoldOutElement = li.querySelector('.sold_out');<br> var timeSpanElement = li.querySelectorAll('.timespan');</p> <p>var GoodsName = li.querySelector('.goods_name').innerHTML;<br> var productsPrice = li.querySelector ('.goods_price').innerHTML;<br> var GoodsImg = li.querySelector('.img').src;</p> <p>/*<br> * 点击按钮获取倒计时的时间<br> * */<br> buttonElement.onclick = function() { <br> var second =parseInt(text1Element.value);</p> <p>/*<br> * 把seconds变成时分秒的格式,并计算倒计时<br> * */<br> var 타이머 = setInterval(function () {<br> 초--;</p> <p> if (초 >= 0) {<br> var timeArr = second2HMS(초).split('');</p> <p>timeArr.forEach(함수 (항목, 색인) {<br> timeSpanElement[index ].innerHTML = 항목;<br> }) ;<br> } else {<br> //时间到了<br> clearInterval(타이머);<br> > <br> };<br></p>function timeOver() {<p> maskElement .style.display = 'block';<br>// maskElement.style.opacity = '0.5';</p> animation(maskElement, {<p> 불투명도: 0.5<br> }, 500);</p> <p>soldOutElement.style.display = '차단'; and 1,<br> 상위: 76,<br> 불투명도: 1<br> }, 500, 'bounceOut');<br><br>setTimeout(function () {</p> 흔들기 (li, '왼쪽', 20, 2);<p> }, 200);<br> }<br><br>/*<br> * 添加当前的商品信息到表格列表中<br> * */<br> function add2List() {<br></p> <p>tbodyElements.innerHTML += '<tr><td>'+goodsName+'</td><td>'+goodsPrice+'</td><td><img src="'+goodsImg+ '"/></td></tr>';</p> <p>var trElements = tbodyElements.querySelectorAll('tr');<br> > / console.log(trElements[trElements.length - 1]);<br>// animation(trElements[trElements.length - 1], {<br>// 불투명도: 1<br>// }, 100);<br></p>trElements.forEach( 함수(tr) {<p> animation(tr, {<br> 불투명도: 1<br> ‐ ‐ – – – – – -100); (초 % 3600 /60)); 초 % 60 ));<br><br>return H + M + S;</p> }<p><br>function addZero(v) {</p> 떨려요! " lement, attr);<p> /*<br> * 표시 + 또는 - <br> * */<br> var flag = true;<br></p>var 타이머 = setInterval(function () {<p><br>if (flag) {<br> | = OriginValue - 범위 + 'px';</p> 범위 -= 단계;<p><br>if (범위 <= 0) {</p> element.style[ attr] = OriginValue + 'px';<p> ~ 6);<br><br>}</p> <p>기능 getCss(element, attr) {<br> return parseFloat( element.currentStyle ? element.currentStyle[attr] : getCompulatedStyle(element)[attr]);<br> }<br> </script>
function animation(ele, attrs, Duration . = {};
obj[attr].b =parseFloat(getCompulatedStyle(ele)[attr]); obj[attr].c = attrs[attr] - obj[attr ].b;
}
var fx = fx || 'linear';
var callback = 콜백 || function(){};
var startTime = Date.now();
ele.timer = setInterval( 함수 () {
var t = Date.now () - startTime;
if (t>= d) {
, obj[attr].c, d);
if (attr == '불투명도') {
ele.style[attr] = value;
} else {
ele.style[attr] = value + 'px';
}
}
if (t == d) {
clearInterval(ele.timer);
ele.timer = null;
callback();
}
}, 16);
}
var Tween = {
선형: 함수 (t, b, c, d){ //균일한 속도
return c*t/d + b;
},
easeIn: 함수(t, b, c, d){ / /가속 곡선 t Return C*(t/= d)*t + b; // t/= d t/d
},
완화: 함수 (t, b, c, d) {// 감속 곡선
사용 중 through out through out out through out out out through out through out off 's ' through ‐ to ‐ ‐‐‐‐‐ ,
to d를 사용하여 -c *(t/=d)*(t-2를 반환합니다. ) + b;
},
easyBoth: function(t, b, c, d){ },
easyInStrong: function(t, b, c, d){ //저크 곡선
return c*(t/=d )*t*t*t + b;
},
easeOutStrong: function(t, b, c, d) {// 속도 곡선 감소
return -c*((t = t/d -)*t* t*t -1) + b
},
Easebothstrong: 함수 (T, B, C, C, C, C, C, C, C, C, C, C, C, C, C, d){ //가속 및 감속 곡선
> 2 * ((t-=2)*t*t*t - 2) + b;
},
elasticIn: 함수(t, b, c, d, a, p){ //정현파 붕괴 곡선(바운스 기울기)
if (t === 0) {
if (!p) {
p =d*0.3 ;
var s = p /(2 *Math.PI) * Math.asin (c/a);
} }
return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t* d-s)*( 2*Math.PI)/p )) + b;
},
elasticOut: function(t, b, c, d, a, p){ //정현파 향상 곡선(바운스 아웃)
if ( t = == 0) {
반환 b; |
a = c
var s = p / 4;
} else {
var s = p/(2*Math.PI) * Math.asin (c/a);
} }
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
},
elasticBoth: function(t, b, c, d, a, p){
사용 사용 사용 사용 사용 ' s ' 사용 ' 통해 ' 사용 ' 사용 사용 ' s ' 사용 통해 '' 통해 ‐‐‐‐‐ 2) {
Math.abs(c) ) {
a = c;
var s = p/4;
> >
}
반품 *Math.pow(2,-10*(t-=1)) *
Math.sin( (t*d-s)*(2*Math.PI)/p )*0.5 + c + b ;
},
backIn: function(t, b, c, d, s){ //뒤로 가속(되감기 페이드인)
if (typeof s == 'undefine') { s = 1.70158;
}
return c*(t/=d)*t*((s+1)*t - s) + b;
},
backOut: function(t, b, c, d, s){
if ( typeof s == '정의되지 않음') {
s = 3.70158; //멋진 설명
}
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
},
backBoth: function( t, b, c, d, s){
if (typeof s == '정의되지 않음') {
s = 1.70158;
}
if ((t /= d/2 ) < 1) {
c/반품 2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
}
return c/2*((t-=2)*t*((( s*=(1.525))+1)*t + s) + 2) + b;
},
bounceIn: function(t, b, c, d){ //弹球减振(弹球渐출)
return c - Tween['bounceOut'](d-t, 0, c, d) + b;
},
bounceOut: function(t, b, c, d){
if ((t/=d) < (1/2.75)) {
return c*(7.5625*t*t) + b;
} else if (t < (2/2.75)) {
return c*(7.5625*(t-=(1.5/ 2.75))*t + 0.75) + b;
} else if (t < (2.5/2.75)) {
return c*(7.5625*(t-=(2.25/2.75))*t + 0.9375) + b ;
}} 반환 c*(7.5625*(t- = (2.625/2.75))*t + 0.984375) + b;
},
bounceboth : function (t, b, c, d) {
if (t & lt ; d/2) {
return Tween['bounceIn'](t*2, 0, c, d) * 0.5 + b;
}
return Tween['bounceOut'](t*2-d, 0, c , d) * 0.5 + c*0.5 + b;
}
};
위 내용은 제품제거 특수효과 제작 : 타이머, 카운트다운, 디더링 특수효과 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











노래를 좋아하는 친구들에게는 데모라는 단어가 더 이상 낯설지 않지만, 한번도 접해보지 못한 많은 유저들은 데모가 무슨 뜻인지 궁금해합니다. 이제 편집자가 가져온 데모의 의미를 살펴보겠습니다. 데모는 무엇을 의미합니까? 답변: 데모 테이프. 1. Demo의 발음은 영어에서는 ['deməʊ], 미국에서는 ['demoʊ]입니다. 2. Demo는 "demonstration"의 약어로, 일반적으로 노래가 공식적으로 녹음되기 전에 듣는 사전 효과를 나타냅니다. 3. Demo는 샘플 테이프 및 샘플 레코드를 지칭하는 명사로 사용됩니다. 동사의 의미는 재판(특히 소프트웨어), 데모 및 시연입니다.

WebSocket 및 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법 소개: 지속적인 기술 개발로 음성 인식 기술은 인공 지능 분야의 중요한 부분이 되었습니다. WebSocket과 JavaScript를 기반으로 한 온라인 음성 인식 시스템은 낮은 대기 시간, 실시간, 크로스 플랫폼이라는 특징을 갖고 있으며 널리 사용되는 솔루션이 되었습니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법을 소개합니다.

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

JavaScript 및 WebSocket을 사용하여 실시간 온라인 주문 시스템을 구현하는 방법 소개: 인터넷의 대중화와 기술의 발전으로 점점 더 많은 레스토랑에서 온라인 주문 서비스를 제공하기 시작했습니다. 실시간 온라인 주문 시스템을 구현하기 위해 JavaScript 및 WebSocket 기술을 사용할 수 있습니다. WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 클라이언트와 서버 간의 실시간 양방향 통신을 실현할 수 있습니다. 실시간 온라인 주문 시스템에서는 사용자가 요리를 선택하고 주문을 하면

WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법 오늘날의 디지털 시대에는 점점 더 많은 기업과 서비스에서 온라인 예약 기능을 제공해야 합니다. 효율적인 실시간 온라인 예약 시스템을 구현하는 것이 중요합니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. WebSocket이란 무엇입니까? WebSocket은 단일 TCP 연결의 전이중 방식입니다.

JavaScript 및 WebSocket: 효율적인 실시간 일기 예보 시스템 구축 소개: 오늘날 일기 예보의 정확성은 일상 생활과 의사 결정에 매우 중요합니다. 기술이 발전함에 따라 우리는 날씨 데이터를 실시간으로 획득함으로써 보다 정확하고 신뢰할 수 있는 일기예보를 제공할 수 있습니다. 이 기사에서는 JavaScript 및 WebSocket 기술을 사용하여 효율적인 실시간 일기 예보 시스템을 구축하는 방법을 알아봅니다. 이 문서에서는 특정 코드 예제를 통해 구현 프로세스를 보여줍니다. 우리

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

사용법: JavaScript에서 insertBefore() 메서드는 DOM 트리에 새 노드를 삽입하는 데 사용됩니다. 이 방법에는 삽입할 새 노드와 참조 노드(즉, 새 노드가 삽입될 노드)라는 두 가지 매개 변수가 필요합니다.
