Dev Blog

스크립트 & 소스코드 공유

실무에서 유용하게 쓰는 스크립트와 코드 조각을 블로그 게시판으로 저장하고 공유합니다.

108건의 글

jQuery로 텍스트 가로 스크롤 마퀴(跑马灯) 만들기

jQuery로 텍스트가 오른쪽에서 왼쪽으로 흐르는 마퀴(跑马灯) 효과를 구현하고, 마우스를 올리면 일시정지하도록 만든 예제다. HTML·CSS·JS 부분으로 나누어 구성하며, 재사용할 수 있도록 함수로 캡슐화한 코드를 제공한다. jQuery 3.3.1 기준으로 작성되었다.

因需求要做一个,横向的文字从右到左的跑马灯 ,鼠标移动上去暂停,参考其他大大的跑马灯不太适用所以,自己再次封装了一个跑马灯,分享给大家也方便自己下次直接使用,我自己用的JQ版本为3.3.1(jquery-3.3.1.min.js)
先上效果图

在这里插入图片描述

代码部分为

HTML部分

<div style="padding: 0 1rem;">
<div id="container_small_tip">
<div id="content_small_tip"></div>
</div>
</div>

CSS部分

#container_small_tip{
background:#ffffff;
position:relative;
overflow:hidden;
width:100%;
height:36px;
line-height:36px;
}
#content_small_tip{
position:absolute;
left:0;
top:0;
white-space:nowrap;
color: #EBEEF7;
}

JS部分

调用方式为

var content = "自8888年8月8日起原基础强化班和原全面提升班合并升级为全面提分班,原全面提升班和原全面提升班所剩课时在升级后的全面提分班自动顺延";
$("#content_small_tip").html(content);
roll(2,"#container_small_tip","#content_small_tip");

跑马灯函数封装为

//跑马灯插件start
function roll(speed=1,fatherselect,select){
if ($(fatherselect) == null) return;
var $container = $(fatherselect);//#container_small_tip
var $content = $(select);//#content_small_tip
var init_left = $container.width();
$content.css({ left: parseInt(init_left) + "px" });
var This = this;
var time = setInterval(function () {move($container, $content, speed); }, 20);                //setInterval会改变this指向,即使加了This=this,也要用匿名函数封装

$container.bind("mouseover", function () {
clearInterval(time);
});
$container.bind("mouseout", function () {
time = setInterval(function () {move($container, $content, speed); }, 20);
});
// setTimeout(function () { $("#container").slideUp(); }, 30000);  //毫秒单位,显示30s后消失
return this;
};
function move($container, $content, speed){
var container_width = $container.width();
var content_width = $content.width();
if (parseInt($content.css("left")) + content_width > 0) {
$content.css({ left: parseInt($content.css("left")) - speed + "px" });
$content.css({color:"#02A0E9"})//改变字体颜色
}
else {
$content.css({ left: parseInt(container_width) + "px" });
$content.css({color:"#02A0E9"})//改变字体颜色
}
}
//跑马灯插件end

inline-block 요소에 배경 스타일 예쁘게 적용하기

inline-block 요소에 배경 스타일을 예쁘게 적용하는 방법을 보여주는 CodePen 예제다. display: inline-block 요소에 배경색·패딩·테두리 반경·그림자를 조합해 탭·버튼·뱃지처럼 보이도록 꾸미며, 요소 사이 간격과 수직 정렬까지 함께 다루는 예시를 제공한다.

See the Pen Untitled by H J (@H-J-the-typescripter) on CodePen.

네이버 검색에 SNS 링크 노출하기 - schema.org structured data

네이버 검색 결과에 블로그·페이스북·인스타그램 등 SNS 링크가 표시되도록 schema.org 구조화 데이터를 적용하는 방법이다. application/ld+json의 Person 타입과 itemscope 마크업에 sameAs 속성으로 각 SNS URL을 연결하는 예제 코드를 제공한다.

<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Person",
"name": "<?php echo $config['cf_title'] ?>",
"url": "<?php echo G5_URL ?>",
"sameAs": [
"https://blog.naver.com/curlysuemom",
"https://www.facebook.com/hansaedreams",
"https://www.instagram.com/curlysue_korea"
]
}
</script>
</head>
<body>
<span itemscope="" itemtype="http://schema.org/Organization">
<link itemprop="url" href="<?php echo G5_URL ?>">
<a itemprop="sameAs" href="https://blog.naver.com/curlysuemom"></a>
<a itemprop="sameAs" href="https://www.facebook.com/hansaedreams"></a>
<a itemprop="sameAs" href="https://www.instagram.com/curlysue_korea"></a>
</span>

그누보드 메일이 발송되지 않을 때 - SMTP 설정 방법

그누보드에서 메일이 정상적으로 발송되지 않을 때 네이버 SMTP로 보내는 설정 방법이다. /lib/mailer.lib.php에서 G5_SMTP 관련 부분을 주석 처리하고, $mail->IsSMTP(), SMTPSecure = "ssl", Host = smtp.naver.com, Port = 465, 네이버 계정의 Username과 Password를 직접 입력한다. 네이버 메일의 POP3/IMAP 설정 안내에서 값을 확인할 수 있다.

닷X 무료 호스팅과 네이버 SMTP를 기준으로 테스트한 것입니다.
우선 /lib/mailer.lib.php 파일을 여신 후에

/*
if (defined('G5_SMTP') && G5_SMTP) {
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = G5_SMTP; // SMTP server
if(defined('G5_SMTP_PORT') && G5_SMTP_PORT)
$mail->Port = G5_SMTP_PORT;
}
*/

이렇게 된 부분이 있습니다.
주석으로 막으셔도 되고 위에 써 있는 상수(config.php)를 직접 수정하셔도 됩니다.
계정 정보를 입력해야 하고 ssl, auth 이런 것들 때문에 저는 주석으로 막고 이 파일을 그냥 수정했습니다.

아래 부분을 주석으로 막은 바로 밑에 붙여 넣으시면 됩니다.

$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->SMTPSecure = "ssl";
$mail->SMTPAuth = true;
$mail->Host = "smtp.naver.com";
$mail->Port = 465;
$mail->Username = "naver id";
$mail->Password = "naver password";

//여기에서 수정하셔야 할 것은

$mail->Host = "smtp.naver.com";
$mail->Port = 465;
$mail->Username = "naver id";
$mail->Password = "naver password";

이 네 가집니다.

위 값은 SMTP를 제공해 주는 메일 계정에 보면 다 나옵니다.
네이버를 기준으로 하였으니 네이버 메일로 접속하신 후 좌측 하단에 보면 '외부메일 가져오기'라고 된 부분이 있습니다.
클릭하신 후에 POP3/IMAP 설정을 들어가세요.
그러면 가장 하단에 '메일 프로그램 환경 설정 안내' 부분이 있습니다.
여기에 있는 정보를 그대로 위 네 가지에 넣어 주시면 됩니다.

그리고 나서 실행해 보세요.

혹시 몰라 mailer.lib.php 파일 첨부합니다.

mailer("테스트", "보내는 사람", "받는 사람", "대출 문의", "내용입니다.");
실제로 위 함수를 실행할 때 보내는 사람 메일 주소는 smtp 계정에서 사용하는 메일 주소를 넣으셔야 합니다.
예를 들어서 나는 개인정보보호를 위한 이메일주소 노출방지 으로 해야만 발송이 된다는 겁니다.

CSS 애니메이션 예제 - 요소 움직임·전환 효과

CSS 애니메이션으로 요소를 부드럽게 움직이고 전환 효과를 주는 예제를 보여주는 CodePen 데모다. @keyframes로 위치·크기·색상 등의 변화를 정의하고 transition을 함께 사용해 자연스러운 모션을 구현한다. 버튼·배너·배경 등에 바로 적용할 수 있는 스타일이며 duration과 easing 조절 방법도 함께 확인할 수 있다.

See the Pen Untitled by H J (@H-J-the-typescripter) on CodePen.



Let's create something great together.

프로젝트 문의 및 견적 요청은 언제든 환영합니다.