Ng-lazyload-image: defaultImage์™€ lazyLoad๊ฐ„์— ์ „ํ™˜ ํšจ๊ณผ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์— ๋งŒ๋“  2018๋…„ 01์›” 26์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: tjoskar/ng-lazyload-image

์•ˆ๋…• tjoskar. ์ด ํ›Œ๋ฅญํ•œ ๋„์„œ๊ด€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! defaultImage์™€ ์ง€์—ฐ๋กœ๋“œ ๋œ ์ด๋ฏธ์ง€ ์‚ฌ์ด์— ์ „ํ™˜ ํšจ๊ณผ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ๋ฌป๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋ฏธ๋ฆฌ ๋„์™€ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š” @ AndreasSchmid1 , ์นœ์ ˆํ•œ ๋ง์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€์— ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

img.ng-lazyloaded {
  animation: fadein .5s;
}
<strong i="8">@keyframes</strong> fadein {
  from { opacity: 0; }
  to   { opacity: 1; }
}

(์˜ˆ์ œ ํŽ˜์ด์ง€์˜ "๊ธฐ๋ณธ ์ด๋ฏธ์ง€"์ฐธ์กฐ : https://tjoskar.github.io/ng-lazyload-image)

๊ธฐ๋ณธ ์ด๋ฏธ์ง€๊ฐ€์žˆ๋Š” ์ด๋ฏธ์ง€์™€ ์ง€์—ฐ๋กœ๋“œ ๋œ ์ด๋ฏธ์ง€๊ฐ€์žˆ๋Š” ์ด๋ฏธ์ง€, ๋‘ ๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ ์ด๋ฏธ์ง€๊ฐ„์— ์ „ํ™˜์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ. https://github.com/tjoskar/ng-lazyload-image/blob/master/example/pixelated-image.component.ts (์˜ˆ์ œ ํŽ˜์ด์ง€์˜ "ํ”ฝ์…€ ํ™” ๋œ ์ด๋ฏธ์ง€"์ฐธ์กฐ : https://tjoskar.github.io/ ng-lazyload-image)
์•„์‹œ๋‹ค์‹œํ”ผ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์†๋„๋ฅผ ๋Šฆ์ถ”๋ฉด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋” ์ž˜ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (https://developers.google.com/web/tools/chrome-devtools/inspect-styles/animations).

background-image ์— ์ „ํ™˜์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

#image {
  height: 250px;
  width: 500px;
  transition: background-image 1s ease-out;
}
md5-a293a4af2fed33e82fce83f3f4407a8e


์˜ˆ์ œ (ng-lazyload-image๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ)๋Š”์ด ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. http://jsfiddle.net/8L7775fa/4/

๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.

๋ชจ๋“  3 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š” @ AndreasSchmid1 , ์นœ์ ˆํ•œ ๋ง์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€์— ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

img.ng-lazyloaded {
  animation: fadein .5s;
}
<strong i="8">@keyframes</strong> fadein {
  from { opacity: 0; }
  to   { opacity: 1; }
}

(์˜ˆ์ œ ํŽ˜์ด์ง€์˜ "๊ธฐ๋ณธ ์ด๋ฏธ์ง€"์ฐธ์กฐ : https://tjoskar.github.io/ng-lazyload-image)

๊ธฐ๋ณธ ์ด๋ฏธ์ง€๊ฐ€์žˆ๋Š” ์ด๋ฏธ์ง€์™€ ์ง€์—ฐ๋กœ๋“œ ๋œ ์ด๋ฏธ์ง€๊ฐ€์žˆ๋Š” ์ด๋ฏธ์ง€, ๋‘ ๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ ์ด๋ฏธ์ง€๊ฐ„์— ์ „ํ™˜์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ. https://github.com/tjoskar/ng-lazyload-image/blob/master/example/pixelated-image.component.ts (์˜ˆ์ œ ํŽ˜์ด์ง€์˜ "ํ”ฝ์…€ ํ™” ๋œ ์ด๋ฏธ์ง€"์ฐธ์กฐ : https://tjoskar.github.io/ ng-lazyload-image)
์•„์‹œ๋‹ค์‹œํ”ผ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์†๋„๋ฅผ ๋Šฆ์ถ”๋ฉด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋” ์ž˜ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (https://developers.google.com/web/tools/chrome-devtools/inspect-styles/animations).

background-image ์— ์ „ํ™˜์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

#image {
  height: 250px;
  width: 500px;
  transition: background-image 1s ease-out;
}
md5-a293a4af2fed33e82fce83f3f4407a8e


์˜ˆ์ œ (ng-lazyload-image๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ)๋Š”์ด ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. http://jsfiddle.net/8L7775fa/4/

๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.

์•ˆ๋…•ํ•˜์„ธ์š”,
angular 5์—์„œ ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœ ์ค‘์ด๋ฉฐ ์•„๋ž˜์˜ html ํŽ˜์ด์ง€์—์„œ ngx bootstrap carousel ๋ฐ ng-lazyload-image๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ๋กœ๋“œ๋˜์–ด ์‹ค์ œ ์ด๋ฏธ์ง€๊ฐ€ ์‹ค์ œ๋กœ๋กœ๋“œ๋˜๊ธฐ ์ „์— ์Šคํ”ผ๋„ˆ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ๋ฌธ์ œ๋Š” ์ง๋ฉด์€ ๋‚ด ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋„ ๋‚ด ํšŒ์ „ ๋ชฉ๋งˆ ํฌ๊ธฐ์— ๋”ฐ๋ผ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์•„๋ž˜๋Š” ๋‚ด ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค .------------------------

[lazyLoad] = "image.carousel_image_key"
[offset] = "์˜คํ”„์…‹">

defaultImage๋Š” ์‹ค์ œ ์ด๋ฏธ์ง€๊ฐ€๋กœ๋“œ ๋  ๋•Œ๊นŒ์ง€ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘œ์‹œํ•˜๋ ค๋Š” ์Šคํ”ผ๋„ˆ gif ์ด๋ฏธ์ง€ (๋‚ด ๊ตฌ์„ฑ ์š”์†Œ์—์„œ ๊ฐ€์ ธ์˜ด)์ž…๋‹ˆ๋‹ค ([lazyLoad] = "image.carousel_image_key"). ์•„๋ž˜์—์„œ ์บ ๋Ÿฌ์…€์˜ ํฌ๊ธฐ๋ฅผ ๊ณ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด CSS

mainCarouselImgLayout {

๋””์Šคํ”Œ๋ ˆ์ด : ๋ธ”๋ก;
๋„ˆ๋น„ : 100 %;
๋†’์ด : 400px
}
์ด ๊ฐ™์€ CSS๊ฐ€ ์Šคํ”ผ๋„ˆ ์ด๋ฏธ์ง€์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์€ ์Šคํ”ผ๋„ˆ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๊ณ  ํšŒ์ „์‹ ์ด๋ฏธ์ง€ ๋†’์ด ๋งŒ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ์Šคํ”ผ๋„ˆ ์ด๋ฏธ์ง€๊ฐ€ ๋งค์šฐ ํฌ๊ณ  ์™œ๊ณก๋˜์–ด ๋ณด์ž…๋‹ˆ๋‹ค.

@chandrasachin soution์„ ์ฐพ์•˜์Šต๋‹ˆ๊นŒ?
๋‚ด ์Šคํ”ผ๋„ˆ ํฌ๊ธฐ๊ฐ€ ๋‚ด ์ด๋ฏธ์ง€๋ณด๋‹ค ์นด๋“œ์—์„œ ์ •๋ง ํฝ๋‹ˆ๋‹ค. ์Šคํ”ผ๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋” ์ž‘์€ ํฌ๊ธฐ๋กœ ์กฐ์ •ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