Hiển thị các bài đăng có nhãn Javascript. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Javascript. Hiển thị tất cả bài đăng

Đếm lượt xem bài viết bằng cookie

Người đăng: ngaybennhau on Thứ Hai, 26 tháng 9, 2011

Đếm lượt xem bài viết là một thủ thuật khá cần thiết cho blogspot. Thông thường việc đếm lượt xem bài viết được thực hiện bằng ngôn ngữ php tuy nhiên nó yêu cầu sử dụng host, do đó dẫn đến việc đứt gánh giữa đường khi host không còn hoạt động. Ở đây mình hướng dẫn bạn cách đếm lượt xem bài viết sử dụng cookie. Bạn có thể xem DEMO bên dưới.


Thông thường bộ đếm lượt truy cập bài viết được đặt ở cuối bài viết, do đó bạn có thể tìm trong Template ở chế độ mở rộng mẫu tiện ích đến một trong những dòng code sau:

<div class='post-footer'>

<div class='post-footer-line post-footer-line-1'>

<div class='post-footer-line post-footer-line-2'>

<div class='post-footer-line post-footer-line-3'>

Rồi đặt trước hoặc sau nó bằng đoạn code bên dưới:

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script type='text/javascript'>
//<![CDATA[
function setC(visitors, value){
var expireDate=new Date (2099, 12, 31);
document.cookie = visitors + "=" + escape(value) + ((expireDate == null) ? "" : ("; expires=" +
expireDate.toGMTString())) }
function readC(visitors){
var search = visitors + "=";
var i, j;
if (document.cookie.length > 0) {
i = document.cookie.indexOf(search);
if (i != -1) {
i += search.length;
j = document.cookie.indexOf(";", i);
if (j == -1) j = document.cookie.length;
return unescape(document.cookie.substring(i,j));
} } }
var num;
num=readC("visitors");
if (!num) num=0;
num++;
setC("visitors", num);
document.write("<div class='visitors'>");
document.write("<b>Bạn đã xem bài này "+num+" lần.<\/b>");
document.write("<\/div>");
//]]>
</script>
</b:if>

Nếu muốn tùy biến CSS cho dòng thông báo thì bạn đặt CSS như thế này (trước dòng ]]></b:skin> trong Template):

.visitors{
… đặt các thuộc tính CSS ở đây nha ..
}

Hy vọng đoạn script này sẽ giúp ích cho blogspot của bạn, tránh đến việc sử dụng host để dành cho cả một thủ thuật nhỏ như thế này quả thật là bất tiện và phung phí.
More about

Hướng dẫn tạo list game flash cho Blogspot

Người đăng: ngaybennhau on Thứ Ba, 9 tháng 8, 2011


[ND] - Bạn thấy mình thật vất vả khi đi post từng bài trên blog của mình để chia sẻ các game flash mà mình yêu thích. Hay khi post xong rồi bạn thấy hệ thống game của mình hơi lộn xộn và khó quản lí ? Tôi sẽ có giải pháp cho bạn và tôi nghĩ đó là giải pháp tối ưu.

Bạn xem thử nhé : Live demo

Khi bạn tạo xong nó sẽ thế này :


Chúng ta bắt đầu tạo cho mình một list game nào. Trước tiên bạn xem code của nó :
<div class='widget-content'>
<style type="text/css">
#link-ex {
font-weight:bold; text-color:#f00; padding: 0; height:200px; overflow: auto;}
#link-ex p {padding:3px 0;border-bottom:1px dotted #234;
}
</style>
<p>»  <a onclick="ND('http://media2.gamevui.com/images/Flash/gamethethao/tay-lai-dia-hinh_Secure.swf','700','620')" href="#ND">
<font color="#347202">Tay lái địa hình</font></a><font color="#347202"><br /></font></p>
<p>»  <a onclick="ND('http://media8.gamevui.com/images/Flash/ChienThuat/Age-of-war.swf','700','620')" href="#ND">
<font color="#347202">Cuộc chiến thế kỉ</font></a><font color="#347202"><br /></font></p>

</div>
</div>
<font color="#347202">
<script type="text/javascript" language="javascript">   
    function MPAction(sAction) {
        if (sAction=='stop') {
            Player.controls.stop();
        } else if (sAction=='pause') {
            Player.controls.pause();
        } else {
            Player.controls.play();
        }
}
</script>
<!--Code share by Nguyen Duc-->
<script language="javascript"></script>
<script language="JaVASCriPT">function ND(src,width,height){
    if(width>screen.width-100 || height>screen.height-100){
        SCwidth=screen.width-100;
        SCheight=screen.height-100;
        scrollbar="scrollbars=yes";
    }else{
        SCwidth=width;
        SCheight=height;
        scrollbar="scrollbars=no";
    }
    img_origin=window.open("","","width="+SCwidth+",height="+SCheight+",status=no,toolbar=no,"+scrollbar+",resizable=no");
    img_origin.document.write(""
+"<HTML>"
+"<HEAD>"
+"<meta http-equiv='Content-Language' content='en-us'>"
+"<TITLE>(Code By Nguyen Duc)</TITLE>"
+"<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=windows-1252'>"

+"</HEAD>"
+"<BODY BGCOLOR=#347202 topmargin=5>"

+"<p align=center>"
+"<table align=center border=0 cellpadding=6 cellspacing=1 class=tborder width=100%>"
+"    <thead>"
+"        <tr>"
+"            <td class=tcat colspan=0>"
+"            <span class=smallfont><center><strong>Chơi Game Online Miễn Phí</strong></center></span></td>"
+"        </tr>"
+"    </thead>"
+"    <tbody id=collapseobj_module_4_5342>"
+"    <tr>"
+"    <td align=center class=alt1 valign=top height=350 background=bg.gif>"
+"<p align=center><B>Chúc bạn chơi game vui vẻ</b></p>"
+"<object classid=clsid:D27CDB6E-AE6D-11CF-96B8-444553540000 codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0 border=0 width=100% height=420 background=load_flash.gif>"
+"<param name=movie value='"+src+"'>"
+"<param name=quality value=High>"
+"<embed src='"+src+"' pluginspage=http://www.macromedia.com/go/getflashplayer type=application/x-shockwave-flash name=obj2 width=100% height=420 quality=High wmode=transparent></object>"

+"<br>"
+"<a href='"+src+"' title='Nhấn chuột phải rồi chọn Save Target as để tải game!'><font style='font-family: Tahoma,Verdanda;font-size: 11px;'><b> <b>Nhấn vào đây để phóng to</b></font></a>"
+"</td>"
+"    </tr>"
+"</tbody>"
+"</table>"
+"</p>"
+"</BODY>"
+"</HTML>"
);
}</script></font>
<!--Code share by Nguyen Duc-->
Bạn chỉ cần tạo một widget HTML/Javascript rồi thêm code đó vào là xong thôi.

