ADS 1

Tạo menu nhiều tab cho blogspot


 Có nhiều kiểu menu trong thiết kế web và menu nhiều tab là một kiểu rất được ưa chuộng bởi vì nó giúp tiết kiệm không gian bố trí cho trang web. Bạn có thể dễ dàng thêm tab mới cho menu kiểu này.

Menu nhiều tab có thể được dùng cho blogspot. 

Để tạo kiểu menu nà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.

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

<script type='text/javascript'>
//<![CDATA[
document.write('<style type="text/css">.tabber{display:none;}<\/style>');
function tabberObj(argsObj)
{
var arg;
this.div = null;
this.classMain = "tabber";
this.classMainLive = "tabberlive";
this.classTab = "tabbertab";
this.classTabDefault = "tabbertabdefault";
this.classNav = "tabbernav";
this.classTabHide = "tabbertabhide";
this.classNavActive = "tabberactive";
this.titleElements = ['h2','h3','h4','h5','h6'];
this.titleElementsStripHTML = true;
this.removeTitle = true;
this.addLinkId = false;
this.linkIdFormat = '<tabberid>nav<tabnumberone>';
for (arg in argsObj) { this[arg] = argsObj[arg]; }
this.REclassMain = new RegExp('\\b' + this.classMain + '\\b', 'gi');
this.REclassMainLive = new RegExp('\\b' + this.classMainLive + '\\b', 'gi');
this.REclassTab = new RegExp('\\b' + this.classTab + '\\b', 'gi');
this.REclassTabDefault = new RegExp('\\b' + this.classTabDefault + '\\b', 'gi');
this.REclassTabHide = new RegExp('\\b' + this.classTabHide + '\\b', 'gi');
this.tabs = new Array();
if (this.div) {
this.init(this.div);
this.div = null;
}
}

tabberObj.prototype.init = function(e)
{

var
childNodes,
i, i2,
t,
defaultTab=0,
DOM_ul,
DOM_li,
DOM_a,
aId,
headingElement;
if (!document.getElementsByTagName) { return false; }
if (e.id) {
this.id = e.id;
}
this.tabs.length = 0;
childNodes = e.childNodes;
for(i=0; i < childNodes.length; i++) {
if(childNodes[i].className &&
childNodes[i].className.match(this.REclassTab)) {
t = new Object();
t.div = childNodes[i];
this.tabs[this.tabs.length] = t;


if (childNodes[i].className.match(this.REclassTabDefault)) {
defaultTab = this.tabs.length-1;
}
}
}
DOM_ul = document.createElement("ul");
DOM_ul.className = this.classNav;

for (i=0; i < this.tabs.length; i++) {

t = this.tabs[i];


t.headingText = t.div.title;

if (this.removeTitle) { t.div.title = ''; }

if (!t.headingText) {


for (i2=0; i2<this.titleElements.length; i2++) {
headingElement = t.div.getElementsByTagName(this.titleElements[i2])[0];
if (headingElement) {
t.headingText = headingElement.innerHTML;
if (this.titleElementsStripHTML) {
t.headingText.replace(/<br>/gi," ");
t.headingText = t.headingText.replace(/<[^>]+>/g,"");
}
break;
}
}
}

if (!t.headingText) {

t.headingText = i + 1;
}


DOM_li = document.createElement("li");


t.li = DOM_li;


DOM_a = document.createElement("a");
DOM_a.appendChild(document.createTextNode(t.headingText));
DOM_a.href = "javascript:void(null);";
DOM_a.title = t.headingText;
DOM_a.onclick = this.navClick;


DOM_a.tabber = this;
DOM_a.tabberIndex = i;


if (this.addLinkId && this.linkIdFormat) {


aId = this.linkIdFormat;
aId = aId.replace(/<tabberid>/gi, this.id);
aId = aId.replace(/<tabnumberzero>/gi, i);
aId = aId.replace(/<tabnumberone>/gi, i+1);
aId = aId.replace(/<tabtitle>/gi, t.headingText.replace(/[^a-zA-Z0-9\-]/gi, ''));

DOM_a.id = aId;
}


DOM_li.appendChild(DOM_a);


DOM_ul.appendChild(DOM_li);
}


e.insertBefore(DOM_ul, e.firstChild);


e.className = e.className.replace(this.REclassMain, this.classMainLive);


this.tabShow(defaultTab);


if (typeof this.onLoad == 'function') {
this.onLoad({tabber:this});
}

return this;
};


