테스트 사이트 - 개발 중인 베타 버전입니다

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

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

 

이미지원본

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개

@그누아치 

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

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

이쁩니다.

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

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

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

@예뜨락 

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

좋아요 추천합니다.

@푸른산타 

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

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

@marty72 

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

@비타주리

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

공유 감사합니다.

크롬에서는 잘 되는데.

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

저만 그런지..

@파란하늘™

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

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

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

감사합니다.

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

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168