Hướng dẫn thêm game vào List:

Ở code trên bạn chú ý phần code màu đỏ. Đó chính phần code game thêm vào. Mỗi game được thêm vào dưới dạng:
<p>»  <a onclick="ND('http://media8.gamevui.com/images/Flash/ChienThuat/Age-of-war.swf','700','620')" href="#ND">
<font color="#347202">Cuộc chiến thế kỉ</font></a><font color="#347202"><br /></font></p>
Mô tả:
Phần code màu hồng chính là link game flash mà bạn muốn thêm. Phần màu xanh là tên game. Phần màu tím bạn có thể thay đổi, nó đơn giản chỉ là khi mình nhấn vô game thì nó hiện như hình dưới ở thanh địa chỉ:


Cứ mỗi game bạn đã có tên và thêm link vào thì bạn đặt ngay dưới phần code màu đỏ ở trên.

Hướng dẫn lấy link game :

- Hiện tại trên mạng có nhiều trang chơi game flash trực tuyến như Game Vui, Vương Quốc Game, Trò Chơi Việt, .....bạn vào một trang. Chọn lấy 1 game mình thích, bạn có thể thấy mỗi trang đều cho phép chèn game đó vào blog/web bằng cách copy lấy đoạn code của họ. Tuy nhiên, trường hợp này bạn chỉ lấy đường link game flash mà thôi. Nó tương tự như phần tôi bôi đen dưới đây :


Nếu trang mà bạn muốn lấy game không cung cấp link flash bạn có thể dùng View Source thần chưởng vậy.

- Giải pháp thứ 2 chúng ta có thể áp dụng đó là tải game về rồi up lên các host cho phép định  dạng swf lấy D-Link như : Photobucket, SwfCabin, SwfUpload,... rồi bạn lấy link game của mình và làm tương tự.

Chú ý : Các bạn có thể áp dụng thụ thuật này để tạo danh sách video, nhạc, hay cái gì đó tương tự,.. tùy theo ý tưởng của bạn.

Chúc các bạn vui vẻ !
Bài này chỉ dành cho Newbie, mong các cao thủ đừng chê cười.
More about

Thủ thuật yêu cầu: Script liệt kê và gọi script

Người đăng: ngaybennhau on Thứ Hai, 1 tháng 8, 2011

Trong quá trình thiết kế weblog trên nền tảng Blogspot, hẳn bạn đã, đang và sẽ vọc rất nhiều script, dẫn đến thực tế là gắn nhiều script vào Template sẽ gây ảnh hưởng đến tốc độ load trang. Có một yêu cầu của bạn đọc về việc làm sao có script gọi được script, tức là gom các file script vào một chỗ rồi đến lúc nào cần script đó hoạt động thì mới gọi nó ra, chứ không cho nó load hết toàn bộ trong trang. Mình viết thủ thuật này theo yêu cầu của bạn MrWinni.

Mình có thể mô tả thủ thuật này như sau: Trước hết mình tạo một tiện ích để chứa các file script và mình đặt tiện ích này lên trên tiện ích Header để dễ bề quản lý, sau đó mình dùng script liệt kê tất cả các file js cần dùng trong Template rồi đặt vào tiện ích này; mỗi khi cần bất kỳ một file js nào hoạt động thì chỉ cần dùng lệnh gọi script đó ra là được, như vậy sẽ không load tất cả các file js ra cùng một lúc. Nói như thế nghĩa là giả sử mình sử dụng đến 1000 file js trong Template song vẫn không hề ảnh hưởng đến tốc độ load trang của Template.

Đến đây, mình tin rằng bạn sẽ cần đến thủ thuật này hơn bao giờ hết. Vậy thì hãy thực hiện như sau:

Bước 1. Đăng nhập Blogger, vào Design >> Edit HTML, chọn Expand Widget Templates. Tìm sau thẻ <body> rồi đến thẻ <div id='header'> hoặc thẻ <div id='topnavbar'> (nếu Template của bạn có thanh menu đỉnh) và đặt trước thẻ đó bằng đoạn code bên dưới:
<b:section class='scripcontainer' id='scriptcontainer'>
<b:widget id='HTML100' locked='false' title='' type='HTML'>
<b:includable id='main'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != &quot;&quot;'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
</b:includable>
</b:widget>
</b:section>
Lưu Template.

Bước 2. Vào Page Elements, kéo đến đầu Layout, sát trên phần Header, chọn Edit để chỉnh sửa tiện ích HTML/Javascript rồi đặt đoạn code như bên dưới vào đó:
<script type="text/javascript">
// ScriptListing&Reading Script by www.thuthuatblogger.info
function readScript(index) {

URLBase="http://tenban.googlecode.com/files/";
scriptLIST=new Array(

0,"",
1,"code1.txt",
2,"code2.txt",
3,"code3.txt",
4,"code4.txt",
5,"code5.txt",
6,"code6.txt",
7,"code7.txt",
8,"code8.txt",
9,"code9.txt",
10,"code10.txt",

1000,""
);

regNum = index * 2 +1;
document.write('<script src="' + URLBase + scriptLIST[regNum] + '"><\/script>');
}
</script>
Trong trường hợp này, bạn upload các file js có đuôi .js hoặc .txt vào cùng một nguồn lưu trữ file (ví dụ googlecode hoặc host riêng của bạn), đặt URL ngồn (URLBase) cho script. Cứ mỗi lần dùng thêm file js thì bạn chỉ cần thêm số thứ tự theo định dạng như trên.

