Phan Nhật Chánh - Official website: JQuery
Phan Nhật Chánh - Official website

Sticky Navigation

   Apr 20, 2015   
<script type="javascript">
(function($) {
var $window = $(window),
$nav = $('nav'),
offset = $nav.offset().top;
$window.on("scroll", function() {
if (offset < $(this).scrollTop()) {
$nav.addClass('fixed');
} else {
$nav.removeClass('fixed');
}
});
})(jQuery);
</script>

Demo

Định dạng và Hiển thị ngày tháng Blogspot với Timeago: a jQuery plugin

   Apr 11, 2015   
Nếu bạn không muốn hiển thị định dạng ngày tháng như mặt định khi xuất bản các bài viết khi sử dụng blogspot (Ví dụ: Ngày 05 tháng 02 năm 2015), mà muốn nó hiển thị với dạng: 1 giây trước, 2 phút trước, 5 giờ trước,... mà bạn thường thấy trên các trang mxh như facebook, twitter,.. Với Timeago a jQuery Plugin bạn sẻ dễ dàng làm được điều đó một cách dể dàng. Rất đơn giản, chỉ cần làm theo các bước dưới đây
Hiển thị ngày giờ blogspot dạng timeago 1 giây trước 2 phút trước 3 ngày trước 4 tháng trước
1. Vào Blogger > Mẫu > Chỉnh sửa HTML
2. Tìm </head> hoặc </body> và thêm đoạn mã sau vào trước nó
<script src='http://code.jquery.com/jquery-latest.js'/>
<script src='https://nhatchanh.googlecode.com/svn/blogspot/timeago.js'/>
<script>
jQuery(document).ready(function($){
$("abbr.timeago").timeago()
});
</script>
3. Tiếp theo, tìm đoạn mã tương tự như đoạn dưới đây (có thể không gióng chính xác)
<h2 class='date-header'><span><data:post.dateHeader/></span></h2>
4. Thay thế nó bằng đoạn mã sau:
<abbr class="timeago" expr:title="data:post.timestampISO8601"><data:post.dateHeader/></abbr>
5. Lưu mẫu của bạn lại
6. Cuối cùng là bước quan trọng nhất, kiểm tra kết quả

Hiệu ứng hover ảnh với thuộc tính Opacity và jQuery

   Mar 2, 2015   
Hình ảnh là một trong những yếu tố hấp dẫn nhất của trang. Với việc sử dụng một số hiệu ứng mượt mà của hình ảnh sẻ làm cho trang web của bạn trong hấp dẫn hơn. Ở đây, sử dụng thuộc tính opacity kết hợp với jQuery.
Hiệu ứng Hover hình ảnh sử dụng thuộc tính opacity trong CSS3
Ban đầu hình ảnh được tải lên với opacity 0.5
Tiếp theo sử dụng sự kiên hover, thay đổi độ trong suốt lên 1.0 khi mouseover và 0.5 khi mouseout
jQuery code:
$(document).ready(function() {
$("#HoverEffect").css("opacity", 0.5);
$("#HoverEffect").hover(function() {
$(this).animate({opacity: 1.0}, 500);
}, function() {
$(this).animate({opacity: 0.5}, 500);
});
});
Sử dụng bằng cách thêm id="HoverEffect" vào thẻ <img>
<img src="hinh-anh.JPG" id="HoverEffect" />

jQuery tree menu css slide up - down

   Feb 24, 2015   
tree_menu.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jquery tree menu css slide up down</title>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js'></script>
<script type="text/javascript">
$(function(){
$('#tree-menu > li > a').click(function(){
var next = $(this).next();
if(next.is(':visible')){
next.slideUp(300);
$(this).find('span').html('+');
}else{
next.slideDown(300);
$(this).find('span').html('-');
}
});
});
</script>

<style type="text/css">
body { font:12px Tahoma, Geneva, sans-serif; }
#div-head-tree-menu { width:230px; padding:10px 10px 10px 10px; text-align:center; background-color:#ddd; border:1px solid #ccc; border-bottom:5px solid #a8bfd7; }
#div-tree-menu { padding-left:20px; padding-bottom:10px; width:230px; background-color:#eee; overflow:hidden; border:1px solid #aaa; border-top:1px solid #FFF; }

#tree-menu { width:200px; float:left; margin:0; padding:0; margin-top:-1px;}
#tree-menu ul { margin:0; padding:8px; }
#tree-menu li { list-style:none; padding:8px; margin:0; }

#menu-lv1 { display:none; }
#menu-lv2 { display:none; }
#menu-lv3 { display:none; }
#menu-lv4 { display:none; }