tabberObj.prototype.navClick = function(event)
{


var
rVal,
a,
self,
tabberIndex,
onClickArgs;

a = this;
if (!a.tabber) { return false; }

self = a.tabber;
tabberIndex = a.tabberIndex;


a.blur();


if (typeof self.onClick == 'function') {

onClickArgs = {'tabber':self, 'index':tabberIndex, 'event':event};

/* IE uses a different way to access the event object */
if (!event) { onClickArgs.event = window.event; }

rVal = self.onClick(onClickArgs);
if (rVal === false) { return false; }
}

self.tabShow(tabberIndex);

return false;
};


tabberObj.prototype.tabHideAll = function()
{
var i;


for (i = 0; i < this.tabs.length; i++) {
this.tabHide(i);
}
};


tabberObj.prototype.tabHide = function(tabberIndex)
{
var div;

if (!this.tabs[tabberIndex]) { return false; }


div = this.tabs[tabberIndex].div;


if (!div.className.match(this.REclassTabHide)) {
div.className += ' ' + this.classTabHide;
}
this.navClearActive(tabberIndex);

return this;
};


tabberObj.prototype.tabShow = function(tabberIndex)
{


var div;

if (!this.tabs[tabberIndex]) { return false; }


this.tabHideAll();


div = this.tabs[tabberIndex].div;


div.className = div.className.replace(this.REclassTabHide, '');


this.navSetActive(tabberIndex);


if (typeof this.onTabDisplay == 'function') {
this.onTabDisplay({'tabber':this, 'index':tabberIndex});
}

return this;
};

tabberObj.prototype.navSetActive = function(tabberIndex)
{



this.tabs[tabberIndex].li.className = this.classNavActive;

return this;
};


tabberObj.prototype.navClearActive = function(tabberIndex)
{



this.tabs[tabberIndex].li.className = '';

return this;
};


function tabberAutomatic(tabberArgs)
{

var
tempObj,
divs,
i;

if (!tabberArgs) { tabberArgs = {}; }


tempObj = new tabberObj(tabberArgs);




divs = document.getElementsByTagName("div");
for (i=0; i < divs.length; i++) {


if (divs[i].className &&
divs[i].className.match(tempObj.REclassMain)) {


tabberArgs.div = divs[i];
divs[i].tabber = new tabberObj(tabberArgs);
}
}

return this;
}
function tabberAutomaticOnLoad(tabberArgs)
{

var oldOnLoad;

if (!tabberArgs) { tabberArgs = {}; }

oldOnLoad = window.onload;
if (typeof window.onload != 'function') {
window.onload = function() {
tabberAutomatic(tabberArgs);
};
} else {
window.onload = function() {
oldOnLoad();
tabberAutomatic(tabberArgs);
};
}
}


/* Run tabberAutomaticOnload() unless the "manualStartup" option was specified */

if (typeof tabberOptions == 'undefined') {

tabberAutomaticOnLoad();

} else {

if (!tabberOptions['manualStartup']) {
tabberAutomaticOnLoad(tabberOptions);
}

}

//]]>
</script>
<style type='text/css'>
.tabberlive{
margin:0;
padding:5px;
clear:both;
background:#f8f8f8;
border:1px solid #DDD;
}
.tabbernav {
margin:0;
padding: 3px 0;
border-bottom: 1px solid #ddd;
font-family:Arial,Helvetica,sans-serif;
font-size:12px;
font-weight:bold;
}
.tabbernav li {
list-style:none;
margin:0;
display:inline;
}
.tabbernav li a {
padding:3px 0.5em;
margin-right:1px;
border:1px solid #DDD;
border-bottom:none;
background:#6c6c6c;
text-decoration:none;
color:#ffffff;
}
.tabbernav li a:hover {
color:#6c6c6c;
background:#ffffff;
border:1px solid #DDD;
text-decoration:none;
}
.tabbernav li.tabberactive a,
.tabbernav li.tabberactive a:hover {
background:#ffffff;
color:#6c6c6c;
border-bottom: 1px solid #ffffff;
}
.tabberlive .tabbertab {
padding:5px;
border:1px solid #DDD;
border-top:0;
background:#ffffff;
}
.tabberlive .tabbertab h2,
.tabberlive .tabbertabhide {
display:none;
}
.tabbertab .widget-content ul{
list-style:none;
margin:0 0 10px 0;
padding:0;
}
.tabbertab .widget-content li {
border-bottom:1px solid #ddd;
margin:0 5px;
padding:2px 0 5px 0;
}
</style>