Mỗi khi bạn muốn một script nào đó hoạt động tại vị trí theo ý bạn thì chỉ cần sử dụng lệnh gọi script như sau:

<script>readScript(1);</script>

Hoặc <script>readScript(2);</script>

Hoặc <script>readScript(3);</script>

Cứ như thế chỉ cần thay số thứ tự cho file js cần gọi ra là được.

Nếu bạn upload các file js (lưu tên lộn xộn theo đuôi .js và .txt) lên các host khác nhau thì ở Bước 2, bạn sử dụng code như sau:
<script type="text/javascript">
// ScriptListing&Reading Script by www.thuthuatblogger.info
function readScript(index) {
scriptLIST=new Array(
// Đây là danh sách các URL dẫn đến nguồn script
0,"",
1,"http://www.tenmien1.com/files/code1.js",
2,"http://www.tenmien2.com/files/code2.txt",
3,"http://www.tenmien3.com/files/code3.js",
4,"http://www.tenmien4.com/files/code4.txt",
5,"http://www.tenmien5.com/files/code5.js",
6,"http://www.tenmien6.com/files/code6.txt",
7,"http://www.tenmien7.com/files/code7.txt",
8,"http://www.tenmien8.com/files/code8.js",
9,"http://www.tenmien9.com/files/code9.txt",
10,"http://www.tenmien10.com/files/code10.txt",

1000,""
);
regNum = index * 2 +1;
document.write('<script src="' + scriptLIST[regNum] + '"><\/script>');
}
</script>
Tuy code này đơn giản song vẫn hy vọng rằng hiệu quả nó đem lại là vô cùng lớn đối với các bạn.
More about

Thủ thuật yêu cầu: Ẩn hiện tiện ích trên sidebar

Người đăng: ngaybennhau on Chủ Nhật, 31 tháng 7, 2011

Thủ thuật này được viết theo yêu cầu của bạn Blue79blog, với ý tưởng tạo hiệu ứng ẩn hiện tiện ích trên phần sidebar của blogspot. Thủ thuật này lấy cảm hứng từ style ở trang cokhi-hui.net (xin lưu ý, ở đây chỉ lấy cảm hứng theo yêu cầu của bạn đọc chứ script không liên quan đến trang cokhi-hui.net).

Xem Demo.

Bây giờ chúng ta cùng bắt đầu thực hành nhé.

Bước 1. Sử dụng javascript bên dưới để tạo hiệu ứng, đặt code trước thẻ </head>.
<script type="text/javascript">
//<![CDATA[
// Hide and Show Toggle Effect Script. Please keep www.thuthuatblogger.info source for your using in any ways
function toggle( targetId )
{
var state = 0;
var blockname = "block" + targetId;
var blockimage = "blockcollapse" + targetId;
if ( document.getElementById ) {
target = document.getElementById( blockname );
if ( target.style.display == "none" ) {
target.style.display = "";
state = 1;
}
else {
target.style.display = "none";
state = 0;
}
document.getElementById( blockimage ).src = state ? "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhodBXjCISaropoV3isJa5HrGi96FjEF1PjmjnSY26A_O1tGx5dZU5ZTJ-frbYup_IfxtOUtTYLC8eHSPIdXHaG2p38mDO6lu4zkbgKzV38CZScV2JOIAexiXaUpdWLyw2vlRk8ICIbEmiE/s1600/minus.gif" : "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA9mzLBXmaY7xSgX8yiHlPDsAo0cCo7y9nUTS8-3-VR4AO-FUcijGLdQIkx94F6T20P-8wsq8_cXG711W3wRXGpvT1ScKb0mpufUy0Rlr0OrPja37EPkf7p4-z-2_MghggNn7uR7sqZKAV/s1600/plus.gif";
}
}
//]]>
</script>

Bước 2. Thiết lập cấu trúc HTML theo các trường hợp sau đây (áp dụng chung cho website và blogspot):

Trường hợp 1: Nội dung được ẩn, nhấn nút show/hide để hiện nội dung, nút show/hide nằm nằm bên trái tiêu đề.
<a href="javascript: void(0);" onclick="toggle(&quot;1&quot;); return false">
<img border="0" id="blockcollapse1" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA9mzLBXmaY7xSgX8yiHlPDsAo0cCo7y9nUTS8-3-VR4AO-FUcijGLdQIkx94F6T20P-8wsq8_cXG711W3wRXGpvT1ScKb0mpufUy0Rlr0OrPja37EPkf7p4-z-2_MghggNn7uR7sqZKAV/s1600/plus.gif" style="margin-right: 5px;" />Đây là một tiêu đề</a>
<div id="block1" style="display: none;">
Đây là một đoạn văn bản hoặc một hình ảnh …
</div>


Đây là một tiêu đề


Trường hợp 2: Nội dung được hiện, nhấn nút show/hide để ẩn nội dung, nút show/hide nằm bên trái tiêu đề
<a href="javascript: void(0);" onclick="toggle(&quot;2&quot;); return false">
<img border="0" id="blockcollapse2" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhodBXjCISaropoV3isJa5HrGi96FjEF1PjmjnSY26A_O1tGx5dZU5ZTJ-frbYup_IfxtOUtTYLC8eHSPIdXHaG2p38mDO6lu4zkbgKzV38CZScV2JOIAexiXaUpdWLyw2vlRk8ICIbEmiE/s1600/minus.gif" style="margin-right: 5px;" />Đây là một tiêu đề</a>
<div id="block2">
Đây là một đoạn văn bản hoặc một hình ảnh…
</div>


Đây là một tiêu đề

