>웹 프론트엔드 >H5 튜토리얼 >HTML5는 애니메이션 형태로 이미지를 로드합니다. _html5 튜토리얼 기술

HTML5는 애니메이션 형태로 이미지를 로드합니다. _html5 튜토리얼 기술

WBOY
WBOY원래의
2016-05-16 15:51:481895검색

예제에서는 HTML5 캔버스 태그와 자바스크립트 스크립트를 사용하여 로딩 이미지 효과를 간단히 작성했습니다. 효과를 미리 보려면 HTML5를 지원하는 브라우저를 사용하세요.
아래 그림은 점진적인 수평 그리드 효과를 보여줍니다

html 부분:
XML/HTML 코드클립보드에 콘텐츠 복사
  1. > 
  2. <html lang="ko" > 
  3. <머리> 
  4. <메타 문자 집합="UTF- 8"> 
  5. <제목>html5 이미지 로딩 제목> 
  6. 머리> 
  7. <> 
  8. <버튼 클릭="drawImg1( )">왼쪽에서 오른쪽으로버튼>
  9. <버튼 클릭="drawImg2( )">중앙에서 좌우측으로버튼>
  10. <버튼 클릭="drawImg3( " > <시간/> 
  11. <캔버스 클래스
  12. =
  13. "캔버스" id="캔버스" 너비="600" 높이="300">캔버스>  > 
  14. html> 
  15. JavaScript 부분: XML/HTML 코드
  16. 클립보드에 콘텐츠 복사
  1. //초기화
  2. var 캔버스 = 문서.getElementById("캔버스"),
  3. 컨텍스트 = 캔버스.getContext("2d"),
  4. 이미지 = 이미지()
  5. image.src = "img/test.jpg"
  6. //왼쪽에서 오른쪽으로 로딩 방법
  7. drawImg1() 함수{
  8. var drawWidth = 0,
  9. 간격 = setInterval(function(){
  10. context.drawImage(image, 0, 0, drawWidth, image.height, 0, 0, drawWidth, image.height)
  11. drawWidth = 20
  12. if(drawWidth > canvas.width)clearInterval(간격);
  13. },100)
  14. }
  15. //중앙에서 좌우측으로 로딩방식 오픈
  16. drawImg2() 함수{
  17. var
  18. drawWidth = 0,
  19. drawLeft = 캔버스.width/2,
  20. 간격 = setInterval(function(){
  21. context.drawImage(image, drawLeft, 0, drawWidth, image.height, drawLeft, 0, drawWidth, image.height)
  22. drawWidth = 20
  23. drawLeft
  24. -= 10; if(drawLeft
  25. <
  26. 0)clearInterval(간격); },100)
  27. }
  28. //점진적 수평 그리드 로딩 방식
  29. drawImg3() 함수{
  30. var
  31. drawWidth
  32. =
  33. 0, spaceWidth
  34. =
  35. canvas.width/20, //10은 분할된 블록의 개수를 의미합니다 간격
  36. =
  37. setInterval(function(){ for(var i
  38. =
  39. 0;i<20;i ){ context.drawImage(image, i*spaceWidth, 0, drawWidth, image.height, i*spaceWidth, 0, drawWidth, image.height)
  40. }
  41. drawWidth = 5
  42. if(drawWidth
  43. > spaceWidth)clearInterval(간격);
  44. },100);
  45. }

위 내용은 HTML5에서 애니메이션 형태로 이미지를 로딩하기 위해 편집자가 소개한 내용입니다.

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