[jQuery] 실시간 검색어 순위 순서대로 보여주기
http://sir.co.kr/bbs/board.php?bo_table=tiptech&wr_id=3569
이 글을 보고 간단히 만들어봤습니다.
index.html
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>Real-time Rank</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link href="stylesheet.css" media="screen" rel="stylesheet" type="text/css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script src="application.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<dl id="rank-list">
<dt>실시간 급상승 검색어</dt>
<dd>
<ol>
<li><a href="#">1 순위</a></li>
<li><a href="#">2 순위</a></li>
<li><a href="#">3 순위</a></li>
<li><a href="#">4 순위</a></li>
<li><a href="#">5 순위</a></li>
<li><a href="#">6 순위</a></li>
<li><a href="#">7 순위</a></li>
<li><a href="#">8 순위</a></li>
<li><a href="#">9 순위</a></li>
<li><a href="#">10 순위</a></li>
</ol>
</dd>
</dl>
</div>
</body>
</html>
stylesheet.css
body {
font-size: 12px;
background: #FFF;
color: #333;
margin: 0;
}
#content {
margin: 20px;
padding: 10px;
background: #393;
}
#rank-list a {
color: #FFF;
text-decoration: none;
}
#rank-list a:hover {
text-decoration: underline;
}
#rank-list {
overflow: hidden;
width: 160px;
height: 20px;
margin: 0;
}
#rank-list dt {
display: none;
}
#rank-list dd {
position: relative;
margin: 0;
}
#rank-list ol {
position: absolute;
top: 0;
left: 0;
margin: 0;
padding: 0;
list-style-type: none;
}
#rank-list li {
height: 20px;
line-height: 20px;
}
application.js
$(function() {
var count = $('#rank-list li').length;
var height = $('#rank-list li').height();
function step(index) {
$('#rank-list ol').delay(2000).animate({
top: -height * index,
}, 500, function() {
step((index + 1) % count);
});
}
step(1);
});
이 글을 보고 간단히 만들어봤습니다.
index.html
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>Real-time Rank</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link href="stylesheet.css" media="screen" rel="stylesheet" type="text/css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script src="application.js" type="text/javascript"></script>
</head>
<body>
<div id="content">
<dl id="rank-list">
<dt>실시간 급상승 검색어</dt>
<dd>
<ol>
<li><a href="#">1 순위</a></li>
<li><a href="#">2 순위</a></li>
<li><a href="#">3 순위</a></li>
<li><a href="#">4 순위</a></li>
<li><a href="#">5 순위</a></li>
<li><a href="#">6 순위</a></li>
<li><a href="#">7 순위</a></li>
<li><a href="#">8 순위</a></li>
<li><a href="#">9 순위</a></li>
<li><a href="#">10 순위</a></li>
</ol>
</dd>
</dl>
</div>
</body>
</html>
stylesheet.css
body {
font-size: 12px;
background: #FFF;
color: #333;
margin: 0;
}
#content {
margin: 20px;
padding: 10px;
background: #393;
}
#rank-list a {
color: #FFF;
text-decoration: none;
}
#rank-list a:hover {
text-decoration: underline;
}
#rank-list {
overflow: hidden;
width: 160px;
height: 20px;
margin: 0;
}
#rank-list dt {
display: none;
}
#rank-list dd {
position: relative;
margin: 0;
}
#rank-list ol {
position: absolute;
top: 0;
left: 0;
margin: 0;
padding: 0;
list-style-type: none;
}
#rank-list li {
height: 20px;
line-height: 20px;
}
application.js
$(function() {
var count = $('#rank-list li').length;
var height = $('#rank-list li').height();
function step(index) {
$('#rank-list ol').delay(2000).animate({
top: -height * index,
}, 500, function() {
step((index + 1) % count);
});
}
step(1);
});
댓글 8개
14년 전
올리고 보니 쓸데없는 재귀가 쓰였군요. 바보 같은 코드인데...
window.setInterval로 처리하시는 게 훨씬 안전할 것 같습니다.
window.setInterval로 처리하시는 게 훨씬 안전할 것 같습니다.
14년 전
생각해 보면 animate가 interval을 쓰기 때문에 그냥 저 코드 그대로 가도 되는군요.
혼자 뭐하는 거지 (...)
혼자 뭐하는 거지 (...)
14년 전
혹 네이버,다음,네이트 실시간 검색어 XML 필요하시면
http://bangabmoa.com/api/hitkeyword.php?type=xml
활용하세요.
http://bangabmoa.com/api/hitkeyword.php?type=xml
활용하세요.
14년 전
upcount 말고 downcount가 있는지는 모르겠지만, 일단 upcount가 항상 있다는 가정 하에 적용해봤습니다.
[application.js]
$(function() {
function animateRankList() {
var count = $('#rank-list li').length;
var height = $('#rank-list li').height();
function step(index) {
$('#rank-list ol').delay(2000).animate({
top: -height * index,
}, 500, function() {
step((index + 1) % count);
});
}
step(1);
}
window.yqlCallback = function(data) {
$(data.query.results.channel.data.naver.item).each(function(index, item) {
var text = item.rank + ' - ' + item.keyword + ' [' + item.upcount + ']';
$('#rank-list li a').eq(index).text(text);
});
animateRankList();
}
$('#rank-list li a').text('');
var url = 'http://bangabmoa.com/api/hitkeyword.php?type=xml';
var yql = 'SELECT * FROM xml WHERE url="' + url + '"';
$.ajax({
url: 'http://query.yahooapis.com/v1/public/yql?q=' + yql +
'&format=json&callback=yqlCallback',
dataType: 'script'
});
});
[application.js]
$(function() {
function animateRankList() {
var count = $('#rank-list li').length;
var height = $('#rank-list li').height();
function step(index) {
$('#rank-list ol').delay(2000).animate({
top: -height * index,
}, 500, function() {
step((index + 1) % count);
});
}
step(1);
}
window.yqlCallback = function(data) {
$(data.query.results.channel.data.naver.item).each(function(index, item) {
var text = item.rank + ' - ' + item.keyword + ' [' + item.upcount + ']';
$('#rank-list li a').eq(index).text(text);
});
animateRankList();
}
$('#rank-list li a').text('');
var url = 'http://bangabmoa.com/api/hitkeyword.php?type=xml';
var yql = 'SELECT * FROM xml WHERE url="' + url + '"';
$.ajax({
url: 'http://query.yahooapis.com/v1/public/yql?q=' + yql +
'&format=json&callback=yqlCallback',
dataType: 'script'
});
});
14년 전
댓글에선 들여쓰기가 하나도 적용 안 되네요.
http://www.google.co.kr/search?q=JavaScript+Beautifier
맘에 드시는 JavaScript Beautifier를 골라 잡아서 돌려주시면 들여쓰기가 깔끔히 적용된 코드를 보실 수 있을 겁니다.
http://www.google.co.kr/search?q=JavaScript+Beautifier
맘에 드시는 JavaScript Beautifier를 골라 잡아서 돌려주시면 들여쓰기가 깔끔히 적용된 코드를 보실 수 있을 겁니다.
행복한남자
14년 전
http://jsbeautifier.org/
좋네요~ㅋ 감사합니다.
좋네요~ㅋ 감사합니다.
14년 전
이거 여러 부분에서 유용하겠네요
나스디자인
14년 전
오호~감사합니다
게시글 목록
| 번호 | 제목 |
|---|---|
| 15265 |
Mobile
맥부기카페
|
| 26093 | |
| 15262 |
Mobile
하이브리드앱 공부를 위한 추천책
2
|
| 3437 | |
| 15257 |
node.js
노드에 관심이 가기 시작했습니다.~~
4
|
| 3429 | |
| 15256 | |
| 15252 | |
| 15251 | |
| 15250 | |
| 15246 |
PHP
php로 이미지 흑백효과
3
|
| 15242 |
jQuery
jQuery 1.7 Cheat Sheet
3
|
| 3425 | |
| 3418 | |
| 15236 | |
| 3411 | |
| 15233 |
node.js
요즘 공부를 못하고 있습니다.
2
|
| 15229 |
jQuery
[jquery] 구글 jquery 호스팅
3
|
| 15228 |
Flash
[PODCAST]순위올리기
|
| 15226 |
node.js
node.js 설치하기
1
|
| 3399 | |
| 15224 | |
| 15217 | |
| 15195 |
jQuery
jquery 기본 예제
21
|
| 15193 | |
| 3373 | |
| 3360 | |
| 15188 | |
| 29852 | |
| 15181 |
JavaScript
윈도우 서버 사용자 - ddos
6
|
| 15159 | |
| 3350 | |
| 15158 | |
| 15157 | |
| 15152 |
node.js
nodejs, npm 설치시 오류 해결
4
|
| 15150 |
JavaScript
Bing 번역 API
1
|
| 3334 | |
| 15144 | |
| 15140 | |
| 3331 | |
| 15136 |
JavaScript
익스플로러 버전별 테스트
3
|
| 29848 |
HTML
브라우저별 개발모드
3
|
| 15129 |
node.js
nodejs 란.. [개발자게시판 펌]
6
|
| 15107 |
jQuery
질문해도 되나요?
21
|
| 3320 | |
| 15106 | |
| 15095 | |
| 29847 |
JavaScript
Http Live Stream 에 관하여
|
| 15094 | |
| 3314 | |
| 15091 |
jQuery
jQuery Mobile Event API
2
|
| 15089 |
node.js
저도 끼어도 되나요?
1
|
| 29834 |
JavaScript
img 자체에서 이미지 없을때 안보이게 하기
12
|
| 15088 |
node.js
앗 이게 뭔일이래요..^^
|
| 3303 | |
| 15085 |
node.js
명랑폐인님 얼른 오세요.
2
|
| 15084 | |
| 26091 | |
| 15083 | |
| 15073 | |
| 15071 | |
| 3290 | |
| 24301 | |
| 15067 |
JavaScript
js css 최적화 압축
3
|
| 3285 | |
| 3270 | |
| 15064 | |
| 29829 | |
| 15062 |
JavaScript
cron을 사용할 수 없으니 이런 방법도..
1
|
| 15053 |
jQuery
jquery 스크롤바
8
|
| 3261 | |
| 3252 | |
| 3249 | |
| 15050 | |
| 3243 | |
| 15046 | |
| 24291 | |
| 24278 | |
| 3231 | |
| 15042 |
Linux
sendmail 이 느려진 경우
3
|
| 24275 | |
| 3225 | |
| 26075 | |
| 15041 |
JavaScript
MVC model 로 구축해보자
|
| 3222 | |
| 3218 | |
| 15025 |
Flash
부드러운 슬라이드 만들기
15
|
| 15024 |
기타
셀렉트 태그 자동생성
|
| 15018 |
JavaScript
리눅스에서 오라클 10g설치 때
5
|
| 29821 | |
| 15015 |
jQuery
테이블 드래그..
2
|
| 15013 | |
| 15012 |
JavaScript
c# , Application 제작시 유용하게 사용 할 수 있는 에디터
|
| 3210 | |
| 3200 | |
| 3198 | |
| 24274 | |
| 15005 |
jQuery
jQuery each 거꾸로 반환하기
6
|
| 3188 | |
| 15001 |
JavaScript
사이트를 브라우저별로 테스트 해주는 사이트.
3
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기