Thủ thuật Blogger là nơi bạn vừa học tập vừa thực hành về thiết kế website/webblog. Chúng tôi hy vọng sẽ trở thành một ngôi trường nhỏ để bạn góm ghém hành trang bước vào những ngôi trường lớn hơn.

Trường hợp 3. Nội dung được ẩn, nhấn nút show/hide để hiện nội dung, nút show/hide nằm bên phải tiêu đề.
<a href="javascript: void(0);" onclick="toggle(&quot;3&quot;); return false">
Đây là một tiêu đề<img border="0" id="blockcollapse3" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA9mzLBXmaY7xSgX8yiHlPDsAo0cCo7y9nUTS8-3-VR4AO-FUcijGLdQIkx94F6T20P-8wsq8_cXG711W3wRXGpvT1ScKb0mpufUy0Rlr0OrPja37EPkf7p4-z-2_MghggNn7uR7sqZKAV/s1600/plus.gif" style="margin-left: 5px;" />
</a>
<div id="block3" style="display: none;">
Đây là một đoạn văn bản hoặc một hình ảnh…
</div>


Đây là một tiêu đề


Trường hợp 4. Nội dung được hiện, nhấn nút show/hide để ẩn nội dung, nút show/hide nằm bên phải tiêu đề.
<a href="javascript: void(0);" onclick="toggle(&quot;4&quot;); return false">
Đây là một tiêu đề<img border="0" id="blockcollapse4" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhodBXjCISaropoV3isJa5HrGi96FjEF1PjmjnSY26A_O1tGx5dZU5ZTJ-frbYup_IfxtOUtTYLC8eHSPIdXHaG2p38mDO6lu4zkbgKzV38CZScV2JOIAexiXaUpdWLyw2vlRk8ICIbEmiE/s1600/minus.gif" style="margin-left: 5px;" />
</a>
<div id="block4">
Đây là một đoạn văn bản hoặc một hình ảnh…
</div>


Đây là một tiêu đề

Thủ thuật Blogger là nơi bạn vừa học tập vừa thực hành về thiết kế website/webblog. Chúng tôi hy vọng sẽ trở thành một ngôi trường nhỏ để bạn góm ghém hành trang bước vào những ngôi trường lớn hơn.

Đến đây là phần quan trọng đối với blogspot, áp dụng để tạo hiệu ứng ẩn hiện đối với tiện ích trên blogspot. Đăng nhập Blogger, vào Design >> Edit HTML, chọn Expand Widget Templates (nhớ thực hiện Bước 1 xong). Xác định ID của một tiện ích và tìm đến đoạn code của nó, ví dụ đối với tiện ích có ID là HTML1:
<b:widget id='HTML1' locked='false' title='Đây là tiêu đề tiện ích 1' type='HTML'>
<b:includable id='main'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != &quot;&quot;'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:includable>
</b:widget>
Chỉnh code của tiện ích đó lại như bên dưới. Ở đây mình áp dụng cho trường hợp 1, các trường hợp còn lại bạn có thể tự thực hiện.
<b:widget id='HTML1' locked='false' title='Đây là tiêu đề tiện ích 1' type='HTML'>
<b:includable id='main'>
<!-- only display title if it's non-empty -->
<a href='javascript: void(0);' onclick='toggle(&quot;1&quot;); return false'>
<b:if cond='data:title != &quot;&quot;'>
<h2 class='title'><img border='0' id='blockcollapse1' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt7k9JpqeSJ6AX8io-BddyxaMbdnG01GzCNUu5cDMfpAMHBDcUoMJJDE2ArZx_wno4ZV12CVquE2BXv39dVC2ads56zL2xuxO6xXFzWlJ96czrbwjz6z3oKcjDiuufWDYo94RIRhy4Wrq9/s1600/mas.gif' style='margin-right: 5px;'/><data:title/></h2>
</b:if></a><div id='block1' style='display: none;'>
<div class='widget-content'>
<data:content/>
</div> </div>
</b:includable>
</b:widget>
Lưu Template là xong. Bạn có thể sử dụng cấu trúc tương tự như trên để vận dụng cho nhiều tiện ích khác nhau nhé.
More about

Tạo đoạn text hiển thị ngẫu nhiên và luân phiên

Người đăng: ngaybennhau on Thứ Bảy, 23 tháng 7, 2011

Trên blogspot của bạn, đôi khi bạn thích hiển thị một số dòng text thông báo hoặc một vài câu danh ngôn mà bạn tâm đắc. Hiệu ứng tạo text hiển thị ngẫu nhiên hoặc luân phiên sẽ giúp cho trang web trở nên sinh động và bớt đơn điệu hơn. Qua bài viết này mình sẽ giới thiệu bạn cách tạo 2 kiểu text như thế.

1. Hiển thị text ngẫu nhiên: Đặt đoạn code sau đây vào một tiện ích HTML/Javascript.

<div style="width:500px;height:50px;background:#DDD;padding:5px 5px 5px 5px;margin:0px auto">
<!-- RANDOM QUOTES -->
<script type="text/javascript">
quotes = new Array()
quotes[0] = "Nội dung đoạn text 1"
quotes[1] = "Nội dung đoạn text 2"
quotes[2] = "Nội dung đoạn text 3"
quotes[3] = "Nội dung đoạn text 4"
quotes[4] = "Nội dung đoạn text 5"
quotes[5] = "Nội dung đoạn text 6"

randomquote = Math.random() * (quotes.length)
randomquote = Math.floor(randomquote)
document.write(quotes[randomquote])
</script>
<!-- RANDOM QUOTES -->
</div>

Lần lượt thay nội dung các đoạn text cần hiển thị ngẫu nhiên.


2. Hiển thị text luân phiên: Đặt đoạn code sau đây vào một tiện ích HTML/Javascript.

<!-- ROTATING QUOTES -->
<script type="text/javascript">
var index = 0;
quotes = new Array();
quotes[0] = "Nội dung đoạn Text 1";
quotes[1] = "Nội dung đoạn Text 2";
quotes[2] = "Nội dung đoạn Text 3";
quotes[3] = "Nội dung đoạn Text 4";
quotes[4] = "Nội dung đoạn Text 5";
quotes[5] = "Nội dung đoạn Text 6";

