Tạo thanh menu động sử dụng jQuery

Người đăng: kiemdaigia on Thứ Hai, 22 tháng 11, 2010

Thư viện jQuery có thể giúp ích nhiều trong việc tạo ra các thanh menu cho trang web. Dưới đây là một kiểu menubar có sử dụng thư viện jQuery.

Xem Demo.

Để tạo được thanh menu như thế này, bạn thực hiện theo các bước sau đây.

1. Đặt phần code CSS và Javascript sau đây vào trước thẻ </head>
<style type='text/css'>
ul#topnav {
margin: 0px 0px;
padding: 0px;
list-style: none;
font-size: 1.1em;
clear: both;
float: left;
width: 620px;
}
ul#topnav li{
margin: 0;
padding: 0;
overflow: hidden;
float: left;
height:40px;
}
ul#topnav a, ul#topnav span {
padding: 10px 28px;
float: left;
text-decoration: none;
color: green;
clear: both;
height: 20px;
line-height: 20px;
background: #1d1d1d;
}
ul#topnav a { color: green; }
ul#topnav span { display: none;}
ul#topnav.v2 span{
background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq4josoWwerc6NDAXeMSdKyXT-7qbQwPDKRGtGJsrtBMY4Y7y5HZqYEr0HZYDUa9pE7HgFsFBdDkuyevEE9Rl6jEGCIe_50aTQSregWQt_2WkPxGxIG2GyYqR9oStrG2-tNzccJNUWkpcH/s1600/vivaverdemenu.png) repeat-x left top;}
ul#topnav.v2 a{ color: #fff;
background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq4josoWwerc6NDAXeMSdKyXT-7qbQwPDKRGtGJsrtBMY4Y7y5HZqYEr0HZYDUa9pE7HgFsFBdDkuyevEE9Rl6jEGCIe_50aTQSregWQt_2WkPxGxIG2GyYqR9oStrG2-tNzccJNUWkpcH/s1600/vivaverdemenu.png) repeat-x left bottom;
}
</style>

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js' type='text/javascript'></script>
<script type='text/javascript'>
$(document).ready(function() {
$("#topnav li").prepend("<span></span>"); //Throws an empty span tag right before the a tag

$("#topnav li").each(function() { //For each list item...
var linkText = $(this).find("a").html(); //Find the text inside of the a tag
$(this).find("span").show().html(linkText); //Add the text in the span tag
});

$("#topnav li").hover(function() { //On hover...
$(this).find("span").stop().animate({
marginTop: "-40" //Find the span tag and move it up 40 pixels
}, 250);
} , function() { //On hover out...
$(this).find("span").stop().animate({
marginTop: "0" //Move the span back to its original state (0px)
}, 250);
});

});
</script>
Những phần được đánh dấu màu đỏ là chỗ bạn có thể điều chỉnh cho phù hợp với ý thích của mình.

2. Thiết lập cấu trúc HTML như bên dưới và đặt vào giữa 2 thẻ <body>, </body>.
<ul class='v2' id='topnav'>
<li><a href='http://yourblog.blogspot.com'>Home</a></li>
<li><a href='/gioi-thieu.html'>Giới thiệu</a></li>
<li><a href='/quy-dinh.html'>Quy định</a></li>
<li><a href='/lien-he.html'>Liên hệ</a></li>
<li><a href='/dien-dan.html'>Diễn đàn</a></li>
<li><a href='/lien-ket.html'>Liên kết</a></li>
</ul>
Bạn cần thay đổi những phần được đánh dấu màu xanh theo các liên kết tương ứng.
More about

Tạo nút theo dõi Twitter kiểu chim bay

Người đăng: kiemdaigia on Chủ Nhật, 21 tháng 11, 2010

Trong một lần lướt web và nghiên cứu về Twitter, tôi phát hiện một tiện ích gọi là TripleFlap với chức năng tạo biểu tượng con chim Twitter đang bay trong trang web, mà khi bạn di chuyển con trỏ chuột lên con chim thì xuất hiện liên kết Theo dõi bạn trên Twitter và cả trang “Retweet”.

Xem demo.

Thật thú vị là tiện ích này có thể ứng dụng cho Blogger và bạn có thể hiển thị nó trong các trang bài viết.

Để làm được điều này, bạn thực hiện theo các bước sau đây:

Vào Design >> Edit HTML chọn Expand Widget Templates.