a:link { text-decoration: none; color: #00F; }
a:visited { text-decoration: none; color: #0CF; }
a:hover { text-decoration: none; color: #F60; }
a:active { text-decoration: none; color: #F00; }
.txt-red { color:#F00 }
</style>
</head>

<body>
<div id="div-head-tree-menu">: <a href="http://www.nhatchanh.info/2015/02/jquery-tree-menu-css-slide-up-down.html">Tree Menu</a> :</div>
<div id="div-tree-menu">
<ul id="tree-menu">
<li><a href="#"><span>+</span> menu-1</a>
<ul id="menu-lv1">
<li>&#8250; <a href="#">sub-menu-1-1</a></li>
<li>&#8250; <a href="#">sub-menu-1-2</a></li>
<li>&#8250; <a href="#">sub-menu-1-3</a></li>
<li>&#8250; <a href="#">sub-menu-1-4</a></li>
</ul>
</li>
<li><a href="#"><span>+</span> menu-2</a>
<ul id="menu-lv2">
<li>&#8250; <a href="#">sub-menu-2-1</a></li>
<li>&#8250; <a href="#">sub-menu-2-2</a></li>
<li>&#8250; <a href="#">sub-menu-2-3</a></li>
<li>&#8250; <a href="#">sub-menu-2-4</a></li>
</ul>
</li>
<li><a href="#"><span>+</span> menu-3</a>
<ul id="menu-lv3">
<li>&#8250; <a href="#">sub-menu-3-1</a></li>
<li>&#8250; <a href="#">sub-menu-3-2</a></li>
<li>&#8250; <a href="#">sub-menu-3-3</a></li>
<li>&#8250; <a href="#">sub-menu-3-4</a></li>
</ul>
</li>
<li><a href="#"><span>+</span> menu-4</a>
<ul id="menu-lv4">
<li>&#8250; <a href="#">sub-menu-4-1</a></li>
<li>&#8250; <a href="#">sub-menu-4-2</a></li>
<li>&#8250; <a href="#">sub-menu-4-3</a></li>
<li>&#8250; <a href="#">sub-menu-4-4</a></li>
</ul>
</li>
</ul>
</div>
</body>
</html>
Tạo Menu Treeview đa cấp bằng HTML và CSS

Hiển thị Tooltip bằng jQuery và CSS

   Feb 5, 2015   
Thông thường, Tooltip được sử dụng để trình bày một lượng nhỏ nội dung được ẩn đi (chủ yếu là để giải thích một cái gì đó), mà khi người dùng di chuyển con trỏ chuột qua (hoặc nhấp chuột) thì sẻ được hiển thị.
Huong dan hien thi tooltip bang jquery va css3
Hôm nay, xin chia sẽ một plugin hiển thị tooltip khá hay được tìm thấy trên google, với các tính năng chính như responsive hiển thị tốt trên thiết bị di động, bạn cũng có thể định dạng tooltip bằng các thẻ html như in đậm, in nghiêng,... Việc cài đặt  và sử dụng rất đơn giản, chỉ cần copy mã css, javascript vào template và gán thuộc tính title="nhập tooltip của bạn"rel="tooltip" vào bất kỳ thẻ nào trong mã html của bạn

CSS Tooltip

Bạn có thể xây dựng kiểu hiển thị cho riêng mình hoặc sử dụng đoạn mã css dưới đây:
/******* TOOLTIP*******/
#tooltip {
font:.9em/1.6 Tahoma,Sans-serif;
text-shadow: 0 1px rgba( 0, 0, 0, .5 );
color: #fff;
background: #000;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
border-top: 1px solid #fff;
-webkit-box-shadow: 0 3px 5px rgba( 0, 0, 0, .3 );
-moz-box-shadow: 0 3px 5px rgba( 0, 0, 0, .3 );
box-shadow: 0 3px 5px rgba( 0, 0, 0, .3 );
position: absolute;
z-index: 100;
padding: 2px 5px 2px;
}
#tooltip:after {
width: 0;
height: 0;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-top: 10px solid #333;
border-top-color: rgba( 0, 0, 0, .9 );
content: '';
position: absolute;
left: 50%;
bottom: -7px;
margin-left: -10px;
}
#tooltip.top:after {
border-top-color: transparent;
border-bottom: 10px solid #333;
border-bottom-color: rgba( 0, 0, 0, .9 );
top: -17px;
bottom: auto;
}
#tooltip.left:after {
left: 10px;
margin: 0;
}
#tooltip.right:after {
right: 10px;
left: auto;
margin: 0;
}

JavaScript Tooltip