index = Math.random()*(quotes.length);
index = Math.floor(index);

function rotator() {
if (index == quotes.length) {index = 0;}
document.getElementById("rotation").innerHTML = quotes[index];
index++;
setTimeout("rotator();",5000);
}
</script>
<!-- ROTATING QUOTES -->
<div id="rotation" style="width:500px;height:50px;background:#DDD;padding:5px 5px 5px 5px;margin:0px auto"></div>
<script type="text/javascript">rotator();</script>

Lần lượt thay nội dung các đoạn text cần hiển thị luân phiên. Chú ý có thể thay đổi số 5000 tượng trưng cho 5 giây chỉ khoảng cách thời gian giữa các lần hiển thị text luân phiên.




Ở 2 code trên, bạn có thể tùy biến thêm CSS để tạo bản sắc riêng khi áp dụng cho blogspot của bạn.
More about

Hiển thị thời gian ước tính để đọc bài viết

Người đăng: ngaybennhau on Thứ Năm, 30 tháng 6, 2011

Tính được thời gian ước tính để đọc một bài viết là một cách thú vị để cho người đọc phần nào hiểu sơ qua về độ dài của bài viết mà không cần phải đọc lướt qua. Người ta ước tính rằng con người chúng ta trung bình cứ mỗi một phút có thể đọc được 300 từ và cứ mỗi 2 giây là có thể xem một hình ảnh. Như vậy dựa vào căn cứ trung bình này, bằng một thuật toán tính đến số từ, các khoảng trắng và hình ảnh trong một bài viết, chúng ta có thể ước tính được thời gian cần để đọc toàn bộ một bài viết.

Qua bài viết này, nhờ sử dụng javascript để tạo những thuật toán cơ bản, mình sẽ giúp bạn hiển thị được thời gian ước tính để đọc một bài viết dưới mỗi tiêu đề bài viết để người đọc bớt phần mệt nhọc đoán chừng độ dài bài viết của bạn.

Để làm được như vậy, bạn hãy thực hiện theo các bước sau đây:

Bước 1. Đăng nhập Blogger. Vào Design >> Edit HTML. Chọn Expand Widget Templates. Đặt đoạn code sau đây vào trước thẻ </head>.

<script type='text/javascript'>
//<![CDATA[
// Estimate-time-to-read-blogspot-post Script by Huynh Nhat Ha
var wordsperminute = 300;
var imagesperminute = 30;

function timeperpostreading(id) {
var postcontent = document.getElementById(id);

var img = postcontent.getElementsByTagName("img");
var numimg = img.length;

var strx = postcontent.innerHTML;
if(strx.indexOf("<")!=-1) {
var s = strx.split("<");
for(var i=0;i<s.length;i++){
if(s[i].indexOf(">")!=-1){
s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length);
}
}
strx = s.join("");
}

var blankfirst = /^ /;
var blankfinal = / $/;
var blanktotal = /[ ]+/g;
strx = strx.replace(blanktotal," ");
strx = strx.replace(blankfirst,"");
strx = strx.replace(blankfinal,"");

var words = strx.split(" ");
var numwords = words.length;

var minutes = parseInt((numwords/wordsperminute)+(numimg/imagesperminute));
var seconds = parseInt((((numwords/wordsperminute)+(numimg/imagesperminute))-minutes)*60);
minutes=("0" + minutes).slice (-1);
seconds=("0" + seconds).slice (-2);

var forreturn = "Thời gian ước tính để đọc bài viết này: "+minutes+":"+seconds;
document.getElementById("timeperpost").innerHTML = forreturn;
}
//]]>
</script>

Bước 2. Tìm đến dòng <div class='post-header-line-1'/> và đặt trước nó bằng dòng code bên dưới.

<p id='timeperpost'/>

Tiếp tục tìm dòng <data:post.body/> (hoặc <p><data:post.body/></p>) rồi thay thế nó bằng đoạn code bên dưới.

<div expr:id='data:post.id'>
<p><data:post.body/></p>
</div>
<script type='text/javascript'>
timeperpostreading(&quot;<data:post.id/>&quot;);
</script>

Lưu Template là OK. Hy vọng thủ thuật nhỏ này sẽ tạo thêm nét độc đáo cho blogspot của bạn.
More about

Mở rộng thành phần chứa nội dung bài viết

Người đăng: ngaybennhau on Thứ Năm, 13 tháng 1, 2011

Như các bạn đều thấy dưới mỗi tiêu đề bài viết trên blog của tôi có 2 nút mũi tên sang trái và sang phải có chức năng mở rộng phần chứa nội dung bài viết và ẩn đi phần sidebar. Đây có thể nói là thủ thuật hàng hiếm trên cộng đồng Blogger.

Để làm được như vậy, ta phải sử dụng script tạo chức năng mở rộng phần content hay main-wrapper của Template (phần này chứa nội dung bài viết) và ẩn đi phần sidebar (thuộc tính display:none) khi ở chế độ mở rộng và định dạng chiều rộng của phần content tương đương với tổng chiều rộng của phần content cộng với phần sidebar ở chế độ thu hẹp.

Bước 1. Đăng nhập Blogger, vào Design &gt;&gt; Edit HTML. Đặt đoạn code sau đây vào trước thẻ </head>.

<script type='text/javascript'>
function enlarge(){
div = document.getElementById(&quot;sidebar&quot;);
div.style.display=&quot;none&quot;;
div = document.getElementById(&quot;content&quot;);
div.style.width=&quot;900px&quot;;
div.style.fontSize=&quot;16px&quot;;
}
function narrow(){
div = document.getElementById(&quot;sidebar&quot;);
div.style.display=&quot;&quot;;
div = document.getElementById(&quot;content&quot;);
div.style.width=&quot;600px&quot;;
div.style.fontSize=&quot;12px&quot;;
}
</script>