Dùng tổ hợp phím Ctrl + F tìm dòng mã <div class='post-body'> và chèn sau nó với dòng mã bên dưới (chú ý chèn sau dòng <div class='post-body'>, với một số Template là dòng <div class='post-body entry-content'>).
<b:if cond='data:blog.pageType == "item"'><script src='http://hacodeproject.googlecode.com/files/tripleflap.js' type='text/javascript'></script>
<script type='text/javascript'>
var birdSprite="http://hacodeproject.googlecode.com/files/birdspritealpha.png";
var targetElems=new Array("img","hr","table","td","div","input","textarea","button","select","ul","ol","li","h1","h2","h3","h4","p","code","object","a","b","strong","span");
var twitterAccount = "http://twitter.com/huynhatha"; //Thay tên user trên Twitter của bạn
var tweetThisText = "Huynhatha: <data:post.url/>";
tripleflapInit();
</script>
</b:if>
Bạn có thể tải về file tripleflap.js để upload lên host và sử dụng cho blog của bạn; nhớ thay tên username trên Twitter nữa nhé.

Hy vọng thủ thuật này có ích đối với Blog của bạn.
More about

Tạo chú thích (footnote) trong bài viết

Người đăng: kiemdaigia

Footnote là một chú thích nằm ở cuối một trang sách liên hệ đến một vấn đề trong đoạn văn mà thông thường sử dụng số thứ tự hoặc dấu * để đánh dấu chú thích. Khi đọc trang sách nếu bạn đến chỗ một ký hiệu chú thích thì bạn sẽ dò tìm đến phần giải thích nằm ở cuối của trang sách đó.

Trên một trang web, đặc biệt khi trình bày một bài thơ chứa nhiều điển tích, điển cố thì người ta thường dùng đến chú thích. Thật tuyệt vời khi trên Blogger cũng có thể thực hiện được điều này.

Bạn thử click chuột vào các số chú thích 1, 2 trong bài thơ dưới đây và sẽ thấy được điều đó.

Hoàng Hạc Lâu

Tích nhân[1] dĩ thừa hoàng hạc khứ,
Thử địa không dư Hoàng Hạc Lâu.
Hoàng hạc nhất khứ bất phục phản,
Bạch vân thiên tải không du du.
Tình xuyên lịch lịch Hán Dương thụ,
Phương thảo thê thê Anh Vũ[2] châu.
Nhật mộ hương quan hà xứ thị,
Yên ba giang thượng sử nhân sầu.

Để thực hiện được thủ thuật này, bạn thực hiện như sau:

Trong một bài viết, bạn cần xác định nơi đặt số chú thích và tạo mã HTML như sau:
<a href="#X1" id="refX1"><sup>[1]</sup></a>

<a href="#X2" id="refX2"><sup>[2]</sup></a>

<a href="#X3" id="refX3"><sup>[3]</sup></a>

...
Ở cuối bài viết bạn đặt phần giải thích theo thứ tự lần lượt chỉ đến các số chú thích và tạo mã HTML như sau:
1. <a href="#refX1" id="X1">Nội dung giải thích 1</a>

2. <a href="#refX2" id="X2">Nội dung giải thích 2</a>

3. <a href="#refX3" id="X3">Nội dung giải thích 3</a>

...
Tôi nghĩ rằng thủ thuật này rất hữu ích cho các blog chuyên về văn thơ. Ngoài cách trên, bạn có thể tham khảo một cách khác theo thủ thuật Liên kết đến một vị trí đặc biệt trong một trang web.

-----------------------
Chú thích
1. Tục truyền Phí Văn Vi thành tiên, thường cưỡi hạc về nghỉ ở Hoàng Hạc lâu.
2. Khu bãi bến khúc sông thuộc Vũ Xương tỉnh Hồ Bắc.
More about

Hiệu ứng trượt hình ảnh xoay vòng sử dụng jQuery

Người đăng: kiemdaigia on Thứ Sáu, 19 tháng 11, 2010

Tiny Circleslider là một plugin jQuery tạo ra hiệu ứng xoay tròn hình ảnh.


Hãy ghé qua trang nhà của tác giả hiệu ứng này để tìm hiểu thêm. Ở đây tôi xin giới thiệu cách thực hiện một trong những ví dụ minh họa cho hiệu ứng này.

Xem Demo.