<script>
/******* TOOLTIP*******/
$( function()
{
var targets = $( '[rel~=tooltip]' ),
target = false,
tooltip = false,
title = false;

targets.bind( 'mouseenter', function()
{
target = $( this );
tip = target.attr( 'title' );
tooltip = $( '<div id="tooltip"></div>' );

if( !tip || tip == '' )
return false;

target.removeAttr( 'title' );
tooltip.css( 'opacity', 0 )
.html( tip )
.appendTo( 'body' );

var init_tooltip = function()
{
if( $( window ).width() < tooltip.outerWidth() * 1.5 )
tooltip.css( 'max-width', $( window ).width() / 2 );
else
tooltip.css( 'max-width', 340 );

var pos_left = target.offset().left + ( target.outerWidth() / 2 ) - ( tooltip.outerWidth() / 2 ),
pos_top = target.offset().top - tooltip.outerHeight() - 17;

if( pos_left < 0 )
{
pos_left = target.offset().left + target.outerWidth() / 2 - 17;
tooltip.addClass( 'left' );
}
else
tooltip.removeClass( 'left' );

if( pos_left + tooltip.outerWidth() > $( window ).width() )
{
pos_left = target.offset().left - tooltip.outerWidth() + target.outerWidth() / 2 + 17;
tooltip.addClass( 'right' );
}
else
tooltip.removeClass( 'right' );

if( pos_top < 0 )
{
var pos_top = target.offset().top + target.outerHeight();
tooltip.addClass( 'top' );
}
else
tooltip.removeClass( 'top' );

tooltip.css( { left: pos_left, top: pos_top } )
.animate( { top: '+=10', opacity: 1 }, 50 );
};

init_tooltip();
$( window ).resize( init_tooltip );

var remove_tooltip = function()
{
tooltip.animate( { top: '-=10', opacity: 0 }, 50, function()
{
$( this ).remove();
});

target.attr( 'title', tip );
};

target.bind( 'mouseleave', remove_tooltip );
tooltip.bind( 'click', remove_tooltip );
});
});
</script>

Cách sử dụng: 

Chỉ cần thêm thuộc tính title="nội dung tooltip"rel="tooltip" vào bất kỳ thẻ html mà bạn muốn hiển thị tooltip
Ví dụ:
<abbr title="User Experience" rel="tooltip">UX</abbr>
Cách sử dụng cho blogspot
Chèn mã CSS vào trước thẻ đóng </b:skin> và đoạn Javascript vào trước thẻ </body> trong template của bạn

Lưu ý: Trong template phải khai báo thư viện jQuery
Nếu chưa có chèn đoạn mã dưới đây trước thẻ </head>
<script src='//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js'></script>

Thay đổi văn bản trong thẻ CODE thành địa chỉ liên kết

   Jan 25, 2015   
Trong ví dụ này, bạn sẽ làm cho mọi văn bản trong thẻ <code> bên trong một vùng <div> trở thành một từ khóa cho các trang kết quả tìm kiếm trên trang web của bạn

Javascript:
<script>//<![CDATA[
$(function() {
$('div.post-body').children('code').each(function() {
$(this).replaceWith(function() {
return $('<a href="http://nhatchanh.info/p/search-results.html?q=' + $(this).text() + '" target="_blank" title="Tìm từ khóa này"><code>' + $(this).html() + '</code></a>');
});
});
});
//]]></script>
HTML:
<div class="post-body">
Thủ thuật <code>Blogger</code>
</div>
Demo

Tweet mở khóa nội dung ẩn sử dụng jQuery & Twitter API

   Dec 8, 2014   
Cũng giống như facebook, chia sẻ nội dung thông qua twitter là một trong những cách tuyệt vời để thúc đẩy lượng truy cập đến blog của bạn, góp phần tăng lưu lượng truy cập đến trang blog của bạn. Tương tự như bài chia sẽ Facebook để mở khóa nội dung Ẩn bằng cách sử dụng jQuery và Facebook API hôm nay xin chia sẽ cho bạn cách làm thế nào để tạo ra một Tweet đơn giản để mở khóa nội dung ẩn bằng cách sử dụng jQuery & Twitter API. với chức năng này sẽ cho phép đọc giả chia sẻ nội dung hay một thông điệp của bạn lên twitter và sau khi chia sẻ thành công, sẻ hiển thị nội dung ẩn mà bạn muốn chia sẻ cho họ.
Hướng dẫn tweet mở khóa nội dung ẩn sử dụng jQuery & Twitter API, tweet to unlock content using jquery

- Xem Demo dưới đây:
Xem thêm: Chia sẻ lên Facebook để mở khóa nội dung được ẩn sử dụng jQuery và Facebook API
- Bước 1: Thêm đoạn javascript dưới đây template của bạn (nên đặt trước thẻ </body>)
<script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>
- Bước 2: Thêm doạn mã dưới đây vào template:
<script type="text/javascript">
twttr.events.bind(
'tweet',
function (event) {
var secret_data = "<center><strong>Nội dung cần hiển thị!</strong></center>";
jQuery("#results").html(secret_data);
}
);
</script>
Khai báo thư viện jQuery (nếu template của bạn chưa có thì paste nó sau thẻ </head>)
<script src='//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js' />
- Bước 3: Đặt đoạn mã HTML dưới đây vào bất kỳ nơi nào trong trang của bạn. Có rất nhiều kiểu hiển thị nút tweet cho bạn, xem thêm tại: https://dev.twitter.com/web/tweet-button
<div id="results">
<a class="twitter-share-button" href="https://twitter.com/share"
data-via="tv0656m006" data-text="Chia sẻ thủ thuật Blogger/Blogspot,..." data-size="medium" data-url="http://nhatchanh.info" data-count="vertical">
Tweet</a>
</div>
Thay đổi các dữ liệu:
        data-via="địa chỉ tweet của bạn"
        data-text="mô tả về blog của bạn"
        data-url="địa chỉ trang blog của bạn"

Hy vọng tiện ích này sẻ làm bạn thích, Chúc thành công!