Lưu Template.

Bước 2. Chọn Expand Widget Tempplates. Tìm đoạn code

<div class='post-header'>
<div class='post-header-line-1'/>
</div>

Và đặt sau nó với đoạn code bên dưới.

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div style='float:right;margin:0px 0 5px 0px'>
<a href='javascript:narrow();'><img alt='Thu hẹp' src='http://bit.ly/dFogbx' title='Thu hẹp'/></a>
<a href='javascript:enlarge();'><img alt='Mở rộng' src='http://bit.ly/hLiV5F' title='Mở rộng'/></a><div style='clear: both;'/>
</div>
</b:if>

Lưu Template và kiểm tra kết quả được rồi đấy bạn.

Bạn nên tải về các file hình mũi tên leftarrowrightarrow hoặc tìm trên Internet để xài cho riêng bạn nhé.
More about

Hiệu ứng đàn xếp trượt ngang sử dụng Javascript

Người đăng: ngaybennhau on Thứ Ba, 30 tháng 11, 2010

Tại trang Leigerber có giới thiệu Slidemenu là một script nhỏ với hiệu ứng đàn xếp theo chiều ngang có thể được sử dụng cho việc tạo menu, trình chiếu hình ảnh hoặc nội dung. Script này tự động điều chỉnh số thành phần trong hiệu ứng đàn xếp. Nó đã được thử nghiệm trong tất cả các công cụ trình duyệt và hoạt động tốt.

Xem Demo.

Nếu bạn thích hiệu ứng này cho trang web của mình thì thực hiện theo các bước sau đây.

1. Đặt toàn bộ đoạn code dưới đây vào trước thẻ </head>.

<style type='text/css'>
.sm {list-style:none; width:459px; height:100px; display:block; overflow:hidden}
.sm li {float:left; display:inline; overflow:hidden}
</style>
<script src='http://sandbox.leigeber.com/slidemenu/slidemenu.js' type='text/javascript'></script>

2. Thiết lập cấu trúc HTML như dưới đây và đặt vào phần thân trang web (giữa 2 thẻ <body>, </body>).

<ul id="sm" class="sm">
<li>Nội dung 1</li>
<li>Nội dung 2</li>
<li>Nội dung 3</li>
</ul>

3. Gọi chức năng onload bằng cách thay thẻ <body> bằng <body onload="slideMenu.build('sm',200,10,10,1)"> hoặc có thể đặt đoạn code sau đây vào trước thẻ </body>.

<script type='text/javascript'>slideMenu.build('sm',200,10,10,1);</script>

Chú ý thông số đầu tiên (sm) là id cho danh mục bạn muốn tạo hiệu ứng đàn xếp. Thông số thứ 2 (200) là bề rộng bạn muốn phần xếp mở rộng ra. Thông số thứ 3 (10) là biến thời gian gọi chức năng trượt. Thông số thứ 4 (10) là tốc độ hiệu ứng với số 1 là nhanh nhất. Thông số cuối cùng tùy chọn và là số ám chỉ phần được mở rộng khi hiệu ứng được load xong.
More about

Tự động ẩn hiện thanh Navbar của Blogger

Người đăng: ngaybennhau on Thứ Bảy, 27 tháng 11, 2010

Blogger mặc định một thanh Navbar trên cùng của blog bao gồm các menu như Tìm kiếm, Chia sẻ, Báo cáo lạm dụng, Blog tiếp theo … Đa số blogger không thích hiển thị thanh Navbar này. Để dấu nó đi bạn chỉ cần đặt đoạn code dưới đây vào trước thẻ </head>.

<style type="text/css">
#navbar-iframe {height:0px; visibility:hidden; display:none; }
</style>

Tuy nhiên bạn có thể làm cho thanh Navbar ẩn hiện bằng một nút Ẩn/Hiện Navbar bởi vì về một phương diện nào đó, thanh Navbar của Blogger cũng có ích đấy.

Để làm được điều này, trước tiên bạn cần đặt đoạn code dưới đây vào trước thẻ </head>.

<script type="text/javascript">
var showHeader=false;
function ShowHideNav()
{showHeader=!showHeader;
var nav=document.getElementById("navbar-iframe");
if (showHeader)
{nav.style.visibility="visible";
nav.style.display="block";}
else
{nav.style.visibility="hidden";
nav.style.display="none";}
}
</script>

<style type="text/css">
#navbar-iframe {visibility: hidden; display: none;}
</style>

Tiếp theo bạn đặt đoạn code dưới đây vào vị trí cần hiển thị nút Ẩn/Hiện Navbar, có thể đặt trong một tiện ích HTML/JavaScript hoặc ở thanh Menu trên cùng của Blog.

<span style="cursor:pointer;" onclick="ShowHideNav();">
Ẩn / Hiện Navbar
<a style="visibility:hidden;">
</a></span>

Bạn có thể thay dòng Ẩn / Hiện Navbar bằng một liên kết hình ảnh <img src="URL_hình ảnh"/>.

Bạn hãy thử click vào icon Blogger ở góc trái trên cùng trên thanh Menu của Blog này, bạn sẽ thấy kết quả của thủ thuật này. Và tôi e rằng bạn sẽ ngay lập tức thử nghiệm cho blog của mình rồi đấy :29).
More about

Cách loại bỏ xung đột giữa hai javascript

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

Nếu bạn chỉ có một đoạn javascript trên trang web thì trang web của bạn hoạt động tốt. Đôi khi bạn thêm vào một đoạn javascipt khác thì một trong hai đoạn sẽ không hoạt động hoặc cả hai cùng không hoạt động. Nguyên nhân là do sự xung đột giữa 2 đoạn javascript này mà căn nguyên nằm ở sự trùng lặp về xử lý sự kiện (event-handler), đặc biệt là chức năng onload cho thẻ <body>.

Cách xử lý xung đột là kết hợp 2 chức năng onload lại với nhau.

Lấy ví dụ Script #1 có chức năng onload đưa trực tiếp vào thẻ <body> như thế này:

<body onload="dothis()">

Script #2 có chức năng onload nằm ngay trong chính script như thế này:

window.onload=dothat();

Bạn có thể thấy hai script trên đều sử dụng chức năng onload. Vậy cái nào hoạt động được, thường thì cái nằm trong thẻ <body>.

Nếu bạn kết hợp 2 chức năng vào trong thẻ <body> thì bạn sẽ loại bỏ được xung đột. Sau đây là sự kết hợp 2 script nêu trên.

<body onload="dothis();dothat()">

Nếu bạn có nhiều hơn 2 javascript thì cách xử lý tương tự.

Ví dụ 2.

Script 1: <body onload="dothis()">
Script 2: <body onload="dothat()">

Xử lý: <body onload="dothis();dothat()">

Ví dụ 3:

Script 1: window.onload=dothis
Script 2: window.onload=dothat

Xử lý: <body onload="dothis();dothat()">
More about

Tăng hoặc giảm cỡ chữ văn bản bằng Javascript

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

Đôi khi cỡ chữ mà bạn định dạng cho trang web không phù hợp với thị lực của người đọc, tùy thuộc vào cấu hình công cụ trình duyệt. Kỹ thuật tăng giảm cỡ chữ giúp khắc phục vấn đề này, bằng cách kích chuột vào liên kết Tăng cỡ chữ /Giảm cỡ chữ.

Xem Demo.

Thực hiện thủ thuật này theo các bước sau đây.

1. Thêm đoạn code bên dưới vào trước thẻ </head>.

<script type="text/javascript" src="textsizer.js"></script>

Đoạn js trên dẫn đến file ngoài. Bạn nên tải về file textsizer.js và upload trên hosting để sử dụng cho trang web của bạn.

2. Tạo 2 liên kết tăng và giảm cỡ chữ như bên dưới:

<a href="javascript:ts('body',1)">+ A</a> | <a
href="javascript:ts('body',-1)">- A</a>

* Chú ý: Trong bước 2, bạn có thể thay "body" bằng tên id khác để xác định phần chứa văn bản cần tăng hoặc giảm cỡ chữ. Nếu bạn hiểu vấn đề này thì bạn có thể áp dụng cho Blogger một cách dễ dàng như Blog của tôi vậy.
More about

Kỹ thuật load ảnh trước dùng Javascript

Người đăng: ngaybennhau on Thứ Năm, 28 tháng 10, 2010

Kỹ thuật load ảnh trước là một cách để cải thiện tốc độ tải trang web. Khi ảnh được load trước trong công cụ trình duyệt, người đọc có thể lướt qua trang web của bạn nhanh chóng hơn. Kỹ thuật này đặc biệt hữu ích cho các trang web có bộ sưu tập hình ảnh.

Sau đây xin giới thiệu một kỹ thuật giúp load ảnh trước sử dụng Javascript.

Đặt phần code dưới đây vào trước thẻ <body>.

<div class="hidden">
<script type="text/javascript">
<!--//--><![CDATA[//><!--
var images = new Array()
function preload() {
             for (i = 0; i < preload.arguments.length; i++) {
                         images[i] = new Image()
                         images[i].src = preload.arguments[i]
            }
}
preload(
            "http://yourdomain.com/gallery/image-001.jpg",
            "http://yourdomain.com/gallery/image-002.jpg",
            "http://yourdomain.com/gallery/image-003.jpg"
)
//--><!]]>
</script>
</div>
Bạn cần phải thay đường dẫn cho các file ảnh cần load trước. Với việc thêm đoạn thẻ <div class="hidden"> trên vào ngay dưới thẻ <body> của trang web hoặc blog của bạn, khi trình duyệt đọc tới thẻ div này, nó sẽ load trước toàn bộ những ảnh được liệt kê trong danh sách trên vào trong bộ đệm của trình duyệt.
More about

Tạo Menu sổ dọc cơ bản sử dụng Javascript

Người đăng: ngaybennhau on Chủ Nhật, 17 tháng 10, 2010

Kiểu Menu sổ dọc là một cách tuyệt vời để gom nhiều liên kết vào một vùng nhỏ.

Bài viết này sẽ hướng dẫn bạn cách tạo một thanh menu sổ dọc cơ bản nhưng cũng rất hữu ích khi thiết kế web.

Xem Demo.

Bước 1: Đặt code Javascript dưới đây vào phần đầu (trước thẻ </head>) của trang web.

<script language="javascript"><!--
function openURL()
{

// grab index number of the selected option
selInd = document.theForm.aaa.selectedIndex;

// get value of the selected option
goURL = document.theForm.aaa.options[selInd].value;

// redirect browser to the grabbed value (here a URL)
top.location.href = goURL;

}

//-->
</script>

Bước 2: Thiết lập HTML để hiển thị Menu sổ dọc, như ví dụ bên dưới.

<form name="theForm"> <tt>
<select name="aaa" size="1">
<option selected value="/trang-chu.html">Home </option>
<option value="#">-------------------- </option>
<option value="/introduction.html">Introduction </option>
<option value="/service.html">Services </option>
<option value="#">-------------------- </option>
<option value="/products.html">Products </option>
<option value="/download.html">Download </option>
<option value="/resources.html">Resources </option>
<option value="#">-------------------- </option>
<option value="/contact.html">Contact </option>
<option value="/faq.html">FAQ </option>
</select>
<input type="button" value=" GO " onClick="openURL()"> </tt>
</form>

Nếu bạn không cần sử dụng nút GO thì bỏ dòng code của nó, tức là dòng trước thẻ </form>. Sau đó bạn phải thay đổi dòng thứ hai thành thế này:

<select name="aaa" size="1" onchange="openurl()">
More about

Tạo hiệu ứng mô tả liên kết chỉ bằng file Javascript

Người đăng: ngaybennhau

Chúng ta đã biết cách thực hiện hiệu ứng mô tả liên kết bằng DHTML Tooltip qua bài viết Hiệu ứng liên kết có mô tả … nhưng phải dùng đến cả CSS và Javascript. Ở bài này tôi xin giới thiệu cách làm đơn giản hơn, chỉ sử dụng 1 file Javascript mà thôi.