1. Trước tiên, đặt phần css và js dưới đây vào trước thẻ </head>.
<style type='text/css'>
#rotatescroll{height:300px;position:relative;width:300px}
#rotatescroll .viewport{height:300px;position:relative;margin:0 auto;overflow:hidden;width:300px}
#rotatescroll .overview{ left:0;list-style:none;margin:0;padding:0;position:absolute;top:0}
#rotatescroll .overview li{ float:left;height:300px;position:relative;width:300px}
#rotatescroll .overlay{ background:transparent url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9cPx9_onLWg0f8p1_BjGaSJ48_YIC3OoERUSD83henm6JCdaFVZ_pgz9bPFOSUzyklkuF23HQMCbH2Tax50P-INCTzpW97JxFXN8lqUCSNIGQaNC47hJfHyGXbRONW9g0eN1Od6RmfFM/s0/bg-rotatescroll.png) no-repeat 0 0;height:300px;left:0;position:absolute;top:0;width:300px}
#rotatescroll .thumb{ background:transparent url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Aa4xovuPQJWIlG70ThMSGbpZd8XJyKK4Vwmr7hsWuxTGRJsFIbaNle0VCcUluSwrquRi8dsK0UALDxJaer4NlV99nnhknTR1K_8hQBlnYqA1CHIya4UjJ4U-UjewEqJMCJ3DwqSgh5g/s0/bg-thumb.png) no-repeat 0 0;cursor:pointer;height:26px;left:137px;position:absolute;top:-3px;width:26px;z-index:200}
#rotatescroll .dot{ background:transparent url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE1QFCZooncwY2FI9wsghuH0zNeEGWpOsBSOW-huhsjd80g2lgQXSTk1NBfTnIDMjylf7doCyRTmvPzs8nYBkvjdd3iPXcZ8j0V69dBFIvPQU-mQ28wQw4JYRFXya_M5IY6r8v7d3rWsE/s0/bg-dot.png) no-repeat 0 0;display:none;height:12px;left:155px;position:absolute;top:3px;width:12px;z-index:100}
#rotatescroll .dot span{ display:none}
</style>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.js' type='text/javascript'/>

<script scr='http://baijs.nl/tinycircleslider/js/jquery.tinycircleslider.min.js' type='text/javascript'/>
2. Thiết lập cấu trúc HTML như dưới đây và đặt vào phần thân trang web/blogspot.
<div id="rotatescroll">
<div class="viewport">
<ul class="overview">
<li><img src="URL_hinh 1" /></li>
<li><img src="URL_hinh 2" /></li>
<li><img src="URL_hinh 3" /></li>
<li><img src="URL_hinh4" /></li>
<li><img src="URL_hinh5" /></li>
</ul>
</div>
<div class="dot"></div>
<div class="overlay"></div>
<div class="thumb"></div>
</div>
Bạn cần đưa liên kết các hình ảnh vào cấu trúc nêu trên.

Để hiệu ứng hoạt động thì cần đặt đoạn js bên dưới vào phía sau phần HTML.

<script type="text/javascript">
$(document).ready(function(){ $('#rotatescroll').tinycircleslider(); });
</script>

Nếu muốn hiệu ứng trượt tự động thì điều chỉnh js lại như sau:

$(document).ready(function(){ $('#rotatescroll').tinycircleslider({ interval: true });
More about

Cách tạo một trang chuyên biệt cho Blogger

Người đăng: kiemdaigia on Thứ Năm, 18 tháng 11, 2010

Như các blogger đều biết kể từ khi Blogger ra đời, nếu bạn muốn tạo một trang blog thì chỉ có một cách duy nhất là tạo một bài viết (trang item). Gần đây Blogger đã thêm tính năng mới là tạo trang tĩnh (static page) với số lượng tối đa cho mỗi Blog là 10 trang. Tính năng này phần nào giúp bạn dễ dàng hơn trong việc tạo các trang About, Contact, Terms of Use, Forum,… Tuy nhiên con số 10 trang không phải là nhiều mà đôi khi bạn còn muốn nhiều hơn thế nữa.

Thông thường trong phần thân của Blogspot có hai phần chính là phần Main-wrapper/Content và phần Sidebar (đối với Template chuẩn gồm 2 cột). Đôi khi bạn muốn tạo một trang nào đó thật nổi bật với không gian thiết kế rộng để bạn tha hồ sáng tạo ý tưởng thì bạn phải dấu đi phần Sidebar và nới rộng phần Main. Để làm được như vậy bạn cần phải làm gì?

Tại Việt Nam có blogger Phan Dũng đã giới thiệu cách tạo 1 trang cho blogspot với một số thủ thuật kết hợp khá phức tạp (đối với người mới chân ước chân ráo tìm hiểu Blogger). Thủ thuật này hiệu quả tuy nhiên phải can thiệp vào Template và sử dụng tiện ích HTML/Javascript. Bạn có thể tham khảo bài viết này tại đây.

Hôm nay tôi tin giới thiệu một cách tạo trang chuyên biệt đơn giản hơn mà hiệu quả thật lớn.

Bước đầu tiên là bạn cần tạo ý tưởng cho trang chuyên biệt mà bạn muốn tạo. Cần xác định một số thành phần trên trang phải dấu đi để có diện mạo khác những trang thông thường (item). Những phần cần ẩn đi như: sidebar, ngày đăng, phần chân bài viết, nhận xét, phân trang. Ngoài ra cần định dạng chiều rộng phần Main-wrapper (trong một số Template là Content) bằng với chiều rộng của toàn bộ phần Outer-wrapper. Lấy ví dụ phần Outer-wrapper trong Template của bạn là 900px thì bạn đặt chiều rộng phần Main-wrapper ở đây là 900px. Tựu trung lại, bạn thiết lập code cho bài viết của bạn như sau:
<p>

Nội dung code cho bài viết chuyên biệt nằm ở đây

</p>
<style>#main-wrapper {width:900px;background:white} #sidebar, .post-footer, #blog-pager, #comments,.date-header {display:none;}</style>
Bạn có thể đưa phần CSS vào trong Template theo kiểu như dưới đây, đặt sau dòng ]]></b:skin>.