Lưu Template.

Bước 2. Chọn Page Elements và Nhấp chọn Add a Gadget bên phần sidebar. ChọnHTML/JavaScript rồi đặt đoạn code dưới đây vào phần Content của tiện ích.

<div class='tabber'>

<div class='tabbertab section' id='tab1'>
<h2>Tiêu đề 1</h2>

Nội dung 1 / Code 1

</div>
<div class='clear'></div>

<div class='tabbertab section' id='tab2'>
<h2 class='title'>Tiêu đề 2</h2>

Nội dung 2 / Code 2

</div>
<div class='clear'></div>

<div class='tabbertab section' id='tab3'>
<h2>Tiêu đề 3</h2>

Nội dung 3 / Code 3

</div>
<div class='clear'></div>

<div class='tabbertab section' id='tab4'>
<h2 class='title'>Tiêu đề 4</h2>

Nội dung 4 / Code 4

</div>
<div class='clear'></div>

</div>

Trong đoạn code trên, bạn cần đặt tiêu đề cùng với nội dung code cho các tab. Ví dụ tab1 là tiện ích Bài viết mới nhất, tab2 là Bình luận mới nhất …

Bạn có thể thêm tab vào theo định dạng như sau.

<div class='tabbertab section' id='tabX'>
<h2 class='title'>Tiêu đề X</h2>

Nội dung X / Code X

</div>
<div class='clear'></div>

40 comments:

Anh said...

Chào bạn Dũng!
Các bài của bạn hay lắm.
Bạn vui lòng chia sẻ cho mình cách tạo bảng có thanh cuộn chứa code ở bước 1 của bài này.
Cảm ơn!
Email liên lạc: anh5678@gmail.com

ADENZ said...

hi, mình không thấy phần "ChọnHTML/JavaScript" trong Add a Gadget đâu cả, chỉ có các phần : basic; featured; most popular; more gadget; add your own. Hết, chẳng có cái phần chọn HTML... như bạn nói, bạn có thể chỉ dẫn rõ hơn được không? cảm ơn bạn;
myohien@gmail.com

Mr.Duc said...

Nếu mình viết một bài mới mà muốn thêm nó vào menu phù hợp thì làm thế nào hả bạn.1 menu thì có nhiều bài mà.thanks bạn trước nha

antonio said...

@Mr.Duc Mình chưa hiểu ý của bạn lắm. Bạn muốn thêm vào menu nào.

antonio said...

Ah, vừa xem qua trang của bạn, tạm hiểu rồi. bạn muốn thêm các bài viết vào các menu giống như blog mình, mình sử dụng mẹo nhỏ khi đăng bài là sử dụng các từ khóa ( nhãn ) của blog rồi chèn link các bài viết trong nhãn vào cùng một menu.
Ví dụ nhãn Tin tức TMDT ở trong blog mình
thì có link là :
"http://hd-antonio.blogspot.com/search/label/Tin%20t%E1%BB%A9c%20TMDT"

Khi muốn viết bài có trong menu này mình chỉ cần thêm 1 nhãn tin tức tmdt vào là tin tuc TMDT vào.

Pierpont Bui said...

Xin hỏi bạn, mình đã làm được như hướng dẫn của bạn, nếu giờ mình muốn dưới Nội dung trên, mình muốn có thêm nội dung con nữa có được không?
Và có cách nào khi mình lướt chuột qua thì các nội dung con sẽ tự động hiện ra thay vì phải bấm kiểu như trang bảo VnExpress đó
Tks bạn nhiều :)

minh tinh said...

anh ơi có thể dạy em làm blog không?

Unknown said...

Ui ui, a có gì mà dạy chứ

Unknown said...

ko tìm thấy HTML Javar... đâu cả @@

Unknown said...

bài hay

Unknown said...

Long Nguyễn tìm kỹ lại nhé, cái tiện ích đó là tiện ích cơ bản nhất, bạn có thể pm the_crazy.man90 để mình gửi ảnh chụp màn hình cho :D

Spotting scope said...

Thank for share.

Một trang web có nhiều thủ thuật mới và hay:

www.batuan.info

Phathocthaoluan said...