Bạn hãy rê chuột vào liên kết này để xem kết quả hiệu ứng.

Sau đây là hướng dẫn thao tác:

Đặt đoạn code bên dưới ngay sau thẻ <body>.

<script type="text/javascript" src="/wz_tooltip.js"></script>

Bạn nên tải file wz_tooltip.js về rồi upload lên webhost của bạn sau đó gắn URL của file vào phần scr ở trên.

Kế đến bạn chỉ cần thiết lập HTML cho liên kết như sau:

<a onmouseover="Tip('Phần mô tả liên kết')" onmouseout="UnTip()" href="URL của liên kết">Tiêu đề của liên kết</a>

Như vậy phương pháp này đã rút ngắn hơn một công đoạn CSS so với phương pháp trước. Bạn có thể áp dụng cách này dễ dàng cho Blogger.
More about

Hiệu ứng liên kết có mô tả sử dụng DHTML Tooltip và Javascript

Người đăng: ngaybennhau

Hiệu ứng liên kết dạng mô tả giúp cho người lướt web có thể có nhiều hơn thông tin về một liên kết trước khi kích trỏ để vào trực tiếp liên kết. Ngôn ngữ Javascript có thể được sử dụng kết hợp với CSS để thực hiện hiệu ứng này.


Xem trang demo demo.

Sau đây là hướng dẫn thiết lập hiệu ứng.

Đặt đoạn code sau vào giữa 2 thẻ <head>, </head> của trang web.

<style type="text/css">
#dhtmltooltip{
position: absolute;
width: 150px;
border: 2px solid black;
padding: 2px;
background-color: lightyellow;
visibility: hidden;
z-index: 100;
/*Xóa dòng phía dưới nếu muốn bỏ thuộc tính bóng mờ cho khung mô tả liên kết. Dòng này luôn xuất hiện sau cùng trong phần CSS này*/
filter: progid:DXImageTransform.Microsoft.Shadow(color=gray,direction=135);

}
</style>
<script language="javascript" src="/tooltip.js"></script>


Bạn nên tải file tooltip.js về rồi upload lên webhost của mình sau đó đặt liên kết file vào scr.

Ở phần code cho liên kết, bạn thiết lập như thế này:

<a href="{URL của liên kết}" onmouseover="showtip('Phần mô tả của liên kết')" onmouseout="hidetip();">Tiêu đề của liên kết</a>

Hiệu ứng này có thể áp dụng cho Blogger, bạn hãy khám phá đi nhé! Rất dễ dàng!
More about

Hiển thị ngày tháng trên website và webblog

Người đăng: ngaybennhau

Hiển thị ngày tháng trên trang web của bạn là một cách trang trí hay cũng như làm cho trang web của bạn có vẻ chuyên nghiệp hơn. Những đoạn code JavaScript sau đây sẽ giúp bạn hiển thị ngày tháng lên trang web theo một số kiểu khác nhau.

Kiểu 1: Tháng/ngày/năm (Ví dụ hôm nay là 12/17/2009)

Bạn hãy đặt đoạn code sau tại nơi bạn muốn ngày tháng xuất hiện.
<script language="javascript">
var today_date= new Date()
var month=today_date.getMonth()+1
var today=today_date.getDate()
var year=today_date.getFullYear()
//document.write("Today's date is: ")
document.write(month+"/"+today+"/"+year)
</script>

Bạn có thể thay đổi font và màu chữ bằng cách kèm theo các lệnh thuộc tính tương thích.

Kiểu 2: Tháng-ngày-năm (Ví dụ hôm nay là 12-17-2009)

Bạn hãy đặt đoạn code sau tại nơi bạn muốn ngày tháng xuất hiện.

<script language="javascript">
var today_date= new Date()
var month=today_date.getMonth()+1
var today=today_date.getDate()
var year=today_date.getFullYear()
//document.write("Today's date is: ")
document.write(month+"-"+today+"-"+year)
</script>

Kiểu 3: Lấy ví dụ hôm nay là ngày 17/12/2009 thì kiểu này hiển thị theo dạng tiếng Anh là December 17, 2009

Đặt đoạn code sau giữa 2 thẻ <head> và </head>.

<script language=javascript>
var today_date= new Date()
var month=today_date.getMonth()
var today=today_date.getDate()
var year=today_date.getFullYear()

var months = new Array(
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December");
</script>

Sau đó đặt đoạn code này tại nơi bạn muốn ngày tháng xuất hiện.

<script language=javascript>
document.write(months[month]+" "+today+", "+year)
</script>

Từ những đoạn code Javascript này bạn có thể điều chỉnh để có thể hiển thị ngày tháng theo kiểu tiếng Việt, bạn hãy khám phá nhé!
Và tất nhiên các blogger cũng có thể áp dụng thủ thuật này vào webblog của mình.
More about

Tạo nút Trở về trang chủ cho website

Người đăng: ngaybennhau

Trong một trang web, nút Trở lại trang chủ hay Back Home cũng rất cần thiết để người lướt web có thể dễ dàng sử dụng. Có nhiều cách khác nhau để thực hiện điều này khi thiết kế web. Sau đây là một cách thực hiện bằng các cú pháp Javascript.

Bạn chỉ việc đặt đoạn mã này tại vị trí muốn hiển thị nút Back Home.

<script>
function gohome(){
if (document.layers)
window.home()
else if (document.all)
window.location="about:home"
else
alert("You need NS 4+ or IE 4+ to go back home!")
}
</script>

<form>
<input type="button" onClick="gohome()" value="Back Home!">
</form>

Nếu bạn muốn sử dụng nút dạng hình thay vì dạng form thì sử dụng đoạn mã dưới đây để thay cho đoạn mã màu đỏ.

<a href="javascript:gohome()"><img src="URL cua button hinh"></a>

Tham khảo theo DynamicDrive.
More about