<b:if cond='data:blog.url == "URL_trang chuyen biet"'>
<style>#main-wrapper {width:900px;background:white} #sidebar, .post-footer, #blog-pager, #comments,.date-header {display:none;}</style>
</b:if>

Bằng cách này bạn có thể tạo nhiều trang chuyên biệt tùy ý mà không cần phải động nhiều đến Template và không cần phải tốn nhiều thời gian loay hoay với CSS, HTML…

Hy vọng bài viết này sẽ giúp nhiều cho các blogger.
More about

Loại bỏ chức năng Read more khỏi các trang tĩnh (static page)

Người đăng: kiemdaigia

Đối với Blogger thì thủ thuật tóm tắt bài viết tự động với nút Read More và ảnh đại diện là một phần quan trọng tạo nên diện mạo đẹp cho Blog của bạn. Tuy nhiên kể từ khi Blogger phát hành đặc tính tạo trang tĩnh (New Page/ static page) thì thủ thuật Read More gặp vấn đề đối với các trang tĩnh. Thông thường các trang tĩnh dùng để tạo các trang About, Contact… Khi bạn mở trang tĩnh thì nó hiển thị Read More, khi click chuột vào liên kết Read More vẫn không hiển thị toàn bộ nội dung bài viết. Để giải quyết vấn đề này thì cần phải loại bỏ chức năng Read More có ảnh đại diện ra khỏi các trang tĩnh.

Để làm được điều này, bạn thực hiện theo các bước sau đây:

1. Đăng nhập Blogger Dashboard >> Design >> Edit HTML chọn Expand Widget Templates. Dùng tổ hợp phím Ctrl + F tìm dòng mã như bên dưới.
<div class='post-body'>
<b:if cond='data:blog.pageType != "item"'>
<div expr:id='"summary" + data:post.id'><data:post.body/></div>
<script type='text/javascript'>createSummaryAndThumb("summary<data:post.id/>");
</script> <span class='rmlink' style='float:right;padding-top:20px;'><a expr:href='data:post.url'> Read more … "<data:post.title/>"</a></span>
</b:if>
<b:if cond='data:blog.pageType == "item"'><data:post.body/></b:if>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
2. Thêm đoạn mã dưới đây vào sau dòng <div class='post-body'>.

<b:if cond='data:blog.pageType == &quot;static_page&quot;'><br/>
<data:post.body/>
<b:else/>

Và thêm thẻ đóng </b:if> vào trước dòng <div style='clear: both;'/>

Toàn bộ phần mã sau khi thực hiện có dạng như sau:
<div class='post-body'>

<b:if cond='data:blog.pageType == &quot;static_page&quot;'><br/>
<data:post.body/>
<b:else/>

<b:if cond='data:blog.pageType != "item"'>

<div expr:id='"summary" + data:post.id'><data:post.body/></div>
<script type='text/javascript'>createSummaryAndThumb("summary<data:post.id/>");
</script> <span class='rmlink' style='float:right;padding-top:20px;'><a expr:href='data:post.url'> Read more … "<data:post.title/>"</a></span>

</b:if>
<b:if cond='data:blog.pageType == "item"'><data:post.body/></b:if>

</b:if>

<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
Những dòng đánh dấu màu đỏ là phần được thêm vào theo thủ thuật này.

Ý nghĩa của toàn bộ phần mã này như sau: Đối với các trang tĩnh (static page) thì hiển thị toàn bộ nội dung bài viết; không hiển thị chức năng Read more ở các trang bài viết (item) và đối với các trang bài viết (item) thì hiển thị toàn bộ nội dung bài viết. Như vậy chức năng Read more đã được loại bỏ hoàn toàn khỏi các trang tĩnh một cách triệt để.
More about