Chào các bạn, có bạn nào biết khóa lại trang blogspot của mình được không? làm ơn chỉ dùm với! trang blog của mình tạm thời sửa chửa, thay đổi tí nên muốn tạm thời khóa lại. cảm ơn nhiều!

Unknown said...

@phahocthaoluan: bạn chỉ cần chuyển blog về chế độ riwwng tư, một mình bạn xem là dc mà ^^

Brand Kids said...

Chào bạn, cho mình hỏi bước 2 :
- Chọn Page Elements và Nhấp chọn Add a Gadget bên phần sidebar. ChọnHTML/JavaScript rồi đặt đoạn code dưới đây vào phần Content của tiện ích.
Mình ko tìm thấy phần này. Bạn có thể minh họa bằng hình ảnh được ko? Bạn có thể gửi demo vào mail : lieuhtt@gmail.com giúp mình được ko?
Cảm ơn bạn.

Unknown said...

mình mới làm cái blog này: http://vnptadslvn.blogspot.com mà thấy nó chưa đẹp với chuyên nghiệp lắm. Các bạn chỉ thêm cho mình với, mình nên sửa những j

Unknown said...

@Nguyễn Tiến: Anh chú ý lúc soạn thảo bài viết, nó có phần đặt tag cho bài viết đó. Mỗi tag (nhãn) anh đặt cho bài viết thì tương đương với một thư mục được tạo ra, lần sau anh muốn cho bất kỳ bài viết nào vào thư mục đó, anh chỉ cần gán cho nó cái tag y như vậy, một bài cũng có thẻ gắn được nhiều tag (cách nhau 1 dấu ",").
Sau khi có các tag rồi anh xem phần bài viết nó sẽ hiển thị bài viết của anh thuộc những tag nào. Bấm vào cái link của tag đó, trong đó sẽ liệt kê tất cả các bài viết thuộc tag đó ra.

Anh gửi mail cho em vào địa chỉ dungnh@vantri.vn nhé, em sẽ tìm lại cái slide làm blogspot căn bản em soạn gửi cho bác nếu cần :D.

Unknown said...

@Hà Thúy Liễu: Lúc bạn bấm vào phần thêm tiện ích, nó hiện lên 1 cửa sổ gồm 2 form, dòng thứ nhất là tiêu đề của tiện ích , còn khung bên dưới chính là phần conttent (Nội dung) của tiện ích đó

Thiều Nem said...

Sao mình cũng làm dc các bước vừa rồi, nhưng gắn tag bài viết mà các Tab vẫn chưa liên kết tới các bài viết nhỉ? Có nút tab nhưng ko có tác dụng gì cả, ko chuyển trang được?
Giúp mình với
http://www.yeucay.com/

Unknown said...

@Thiều Nem, Menu nhiều tab bạn để chỗ nào thế? Mình vừa vào site bạn nhưng chưa thấy. Có phải cái menu trên cùng?

Thiều Nem said...

Bạn xem ảnh chụp nhé
https://lh4.googleusercontent.com/--Mpsb8WqmTQ/UDhJfNFn_VI/AAAAAAAABxY/zJunx2E0GNQ/h104/yvc.jpg
Cái tab mình tạo trên cùng, các bài đã tag giống trong Tab đó, nhưng kich vào vẫn ko thấy chuyển?

Thiều Nem said...

https://lh4.googleusercontent.com/--Mpsb8WqmTQ/UDhJfNFn_VI/AAAAAAAABxY/zJunx2E0GNQ/s720/yvc.jpg

Unknown said...

@thiền nem: Mình thấy bạn cài thành công rồi đó chứ. Các tab đã chuyển rồi, có điều phần nội dung cho mỗi tab có lẽ bạn chưa gán vào thôi. Nếu bạn muốn hiển thị liệt kê các bài viết ra thì phải kết hợp thêm một số tiện ích , kiểu như bài viết mới nhất 1 nhãn ấy

Thiều Nem said...

Mình đang cần hướng dẫn làm sao cho phần nội dung nó vào các Tab.
Mình gắn thẻ tag ở bài viết rồi, không thấy chuyển

Unknown said...

Cái này không liên quan đến thẻ tag đâu bạn ah, mỗi phần nội dung của 1 tab nó tương ứng với một tiện ích mới bạn ah. Theo mình thấy cách bố trí và ý bạn định làm thì bạn nên làm menu xổ xuống thì chính xác hơn. http://huudung.vantri.vn/2011/01/tao-menu-xo-xuong.html

Thiều Nem said...

