js 물결이미지 게시글 적용하기

· 2023-11-21 (화) 11:34:22 · 4339 · 17

제가 돈도 안 되는 뻘짓거리를 좀 하였습니다.^^

 

이미지원본

https://blog.kakaocdn.net/dn/bUcoy1/btsAp4mmsHN/3Pjd5MNCevGG0E59T8xFtK/img.png

https://blog.kakaocdn.net/dn/cPRKD0/btsAp0ddADF/9Bvig4SHHuVAMQoImyjhbk/img.png

 

----------

 

아래코드를 view.skin.php 의 하단이나 view.tail.skin.php 에 입력합니다.

 

[code]

<script>
function waveLineHeight() {
    if (typeof document.querySelectorAll(".wave-line-height")[0] == "object") {
        document.write(`
            <style>
            .wave-line-height { position:relative; overflow:hidden; margin:0 auto; }
            .wave-line-height img { display:block; width:100%; }
            .wave-line-height img:nth-of-type(2) { position:absolute; top:-1px; -webkit-mask-size:100% 80px; mask-size:100% 80px; }
            </style>
        `);
        waveLineHeightMode = [[0, 0, 40], [0, 10, 50], [0, 20, 60], [0, 30, 70], [0, 40, 80], [10, 50, 80], [20, 60, 80], [30, 70, 80]];
        function waveLineHeightFunctipon(...wave_line_height) {
            wave_line_height[0].style.WebkitMaskImage = wave_line_height[0].style.maskImage = "linear-gradient(0deg, transparent " + waveLineHeightMode[wave_line_height[1]][0] + "px, #000000 " + waveLineHeightMode[wave_line_height[1]][0] + "px " + waveLineHeightMode[wave_line_height[1]][1] + "px, transparent " + waveLineHeightMode[wave_line_height[1]][1] + "px " + waveLineHeightMode[wave_line_height[1]][2] + "px, #000000 " + waveLineHeightMode[wave_line_height[1]][2] + "px)";
        }
        waveLineHeightNumber = 0;
        for (wlh of document.querySelectorAll(".wave-line-height")) {
            wlh.insertAdjacentHTML("beforeend", "<img src='" + wlh.querySelectorAll("img")[0].src + "'>");
            waveLineHeightFunctipon(wlh.querySelectorAll("img")[1], waveLineHeightNumber);
        }
        setInterval(() => {
            waveLineHeightNumber = (waveLineHeightNumber + 1) % 8;
            for (wlh of document.querySelectorAll(".wave-line-height")) waveLineHeightFunctipon(wlh.querySelectorAll("img")[1], waveLineHeightNumber);
        }, 40);
    }
}
waveLineHeight();
</script>

[/code]

 

----------

 

게시글의 HTML 모드에서 아래의 코드를 입력하면 자동으로 물결이미지가 만들어 집니다.^^

 

<div class="wave-line-height" style="max-width:이미지가로픽셀px"><img src="이미지경로"></div>

 

이미지는 동일한 패턴으로 몇개를 넣어도 상관 없습니다.

|

댓글 17개

2023-11-21 (화) 11:45:07

신기합니다.

2023-11-21 (화) 12:03:43

@그누아치 

사실 이건 예전 플래시 액션 스크립트로 만든 효과입니다.

자바스크립트는 플래시와는 달리 타임라인이 없어서 다 셋인터벌 처리해야 해서 그게 좀 성가시지요. 플래시는 온엔터프레임이라는 거저 먹는 이벤트가 있으니까요.

2023-11-21 (화) 16:16:29

이쁩니다.

2023-11-21 (화) 17:06:23

@고원에서온망고 감사합니다.

난로 켰네요

2023-11-21 (화) 17:06:42

@빠왕 진짜 훈훈한 이미지입니다

역시 비타주리님 소스는 멋집니다 ^^

2023-11-22 (수) 09:24:06

@예뜨락 

쓸데없이 코드를 돌리는게 있을 지 싶어서 조금 전에 스크립트에 이프문을 하나 감았습니다.ㅋ

좋아요 추천합니다.

2023-11-22 (수) 11:18:17

@푸른산타 

사용할 일이 있을지나 모르겠네요.ㅋ

공유 감사드립니다. 추천꾹!!!

2023-11-22 (수) 12:13:41

@marty72 

호기심이 다망이라 만들때마다 하나씩 올릴게요.

@비타주리

감사와 감탄과 추천을 함께 드립니다 ^^ 

2023-11-23 (목) 10:52:52

공유 감사합니다.

크롬에서는 잘 되는데.

마이크로소프트 엣지에서는 되다가 에러나네요.

저만 그런지..

2023-11-23 (목) 14:01:00

@파란하늘™

어 이상하네요. 저는 잘 보이는데.

안 된다면 그냥 포토샵에서 만드세요. 클리핑 마스크 원리만 알면 30분 정도면 psd 를 만들 수 있어요. psd 를 하나 만들어 놓으면 그 다음부터는 단순 거저먹기 대입입니다.

파일은 gif 나 mp4 로 빼면 되구요.

2023-11-23 (목) 15:35:25

감사합니다.

컴퓨터가 이상한지 다른 컴퓨터에서 해 보겠습니다.

감사합니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
24-01-15 조회 3,605
24-01-14 조회 3,196
24-01-12 조회 3,031
24-01-01 조회 3,861
23-12-25 조회 3,294
23-12-24 조회 3,830
23-12-20 조회 2,992
23-12-19 조회 3,816
23-12-18 조회 2,570
23-12-15 조회 3,431
23-12-08 조회 3,202
23-12-05 조회 4,534
23-12-01 조회 3,386
23-11-26 조회 3,811
23-11-21 조회 4,340
23-11-20 조회 4,294
23-11-19 조회 3,313
23-11-16 조회 3,406
23-11-15 조회 3,233
23-11-15 조회 3,149
23-11-12 조회 4,272
23-11-09 조회 4,416
23-11-02 조회 3,375
23-11-02 조회 3,028
23-10-30 조회 3,587
23-10-23 조회 4,285
23-10-18 조회 3,428
23-10-17 조회 2,963
23-10-07 조회 4,514
23-10-04 조회 3,003