Giới thiệu Yahoo! Messenger 11 bản Beta cùng những tính năng thú vị!

Người đăng: kiemdaigia on Thứ Tư, 17 tháng 11, 2010

Vừa qua Yahoo đã chính thức ra mắt phiên bản Beta mới nhất cho chương trình chat Yahoo! Messenger của họ. Phiên bản mới đem tới người sử dụng một số tính năng thú vị, dễ dàng chia sẻ, kết nối và chơi cùng bạn bè và người thân - dù bạn đang ở bất cứ đâu trên thế giới.

YM1101

Chơi game cùng bạn bè

Với Yahoo! Messenger thì tính năng quan trọng nhất vẫn là gửi tin nhắn tức thời. Phiên bản beta mới cung cấp cho bạn nhiều cách hơn để kết nối tới mọi người. Ngoài gửi tin nhắn, chat, tạo cuộc gọi video hoặc voice, bạn còn có thể cùng mọi người chơi game ngay trong Yahoo! Messenger.

Hiện tại, mới chỉ có một số game của Zynga, Elex và OMGPOP. Tuy nhiên trong tương lai không xa, Yahoo chắc chắn sẽ tích hợp thêm nhiều game hơn nữa cho người sử dụng.

- Fishville và Mafia War của Zynga (chuẩn bị ra mắt).

- Balloono, Pool và Draw My Thing của OMGPOP.

- Happy Havest và Happy Manor của Elex

YM1102

Bạn có thể mời bạn bè tham gia trò chơi, cũng như tham gia trò chơi của bạn bè, thông qua việc chia sẻ các trạng thái hoạt động, vui chơi của bạn.

Kết nối với mạng xã hội

Bạn gặp vấn đề rắc rối khi có quá nhiều bạn bè từ các trang mạng xã hội ? Phiên bản mới sẽ giúp bạn cập nhật thông tin về bạn bè từ khắp mọi nơi mà không cần phải mất công vào web.

- Giữ liên lạc với bạn bè dù họ ở bất cứ đâu: Xem, bình luận và cập nhật thông tin từ Yahoo Pulse, Flickr, Facebook, Twitter và còn nhiều hơn thế nữa... ngay từ trong Yahoo! Messeger.

- 1 Status cho khắp mọi nơi: Status của bạn trên Yahoo! Messenger cũng sẽ đồng thời được cập nhật trên Yahoo Pulse, Facebook và Twitter.

- Chat với bạn bè từ Facebook: Ngoài bạn bè trên Windows Live, bạn cũng có thể thỏa thích chat cùng bạn bè trên Facebook ngay trong Yahoo! Messenger.

YM1103

Giữ kết nối mọi lúc, mọi nơi

Khi tính "di động" của thế giới ngày càng phát triển, sẽ thật hữu ích nếu bạn có thể kết nối qua mọi thiết bị. Đó là lý do tại sao Yahoo Messenger mang kết nối tới bạn qua máy tính để bàn, Web hay các thiết bị di động.

- Trải nghiệm trên các thiết bị Android: bạn có thể thực hiện các cuộc gọi video miễn phí, chia sẻ ảnh và video giữa các máy tính, iPhone.

- Trò chuyện bất cứ nơi đâu: Bạn có thể bắt đầu chat trên máy tính, và tiếp tục chat trên từ các thiết bị Android, iPhone hoặc bất kỳ thiết bị hỗ trợ Internet nào.

- Luôn sẵn sàng: Giữ đăng nhập tới nhiều máy tính cùng lúc để bạn không bỏ lỡ một tin nhắn nào.

- Dễ dàng truy cập lịch sử chat: Lấy lại lịch sử chat từ bất cứ máy tính nào bạn đã đăng nhập Yahoo! Messenger.

Người sử dụng cũng có thể dễ dàng gửi lại thông tin phản hồi cho Yahoo về phiên bản mới thông qua tùy chọn "Send Feedback" từ menu "Help".

Một chú ý khác là cuộc gọi video trên thiết bị Android yêu cầu phiên bản hệ điều hành từ 2.2 trở lên và cả Add-on Yahoo Messenger Video. Hiện Yahoo đã hỗ trợ điện thoại MyTouch 4G & EVO. Hãng cũng hứa hẹn sẽ hỗ trợ nhiều thiết bị hơn trong thời gian tới.

Bạn đọc quan tâm có thể tải về Yahoo! Messenger 11 Beta tại đây.

Nguồn BlogYahoo

qc BKAV Pro
More about