Vậy phần nội dung của 1 tab sẽ điền gì vào hả bạn?
PHần này mình ko hiểu:
[div class='tabbertab section' id='tabX'>
[h2] class='title'>Tiêu đề X [/h2]

Nội dung X / Code X
COde X điền gì? bạn cho ví dụ luôn cụ thể?

Unknown said...

"nội dung X/Code X" : Nó tương tự như phần nội dung của một tiện ích html/javascip ..

Ví dụ: Bạn muốn chèn 1 bức ảnh vào tab đó chẳng hạn. Bạn sẽ chèn đoạn code như dưới đây:
----------------
thêm dấu mở ngoặc nhọn vào nữa nhé, vì cm ko chấp nhận thẻ html :D
img border="0" " src="http://3.bp.blogspot.com/-pbeWlmf3mwU/T6kYovprQGI/AAAAAAAAAn8/8Y7w-Z2s8nI/s320/1237451098money.jpg" width="100%" />
-------------------------
Vì cái khung cm này không cụ thể nên mình khó có thể viết các ví dụ khác được, nôm na là bạn có thể chèn bất cứ nội dung html nào vào đó cũng dc :D


Unknown said...

Thiều có thể add skype của mình dung.thuongmaidientu rất vui nếu giúp được bạn :D

ok said...

Bài này hay quá anh Dũng ơi.

Tình hình là em mới tạo blog và làm theo cách này thì tạo được tabs, nhưng mấy cái tabs này nó nằm ngay phái trên,bên phải; giờ em muốn nó nằm phái dưới thì phải làm thế nào? Anh giúp em với.

Blog của em: http://ilearnisharei.blogspot.com

Anh có thể vào xem và góp ý thêm cho em được không ạ.
Email của em: nhontruongnguyen@gmail.com
Em cảm ơn anh nhìu!

Thiều Nem said...

Thanks bạn nhiều!
Ý mình muốn hỏi là cái CodeX đó phải như thế nào thì các Tab sẽ tự động chuyển tới các bài viết cùng chủ đề mà mình muốn ấy.
Mình sẽ liên hệ lại với bạn!

Unknown said...

sao mình chèn bài vào blog không được nhỉ? đưa chuột vào cũng không thay đổi màu nữa? Bạn giúp mình với
blog của mình:tailieu4you.blogspot.com

dinhvan1204 said...

bạn cho mình add liên kết vs
http://khongphaixoan.blogspot.com/p/trao-oi-link.html

BloG Không Phải "Xoắn"

Tony Dat said...

Bạn ơi mình đã tạo các thang menu "văn phòng cho thuê", "căn hộ cho thuê", "thông tin thị trường", "liên hệ" mà mình không biết làm thế nào để chèn các bài viết mình vào các menu này. Mong bạn giúp mình vấn đề này được không?
url: http://chothuevanphongcaooc.blogspot.com/
email: dat.hoang909@gmail.com

Max2do10111985 said...

bạn có thể chỉ cho mình cách nào để đưa các bài viết vào trong menu mà mình muốn ko !!! thanks

hanh nguyen said...

Để tạo một bộ sưu tập ảnh bìa facebook theo sở thích cũng như theo phong cách cá tính, bạn chỉ cần chọn cho mình những bức anh bia facebook theo sở thích, cá tính riêng. Như vậy bạn sẽ có ngay bộ sưu tập anh bia cho facebook
Dưới đây là một vài những bức ảnh bìa cho facebook đẹp.

Joseph Truong said...

thanks

Unknown said...

cho hoi cac doan code tren dung de? thêm cai' j2 cho blog vay. co' doan code nao tao danh muc san pham ko ban

Unknown said...

ban co mã co de html dung cho blogspost ban hang online ko ban cho minh xin 1 cai' thanks

Unknown said...

Minh k hieu dc luon trinh do IT minh cui qua' huhu

Unknown said...

các bạn ơi mình đang tìm cách tạo 1 blog hoàn chỉnh nhưng mà khi mình làm menu cho blog nhưng khi nhấn vào các dòng xổ ở dưới menu thì nó chẳng đi đến đâu cả bạn nào có thể trả lơi giúp mình vào email :kunformetolove@gmail.com được không. đây là blog minh đang gặp vấn đề đó http://thuvientoanhocfb.blogspot.com/# bạn nào biết thì giúp minh với nhá!!!
Mình Cảm ơn nhiều lắm. TK

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Facebook Themes