Trang chủ > Thủ thuật blog > Tạo menu giống Vnexpress.net

Tạo menu giống Vnexpress.net

Menu cho blog hay web là một trong nhưng công cụ rất hữu ích và tiện lợi.Nó giúp ta phân loại cho các bài viết theo một số nhãn tùy ý và giúp đọc giả nhanh chóng tìm được thông tin cần thiếtcó rất nhiều loại menu khác nhau như:Dạng menu sổ dọc,sổ ngang,dạng dock …Bây giờ mình giới thiệu cho bạn cách tạo menu với các hiệu ứng giông như Vnexpress.
Xem demo

Hình ảnh minh họa

♦ Để tạo một menu tab giống vnexpress bạn có thể làm theo cách sau đây.
Sau đây là các bước thực hiện :
1. Vào bố cục
2. Vào chỉnh sửa code HTML
3. Chèn đoạn code bên dưới vào trước thẻ đóng


.parent-menu, .sub-menu {width:800px;}

#topmenu {height:46px; margin-bottom:10px;z-index:-10px;}
.fl {float:left;}

#topmenu {float:left;}

.fr {float:right;}
.parent-menu {height:25px; font:11px tahoma; color:#ffffff; text-align:center; background:#f5f5f6 url(http://i342.photobucket.com/albums/o433/bkprobk/bg-fd.gif’) repeat-x 0px -46px;}
.pmenu-sep {width:25px;}
.pmenu-normal{height:15px; padding:7px; cursor:pointer;}
.pmenu-normal, .pmenu-active, .pmenu-normalleft, .pmenu-normalright, .pmenu-activeleft, .pmenu-activeright {cursor:pointer;}
.pmenu-normalleft, .pmenu-normalright, .pmenu-activeleft, .pmenu-activeright {width:3px; height:25px;font-size:1px;}
.pmenu-active {height:15px; padding:7px; color:#004f8b; background:#f5f5f6 url(
http://i342.photobucket.com/albums/o433/bkprobk/bg-fd.gif’) repeat-x 0px -73px;}
.pmenu-activeleft {height:25px; background:#f4f5f6 url(‘http://i342.photobucket.com/albums/o433/bkprobk/bg_corner.gif’) no-repeat 0px 0px;}
.pmenu-activeright {height:25px; background:#f4f5f6 url(‘http://i342.photobucket.com/albums/o433/bkprobk/bg_corner.gif’) no-repeat 0px -27px;}
.sub-menu {height:21px; background:#f5f5f6 url(
http://i342.photobucket.com/albums/o433/bkprobk/bg-fd.gif’) repeat-x 0px -100px;}
.smenu-content {width:678px; height:17px;padding:2px 7px;}
.smenu-content2 {width:892px; height:17px;padding:2px 7px;}
.smenu-content3 {width:534px; height:17px;padding:2px 7px;}
.smenu-content ul {width:50%;height:17px;margin:0px;padding:0px;list-style-type:none;}
.smenu-content li{float:right;padding:0px 5px;}
.smenu-content li img{border:0px; vertical-align:middle}
.sub-menu {position:relative; font: 12px arial; }
.parent-menu, .sub-menu, .sub-menucontent {overflow:hidden;}
.link-submenu {font:11px arial; color:#004f8b; text-decoration:none;}

.link-submenu:hover {text-decoration:underline;}
.sep-fmenu{width:2px; height:26px; background:#f4f5f6 url(http://i342.photobucket.com/albums/o433/bkprobk/bg_corner.gif’) no-repeat -5px -138px;}

var menu_fid = new Array(

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
);

var menu_pid = new Array(
0, // home
0, // Menu1
0, // Menu2
0, // Menu3
0, // Menu4
0, // Menu5

2, // sub 1.1
2, // sub 1.2
2, // sub 1.3

3, // sub 2.1
3, // sub 2.2
3, // sub 2.3

4, // sub 3.1
4, // sub 3.2
4, // sub 3.3

5, // sub 4.1
5, // sub 4.2
5, // sub 4.3

6, // sub 5.1
6, // sub 5.2
6 // sub 5.3

);
var menu_name = new Array(
‘Home’,
‘Menu 1’,
‘Menu 2’,
‘Menu 3’,
‘Menu 4’,
‘Menu 5’,

‘Submenu 1.1’,
‘Submenu 1.2’,
‘Submenu 1.3’,

‘Submenu 2.1’,
‘Submenu 2.2’,
‘Submenu 2.3’,

‘Submenu 3.1’,
‘Submenu 3.2’,
‘Submenu 3.3’,

‘Submenu 4.1’,
‘Submenu 4.2’,
‘Submenu 4.3’,

‘Submenu 5.1’,
‘Submenu 5.2’,
‘Submenu 5.3’
);
var menu_path = new Array(

http://singleboy010.blogspot.com/‘,
‘/Menu1/’,
‘/Menu2/’,
‘/Menu3/’,
‘/Menu4/’,
‘/Menu5/’,

‘/menu1/submenu1.1/’,
‘/menu1/submenu1.2/’,
‘/menu1/submenu1.3/’,

‘/menu2/submenu2.1/’,
‘/menu2/submenu2.2/’,
‘/menu2/submenu2.3/’,

‘/menu3/submenu3.1/’,
‘/menu3/submenu3.2/’,
‘/menu3/submenu3.3/’,

‘/menu4/submenu4.1/’,
‘/menu4/submenu4.2/’,
‘/menu4/submenu4.3/’,

‘/menu5/submenu5.1/’,
‘/menu5/submenu5.2/’,
‘/menu5/submenu5.3/’

);

var menu_show = new Array(
0, // home
0, // Menu1
0, // Menu2
0, // Menu3
0, // Menu4
0, // Menu5

0, // sub 1.1
0, // sub 1.2
0, // sub 1.3

0, // sub 2.1
0, // sub 2.2
0, // sub 2.3

0, // sub 3.1
0, // sub 3.2
0, // sub 3.3

0, // sub 4.1
0, // sub 4.2
0, // sub 4.3

0, // sub 5.1
0, // sub 5.2
0 // sub 5.3
);
<script
type=”text/javascript” language=”javascript” src=”http://singleboy010.110mb.com/Myfile/Javascript/singleboy-menu.js”&gt;

Bây giờ bạn chỉnh sửa một chút code css
a. mảng menu_fid :
– các dãy số tương ứng trong mảng này chính là id của các menu (menu chính + menu phụ), ví dụ ta có tổng cộng 10 menu (cả chính và phụ) thì con số của mảng này là từ
1 tới 10.
– Như ở trong đoạn code JS trên, ta có 6 menu chính và 15 menu phụ thì dãy số của chúng ta sẽ lên tới 21. nếu các bạn điền dãy số này lớn hơn 21 thì vẫn không sao, nhưng nếu nhỏ hơn 21 thì các menu sau cùng sẽ ko hiển thị được (cụ thể ở đây các submenu 5 sẽ hiển thị không đủ)

(bạn cần tính toán tổng số các menu và submenu để đưa ra dãy số chính xác)

b. mảng menu_pid :
– Mảng này giúp tạo bố cục của menu.
– Các menu chính được quy định bằng các con số 0
– Còn các menu phụ sẽ được quy định bằng các con số tiếp theo, và giống nhau (ở đây ko sử dụng dãy số 1 là do số 1 được đặt cho menu HOME), và như thế submenu 1 sẽ bắt đầu bằng các dãy số 2 giống nhau, tiếp theo submenu 2 là các dãy số 3 , …
– Muốn thêm hoặc bớt các menu chính hoặc phụ, ta chỉ cần thêm hoặc bớt các con số tương tự trong dãy số là được (lưu ý việc thêm hoặc bớt phải thực hiện đồng nhất ở 5 mảng)

c. mảng menu_name :
– Mảng này sẽ quy định tên cho các
menu chính và phụ.

(Đây là phần bạn đặt tên các menu hiển thị )

d. mảng menu_path :
– mảng này sẽ thiết lập địa chỉ liên kết cho các
menu chính và phụ.
thay thế các đoạn /menu1/submenu1.1/ , /menu1/submenu1.2/
, … thành các link tương ứng với menu đó.
– lưu ý là vị trí các phần tử trong mảng này và mảng menu_name phải khớp nhau, khi đó đường dẫn tới các menu mới chính xác.

e. mảng menu_show :
– các phần tử ở mảng này được biểu diễn bằng những con số 0. Lưu ý là tổng số các con số 0 phải bằng tổng
các menu chính và phụ.

Một vài lưu ý sau cùng : khi tùy chỉnh lại các phần tử trong mảng, phải đảm bảo số lượng các phần tử trong 5 mảng bằng nhau, và phải khớp với nhau theo đúng thứ tự của nó, và điều quan trọng nữa là chỉ có phần tử cuối cùng trong mảng mới ko có dấu phẩy (,) theo sau, nếu sai xót thì code sẽ bị lỗi.

4. Sau khi tùy chỉnh xong. Save template
5. Tạo 1 widget HTML/javascript và dán đoạn code bên dưới vào:

http://singleboy010.110mb.com/Myfile/icon/logo.ico” alt=”” height=”21″ />

menuobj=document.getElementById? document.getElementById(“submenu”) : document.all? document.all.submenu : document.layers? document.dep1.document.dep2 : “”
Active(); writeParentMenu(); reWriteMenu();
– ở đoạn code trên, có thể thay đổi logo hiển thị ở submenu (code màu xanh) thành logo của bạn . Nếu không muốn hiển thị nó thì có thể xóa nó đi.

Khi bạn áp dụng cho blog bạn, mỗi menu chính sẽ có các menu phụ nhiều ít khác nhau, vì thế nếu bạn dùng nguyên file JS mình đưa sẽ hiển thị không được tốt lắm. Vì vậy để việc hiển thị tốt nhất, bạn hãy tự mình điều chỉnh lại việc hiển thị của mỗi submenu.
Ngoài ra bạn có thể chèn code trên vào cùng một Widget này để dễ dàng hơn trong việc chỉnh sửa thay vì bạn phải dán vào trước thẻ . Bạn có thể download file ở tại đây về chỉnh sửa một chút theo thủ thuật trên và dán vào HTML/ Javascript của bạn là sử dụng được ngay.
Chúc bạn thành công

Advertisements
Chuyên mục:Thủ thuật blog
  1. Không có bình luận
  1. No trackbacks yet.

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s

%d bloggers like this: