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

Share temp maphim.net phiên bản v3.0 [skin Phim47] . Xml của Blogger.

Người đăng: chaobuoisang on Thứ Tư, 8 tháng 8, 2012

Share temp maphim.net phiên bản v3.0 [skin Phim47] . Xml của Blogger.

Phim,Xem phim online HD nhanh mien phi chat luong cao khong giat 2013,2012

Tuy là cũ nhưng có vẻ rất nhiều bạn kết Temp này. Vì đó mình quyết định edit lại temp và share cho các bạn.

Player phiên bản mới nhất, hỗ trợ thumb cho Youtube và change Server.

Phim,Xem phim online HD nhanh mien phi chat luong cao khong giat 2013,2012


Download : http://v3maphim.googlecode.com/files/maphimblogs.zip

Demo : http://blog-mphim.blogspot.com/2012/08/test-temp.html

Hướng dẫn sử dụng :

= > tìm đoạn code sau : anc.home = "maphim.net"; thay bằng anc.home = "domain của bạn";

Nếu không có Sub thì chỉ cần ghi "domain.com" như trên, có sub thì điền là : xxx.domain.com

Ctrl + F : đoạn code sau ..

<script src='http://anhnc.googlecode.com/svn/trunk/beg/search.js'/>

<script src='http://anhnc.googlecode.com/svn/trunk/beg/ft.js'/>

= > Tải 2 file này về và sửa tất cả www.maphim.net thành domain của bạn, hoặc sub domain.

== > Cách post phim các bạn có thể xem tại đây.
More about

Giải pháp Blogger bị chặn 02/07/2012

Người đăng: chaobuoisang on Chủ Nhật, 1 tháng 7, 2012

Thứ 2 đầu tuần thức dậy đã bị chặn rồi lại ngồi check IP

Demo test thử ok : http://www.topphimtuan.com

or : http://www.helloximo.com


Giải pháp:

Các bạn truy cập Domain Manager xóa hết các Records cũ, rồi DNS tới địa chỉ IP sau là ok

74.125.71.121

Chúc vui vẻ
More about

Các truy vấn cơ bản với Blogspot

Người đăng: chaobuoisang on Thứ Tư, 27 tháng 6, 2012

Hầu như ai cũng biết đến một câu truy vấn thông dụng, hôm nay mình sẽ giúp các bạn hiểu rõ hơn một chút, làm BlogSpot nghe chừng lại càng đơn giản ..Rất thuận tiện cho các bạn trong việc RipTemp, Design Template cho BlogSpot.



Mình muốn nhắc đến câu lệnh này :

/feeds/posts/default/-/ThuthuatBlog?start-index=1&max-results=44&alt=json-in-script&callback=ancdata


Trước tiên, mình được biết Cơ sở dữ liệu của Blogspot là một file XML. Nó là một dạng CSDL NoSQL.

NoSQL :

 Là những cơ sở dữ liệu không dùng mô hình dữ liệu quan hệ để quản lý dữ liệu, có thể lưu trữ, xử lý từ một lượng rất nhỏ cho tới hàng petabytes dữ liệu trong hệ thống có độ chịu tải, lỗi cao với những đòi hỏi về tài nguyên phần cứng thấp.

Một số đặc điểm nhận dạng cho thế hệ database mới này bao gồm: schema-free, hỗ trợ mở rộng dễ dàng, API đơn giản, eventual consistency (nhất quán cuối) và/hoặc transactions hạn chế trên các thành phần dữ liệu đơn lẻ,  không giới hạn không gian dữ liệu,...

Như vậy các bạn chỉ cần tập trung vào nghiên cứu phần API (Truy vấn bằng Json) của nó. Tuy nhiên, vấn đề đó chỉ dành cho các bạn ưa tìm hiểu thôi..

Nhưng câu lệnh mình đưa ra có nghĩa ra sao, chúng ta cùng phân tích. Minh sẽ giải thích một cách đơn giản nhất.

Truy vấn Tag (Label) :

/feeds/posts/default/-/label?start-index=vitribatdau&max-results=soluonglayra&alt=json-in-script&callback=hamgoi


Truy vấn Search (Tìm kiếm)

/feeds/posts/default/?q=tukhoa&start-index=vitribatdau&max-results=soluonglayra&alt=json-in-script&callback=hamgoi


Truy vấn bài viết mới xuất bản

/feeds/posts/default/?start-index=vitribatdau&max-results=soluonglayra&alt=json-in-script&callback=hamgoi



Những câu lệnh truy vấn trên mình muốn đưa tới cho các bạn đã biết và sử dụng thành thạo blogspot. Trong thời gian tới, mình sẽ cố gắng nghiên cứu sâu làm hoàn thiện tools ANCLoad Data cho tất cả các bạn chưa biết hoặc đã biết tới các câu lênh truy vấn trên đều có thể sử dụng.

Mình là Anh.NC đến từ Blog ANCTemp
More about

Nâng cấp ANC Gdata lên phiên bản 2.

Người đăng: chaobuoisang on Thứ Hai, 18 tháng 6, 2012

Dự án này của mình xuất phát từ cái lười thực tại và cần độ chính xác cao. Gdata (v.1) có lẽ với nhiều blogger chuyên về post phim thì chắc rất rõ.



Phiên bản này mình đã hỗ trợ nhiều cả cho các loại blog hay lấy link lên các diễn đàn. Tự động đánh số hay không đánh số.

Lấy hàng loạt link youtube tại đây :  Gdata

Một số hình ảnh :






Link gửi vào đang ở dạng playlist.

VD : http://www.youtube.com/playlist?list=PL99314DC79111E253&feature=plcp

Phiên bản tới sẽ cập nhập thêm chức năng lấy video từ người dùng, từ khoá tìm kiếm .. .v.v
More about

Hướng dẫn config domain cho hầu hết các mạng.

Người đăng: chaobuoisang on Chủ Nhật, 17 tháng 6, 2012

Chắc có lẽ cũng nhiều bạn băn khoăn như mình. Hôm nay mình sẽ làm rõ vẫn đề để tất cả cùng hiểu, tại sao site các bạn lại không vào được



Một lá thư được gửi cho mình :

Hiện nay nhà mạng VNPT đã chặn blogspot rất chặc chẽ, nhiều website sử dụng blogspot có tên miền riêng như www.fandung.com, www.vnblogspot.com, www.marketingvn.name.vn,... vào lúc được lúc không, lúc không được thì nhiều hơn, đặc biệt vào buổi tối và thứ 7, CN. Nhưng mình thấy website của bạn www.maphim.net vào lúc nào cũng được, chưa bao giờ mình thấy không vào được.


Vậy bạn có thể chỉ giúp mình cách mà bạn áp dụng cho www.maphim.net được không?


Mình đang rất cần sự giúp đỡ về việc này, mong bạn sẽ giúp mình!
.
Thứ nhất, các site lớn như fandung, vnblogspot cấu hình ra sao ?

Các đàn anh vẫn sử dụng ghs.google.com, với fandung có lẽ là do bận gì đó hoặc công tác quên chăm sóc blog của mình. VnBlogspot thì khách viếng chủ yếu là ở Blogitem nên có lẽ không quan tâm tình trạng này.






Thứ 2, domain bạn gửi thư cho mình.


Thứ 3 là domain maphim.net


BlogSpot


Blogger



Hiện tại thì chưa có thời gian nghiên cứu kỹ hết các cách giúp blogspot thoát khỏi tình trạng này. Nếu có cách hay mình sẽ sớm chia sẻ và cập nhật.


Mình đã thêm cả 2 ip : 74.125.51.121216.239.34.21, nếu bị chặn khung giờ nào thì sẽ tự động đổi sang ip còn lại..

(Ping lúc : 2h30 // 18.06.2012)

More about

Khắc phục hiện tượng chặn web của VNPT.

Người đăng: chaobuoisang on Thứ Bảy, 9 tháng 6, 2012

Hôm qua mình đau đầu với cái mạng VNPT. Chả hiểu sao nó lại chặn web của mình, trong khi đó domain blogger.com và *.blogspot.com lại vào ngon lành. Chả nhẽ lại chuyển về cái domain free à. Thế thì bao nhiêu công lao gây dựng đi tong sao ?

Phải chăng là câu nói đúng ?


Ngồi suy nghĩ một lúc. Đã tìm ra !

Hôm trước tất cả các dịch vụ của Google bị VNPT làm nháo nhác cả lên, trong khi đó mình dùng ké wifi FPT của hàng xóm thì chả làm sao. Đến một số file js của mình cũng "Not Found". Ắt hẳn nó đã chặn cái NameSever của Google rồi (ghs.google.com.).


Ping thử 2 domain :

 = > maphim.net của mình nó ra ip 67.208.74.71
 = > blogger.com và blogspot.com thì là 74.125.71.191











Nhiều bạn chắc đã ngấm ra rồi...

Mình xem lại, mình đặt Cname cho domain của mình hướng về host Google. Hic, bảo sao. Trang của anh Dũng thì không bị sao (fandung.com), vậy là chắc chắn anh Dũng đã add cả A Record với ip là 74.125.53.121 như hướng dẫn trước đây tại trang Support của Blogger.

Hiện tại mình vào thì không thấy, nhưng trên mạng rất nhiều bài hướng dẫn, mọi người có thể tìm từ khoá sau :

"add domain vào blogspot"


Kết luận : Khi add domain mọi người nên đổi CName thành A Record với ip là 74.125.53.121 nhé.
Yên tâm dùng cái này, nếu VNPT mà chặn thì đảm bảo VNPT sẽ sớm phá sản.

Chúc mọi người thành công !

(Suzuki_aka & ANC Group)
More about

Giải pháp VNPT chặn blogger ngày 09/06/2012

Người đăng: chaobuoisang

Chú ý :  Nhiều bạn DNS sai do chưa DNS được www nên vẫn chưa được

  - Xóa bỏ DNS tới ghs.google.com trước khi DNS tới 4 IP. 
  - DNS cả rootwww tới IP . Trong đó phải DNS www tới 4 IP là quan trọng nhất . vì blogger chỉ nhận www  , root chỉ có tác dụng chuyển hướng tới www khi vào Blogger chọn -> cài đặt -> Xuất bản -> Đánh dấu ô chuyển hướng hoặc chuyển hướng ở CP Domain Manager
  - Để kiểm tra -> Ở PC chọn Start -> Run... -> hiện ra cửa sổ nhập vào :  ping www.domain.com -t  -> Enter để xem đã DNS về 1 trong 4 IP chưa . ( nhớ là phải có www nha )
 ---------------------------------------------------------------------------
Đang buồn on Y!M thì thấy mấy bạn PM blogger ko vào được do mạng VNPT chặn.
Nay mình sẽ hướng dẫn giải pháp tạm thời để mọi người có thể truy cập được blog của bạn dù là mạng gì mà không cần sử dụng đến phần mềm hỗ trợ.
Thực chất hiện tại VNPT đang chặn IP liên quan đến DNS ghs.google.com. chứ không chỉ chặn riêng đuôi .blogspot.com như trước.
Nguyên nhân chặn mình nghĩ vì VN sử dụng facebook, blogspot ... (đường truyền quốc tế) nhiều mà chưa thu được lại lợi nhuận do giá thành cao hơn đường truyền trong nước nên nhà mạng tạm khóa IP để ko bị thua lỗ.
Demo test thử site mình ok : http://www.topphimtuan.com
Vì vậy ta có thể sử 4 IP blogger của google để DNS sử dụng cho ổn định
Các bạn truy cập Domain Manager để DNS cấu hình tới 4 địa chỉ IP lần lượt như sau
216.239.32.21
216.239.34.21
216.239.36.21
216.239.38.21

Hình ảnh ví dụ domain DNS tại sitelutions.com , với root www đều add = IP cho ổn định ( kể cả sub )

1. Chọn [Advanced Config & DDNS] để DNS


2. Chọn [Add Record] DNS tới 4 IP trên


Với các Domain Manager khác cũng DNS tương tự
Chúc các bạn thành công
More about

Tạo lại header cho chuẩn Seo

Người đăng: chaobuoisang on Chủ Nhật, 22 tháng 4, 2012

Như các bạn đã biết BlogSpot giờ không thua kém các người anh em cùng họ. Phần mô tả đã cung cấp đầy đủ đến tận các bài viết con (item).. Nhưng nhiều bạn chưa biết cách vận dụng hết các chức năng đó. Trong phần đầu tiên này mình sẽ giới thiệu về phần "Mô tả", có thể coi đây là tóm tắt nội dung của bài viết, giúp cho các rotbot có thể tìm kiêm dễ dàng.



Đầu tiên, các bạn vào phần  Cài đặt >> Tuỳ chọn tìm kiếm >>


- Bật phần mô tả lên, nội dung mà bạn gõ vào chính là phần mô tả ở trang home.

- Để hiện phần mô tả cho trang con thì làm như thế nào.


- Bạn copy một đoạn trong bài viết và dán vào dây.

Bạn có thể viewsource trang sau để thấy rõ :


Nhưng câu hỏi đặt ra như sau, nhiều khi bạn quên không copy, hay với data 1k bài viết có sẵn của bạn phải làm sao để có 1k mô tả. Bạn phải đi copy cho từng bài :((..Phát ốm luôn. !

Mình sẽ chỉ các bạn các fix sau đây.

Copy và thay thế đoạn code bạn đang có nằm giữa <head> và <b:skin>

<b:include data='blog' name='all-head-content'/>
<!-- title, keyword -->
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<title><data:blog.pageTitle/></title>
<meta content=' nhập các từ khoá của bạn ' name='keywords'/>
<b:else/>
<b:if cond='data:blog.pageType == "item"'>
<title>Thủ thuật <data:blog.pageName/> | 24h online </title>
<b:else/>
<title><data:blog.pageName/> - Teteit </title>
</b:if>
<meta name="keywords" expr:content="data:blog.pageName + &quot; nhập các từ khoá của bạn &quot;" />
</b:if>
<!-- meta -->
<meta name="robots" content="index, follow" />
<meta content="index, follow" name="GOOGLEBOT" />
<meta content="index, follow" name="yahooBOT" />
<meta name="author" content="suzuki_aka"/>
<!-- mota -->
<b:if cond='data:blog.metaDescription == &quot;&quot;'>
<b:if cond='data:blog.url != data:blog.homepageUrl'>
<meta name="description" expr:content="data:blog.pageName + &quot; nhập các mô tả chung, hoặc từ khoá &quot;" />
</b:if>
</b:if>

Các từ khoá màu đỏ là phần bạn sẽ thay. 

= > Cho dù bạn có quên copy thì bạn vẫn có một mô tả, nhưng để có 1 mô tả đẹp thì bạn nên copy một đoạn nhỏ vào mô tả tìm kiếm. Và giờ có 1k bài viết bạn cũng chả lo ngại gì.

Thêm một lưu ý rằng dòng lệnh :

<b:include data='blog' name='all-head-content'/>


rất quan trọng với blogspot, nếu có trót lỡ bỏ thì bạn hay thêm nó vào, nếu không bạn sẽ mất một vài index đấy ;)) . Nó bao gồm cả biến : data:blog.metaDescription (mình hay dùng nó thay cho data:post.snippet).

Bài viết sau chắc mình sẽ giới thiệu một số page 404 độc độc, nghịch nghịch một chút. Giờ cũng muộn rồi nên ngừng gõ ở đây.

Chúc các bạn thành công !
More about

BlogSpot cải thiện tính năng SEO cho blog

Người đăng: chaobuoisang on Thứ Năm, 22 tháng 3, 2012

Maphim.Net | Xem phim Online, xem phim han, phim 47, tron boBlogger hôm nay đã cập nhật nhiều tính năng SEO mới cho Blogger. Phải tranh thủ xem qua mới rõ hết được, có lẽ giao diện blog cũ sẽ không được nâng cấp thêm. Các bạn hãy vào giao diện Blog mới để thiết kế tuỳ chỉnh. Địa chỉ giao diện mới tại đây.
Một số điểm mới có thể kể ở đây, cụ thể là :

 1. Thẻ mô tả 

   - Tuy đã được hỗ trợ trong phần cài đặt chính nhưng nó vẫn được gom nhóm vào phần tìm kiếm chung cho blog của bạn. Hãy bật nó lên lần nữa nhé.

 2. Lỗi và chuyển hướng

    -  Bạn đã có thể tạo thông báo lỗi bằng các đoạn mã, hay ảnh hiển thị.
    -  Tính năng chuyển hướng mới đã được cải thiện, giờ bạn có thể dùng javascript để tạo thêm các link cho mình. Một các hack tag SEO cho blog, mình sẽ sớm công bố tiện ích này, gộp chung nó vào phần tìm kiếm theo tag, keywords của từ khoá.


Maphim.Net | Xem phim Online, xem phim han, phim 47, tron bo

   -  Mọi người có thể check thử link sau : .. sieuluoi, bạn sẽ nhận được thông báo Rất tiếc, trang bạn đang tìm trong blog này không tồn tại. Nhưng với vài thủ thuật nhỏ ta sẽ biến nó thành một phần của Blog, như một Website hoàn thiện, hay đúng hơn là hoàn thiện.

Maphim.Net | Xem phim Online, xem phim han, phim 47, tron bo

3. Robots.txt và tuỳ chỉnh tìm kiếm của Robots.txt.

  - Với dự án mở của Blogger này ta có thể mở phần /search bị đóng lâu nay của Blogger.

User-agent: * Disallow: /search == > Allow: /search
Allow: /
 -  Chưa biết có thăng thêm index lên Google không nhưng mình tin là có.
-  Tuỳ chỉnh các thẻ meta robots mà không cần mó tay vào code temp blog.


Maphim.Net | Xem phim Online, xem phim han, phim 47, tron bo

Kết chung lại,  blogger đang càng ngày càng thân thiện với người dùng, trong năm tới và kể cả ngay về sau này nó còn tiếp tục miễn phí không thì mình không đoán được. Chỉ biết bay giờ mình yêu BlogSpot, một thứ ngon bổ rẻ.
More about

ANCKeywords - Tự động cập nhập keywords từ người dùng cho site.

Người đăng: chaobuoisang on Thứ Sáu, 9 tháng 3, 2012

Lâu lắm không viết Blog, tại công việc cũng nhiều... Phần vì quá bận, phần vì yêu cầu các bạn riêng rẽ hay không thồng nhất, nên một vài Plugin mình ngừng chia sẻ và phát triển thêm.

Plugin mới này mình cũng mới test thử và hiệu quả cũng rất tốt. Còn về khách quan mà nói, mình không phải một dân chuyên SEM, SEO. Nên kinh nghiệm về SEO và SEM còn hạn chế. Có một pro đã nói plugin này không an toàn với Sanbox của Google, hoặc index từ Google. Do vậy các bạn nên cân nhắc khi sử dụng tool này.



Nói sơ qua về plugin này, nó có thể nói là một công cụ mạnh cho việc tạo và hỗ trợ thêm về từ khoá cho site của bạn. Đôi khi bạn hay phải cập nhật từ khoá hot cho site, nhưng công việc bận rộn, khiến bạn không thể rảnh tay mà cập nhật được. Mình làm tool này mong làm giảm nhẹ việc đó. Tất cả các từ khoá sẽ được cập nhật từ người dùng, các từ khoá tìm kiếm nhiều nhất, hot nhất đều được tự động thêm vào sau mỗi ngày, mỗi giờ, tuỳ vào tuỳ chỉnh của bạn.

Sử dụng như sau:

1. Hãy đăng ký một nick tại đây (có thể coi đây là trang lưu trữ thông tin keywords cho site bạn.)


 2. Đăng nhập vào vào phần chữ đỏ sau để lấy KeyAPI cho site.


Lấy KeyAPI tại đây : các bạn cần phải lấy bao gồm Your secret API key & Your site guid 


3. Sử dụng ANCKeywords để tạo keywords cho site từ KeyAPI lấy được.

Tạo một file js vào cho đoạn mã sau upload lên Google Code.


//Begin code
var aseo = {
tag:"{các từ khoá liên quan đến site bạn, 4 từ, ngăn nhau bởi dấu ,}",num:"",ap:"Tên site hoặc domain",as:'Lời giới thiệu'
}
veo = "{domain},{subdomain}";

function s_write(keysite,keyapi)
{
surl = 'https://api.tynt.com/publisher/v1/keyword/inbound?site_guid='+keysite+'&api_key='+keyapi+'&hours=24&callback=ancseo';
var sr = document.createElement('script');
sr.src = surl;
document.getElementsByTagName('head')[0].appendChild(sr);

sdata = "if(document.location.protocol=='http:'){"
+"var Tynt=Tynt||[];Tynt.push('"+keysite+"');"
+'Tynt.i={"ap":"'+aseo.ap+'","as":"'+aseo.as+'","st":true};'
+"(function(){var s=document.createElement('script');"
+'s.async="async";s.type="text/javascript";'
+"s.src='http://tcr.tynt.com/ti.js';var h=document.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h);})();}";

var srr = document.createElement('script');
srr.innerHTML = sdata;
document.getElementsByTagName('head')[0].appendChild(srr);

}

function ancseo(x){

num_seo = x.data.length;

for(var i=0; i<num_seo; i++){
veo += x.data[i];
}

var meta = document.createElement('meta');
meta.name = 'keywords';
meta.content = veo.replace(/\,[\d]*/gi,",") + aseo.tag;
document.getElementsByTagName('head')[0].appendChild(meta);

aseo.tag = veo + aseo.tag;

}

function diseo(name,content){

var mt = document.createElement('meta');
mt.name = name;
mt.content = content;
document.getElementsByTagName('head')[0].appendChild(mt);
}
//Endcode

Sau khi tạo xong bạn lấy link và chèn vào phần header đoạn code sau.

<script src="//Link file của bạn"></script>
<script>
/*--- Auto SEO Update Keyword ---*/
s_write('{Your site guid}','{Your secret API key}');
</script>

 Số 24 bạn có thể thay thành các số sau: 1, 8, 12, 24. Đây là thời gian  update keywords cho các bạn.

Kết quả từ sau một đêm của mình các bạn có thể xem và cho nhận xét.


Chúc các bạn thành công !
More about

Đưa Radio vào Blog của bạn (Yêu cầu)

Người đăng: chaobuoisang on Chủ Nhật, 5 tháng 2, 2012

Đáp ứng yêu cầu của giáo xứ phú giáo, trong nhưng ngày đầu năm này có lẽ anh Dũng cũng bận cho việc ... Va lung tung .. Không có thời gian chăm sóc blog được. Còn riêng mình cũng tung hoành khắp nơi, bận ăn, bận uống bù hết cả đầu. Đọc thấy yêu cầu này phù hợp với khả năng, giúp bạn một chút chút. ..

Maphim.Net | Xem phim Online, xem phim han, phim 47, tron bo



Style CSS :

<style>
    .radio{padding-top: 5px; border: 1px dashed #cccccc; width: 430px; position: fixed; bottom: 20px; right: 0px;}
    li{list-style:none;float:left; margin-left: 10px; padding: 5px;}
    li:hover{background-color: #494949; box-shadow: 1px 0px 3px;}
    li:active{box-shadow: 2px 1px 3px;}
   
    li.p{margin-left:30px; color: green; box-shadow: 2px 0px 3px 1px;}
    li.p:hover{background:none;}
    li.p span{text-decoration:blink;}
   
    a{text-decoration:none; color: #888888; font-size: 12px;}
    #player{margin-top:20px;}
</style>

Đài của mình..
Maphim.Net | Xem phim Online, xem phim han, phim 47, tron bo

<div class="channel">
    <li><a href="javascript:radio('vov1')">VOV1</a></li>
    <li><a href="javascript:radio('vov2')">VOV2</a></li>
    <li><a href="javascript:radio('vov3')">VOV3</a></li>
    <li><a href="javascript:radio('vov4')">VOV4</a></li>
    <li><a href="javascript:radio('vov5')">VOV5</a></li>
    <li id="pl" class="p"></li>
</div>
    <div id="player">Radio23h - Blog Radio, chia sẻ xúc cảm cuộc sống</div>
</div>

JavaScript

<script>
function radio(channel){
    var data = '<embed width="430" height="24" flashvars="&amp;file='+channel+'.flv&amp;streamer=rtmp://123.30.50.46:8080/live&amp;skin=&amp;autostart=true" allowfullscreen="true" allowscriptaccess="always" quality="high" name="mpl" id="mpl" style="undefined" src="http://player.longtailvideo.com/player5.9.swf" type="application/x-shockwave-flash">';
   
    document.getElementById("player").innerHTML = data;
    document.getElementById("pl").innerHTML = channel+" playing<span>...</span>";
    }
radio('vov3');   
</script>


radio('vov3') ==> là đài mặc định bạn chạy đầu tiên.

Chúc các bạn thành công !
More about

[Updated] K14 - Pro Menu (với hiệu ứng prodown)

Người đăng: chaobuoisang on Thứ Ba, 3 tháng 1, 2012

Lấy ý tưởng từ việc thực hiện demo cho bài viết Tạo Menu Thanh menu ngang có sổ dọc xuống mình dự định sẽ updated thủ thuật lên bằng việc tạo các giao diện khác nhau cho menu khi xem ở các trang khác nhau, ví dụ như các trang label. Nhưng sau đó mình nhớ đến kênh14 cũng có menu như vậy (chỉ khác là không có dropdown) mà giao diện lại đẹp nữa, nên mình quyết định Rip menu này. Và ở bài này menu sẽ không có hiệu ứng dropdown, mình dự định sẽ thêm hiệu ứng dropdown trong thời gian tới.


Xem DEMO

Hình ảnh minh họa :

Updated: Đã cập nhật hiệu ứng sổ dọc cho menu, các bạn có thể xem ở bên dưới

Do làm biếng design giao diện cho nó, nên mình lấy hình nên bên kênh 14 về rồi fix lại để giới thiệu cho mọi người. Và sau đây là 1 số tính năng của nó :
- Tự động thay đổi giao diện của menu cho các trang định sẵn.
- có hiệu ứng trang hiện hành (current) trên menu.
- có 6 kiểu giao diện cho các lựa chọn để thay đổi.

Sau đây là các bước thực hiện :
- Tạo 1 widget HTML/javascript ở nơi muốn đặt menu (tốt nhất là trên header của blog), sau đó dán đoạn code bên dưới vào :
<style type="text/css">
#promenu ul li a:hover {text-decoration:none;}
#promenu {
background-repeat: repeat-x;
background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh76NMtpZsl9zL4CAxQgdKFTQsJDlDXkRXlmcBPzRJNP9BcQc68fT4ziiWUjwqD5h25e4zuusTZNAluXWhVKtv-N4v_tDavz9efqjauHmJ_dVnuh45xRIFu69v8sFrDuRj53xmei2oJHOSp/s400/1-6-bg.png);
width: 100%;
height: 32px;
}
.menu {
list-style: none;
width: 100%;
margin: auto!important;
}
.menu li {
float: left;
text-align: center;
padding:0!important;
}
.menu li a {
color: white;
}
.menu .active, .menu li:hover {
background-position: 0 -34px;
float: left;
}
.menu .active span, .menu span:hover {
background-position: 100% -34px;
float: left;
line-height: 30px;
height: 30px;
}
.menu li a span {
font: 12px/31px Tahoma;
font-weight: 700;
display: block;
text-align: center;
padding: 0 8px 0 9px;
}
.menusep {
background-position: 0 0;
height: 32px;
line-height: 32px;
width: 2px;
}
</style>

<script type="text/javascript">
//<![CDATA[
var style1=["0px","https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVKtdNvA1_6MsxAyD91TTo1Jq92qFcuVyTwLTlFbHLO3wA9YfVomHvOtYoaCS47eSwDKK_kDQrHMl6-EogKm7js3TGLlNgFjnxLsyKYtEM5Lm1DSLy_WQAaPMF3MSQCNX8uaKcM3pisHH-/s318/style1-sp.png"];
var style2=["-40px","https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA60ZbIh_sq9w7_3Vf2kYfrQu7znmQ7oqFf_81RH6jnKjxe2RoN7KsXBmhm92EcIxi9W-YygXoEbniA3AqzCHQrXL8-Ssv-rJta6qrZt5CSd04EBBSwlu21wMlBXAnECyRVMa4L1mnkN1v/s318/style2-sp.png"];
var style3=["-80px","https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbNCuBjh8tY4455enhomNXn4FVrgVeQvRQ2PUbvPWzf7LZlsf7121IQGn4eABdFWYUbUBnXxRyMBVfB1sHAdrflIFoehBfUCvTmBRCYXgNjGcMxwvRrjwMr3ccH46s6Z9UftfGrFweJWTE/s318/style3-sp.png"];
var style4=["-120px","https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcXPx0YpaX1mshh0isjIOcOniLylPbt7sJr9kqqw-miWBEXWH6g6EQK6-m98rk0u17Cn21HkXgOxqZci9cVwrsOT7b6T24TeWwGNrsOje6R9hTdrg6hjNrjKoxqpF1-ZjnyjafUHPjKxH0/s318/style4-sp.png"];
var style5=["-160px","https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4cY3CzMEiywnl3XFWCaVMifVjrWmA7e1L3YSaviSiMmW3ELm-2_7tAXkDjB38EmUSeAjYeQ1Vhj0bQlxElrHplC23CWn6G5SClf4nN-45hVrtyFJoS-cG9XF5Aznk_vcFGG1hplhAQGdz/s318/style5-sp.png"];
var style6=["-200px","https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNEkZspEeWC3r8bXHeGIdqEA-7mMPWbxsfUEG0IWAQ-rCVf-XcUAW90_Itio7b7fdd2yd-MCp9o8mYq3OTU-GSlWDwKlhvFZDs8jyJkfEFcRo7oEsKtTYuLZ2-tLFXi43NvXhl9jN_15Dt/s318/style6-sp.png"];

var m0=["http://demo.fandung.com","Home","home_id"];
var m1=["link_menu1","Menu1","m_id1"];
var m2=["link_menu2","Menu2","m_id2"];
var m3=["link_menu3","Menu3","m_id3"];
var m4=["link_menu4","Menu4","m_id4"];
var m5=["link_menu5","Menu5","m_id5"];
var m6=["link_menu6","Menu6","m_id6"];

var ttmenu = [m0,m1,m2,m3,m4,m5,m6];

var n=ttmenu.length;
var list_menu=[];
var list_active=[];
var c_menu='';
var m_homepage='http://demo.fandung.com';
var h_cond=m_homepage+'/search';

var active_cond = location.href;
var home_cond=active_cond.split("?")[0];

var bg_pos='';
var sp_img='';

if (active_cond.indexOf(ttmenu[1][0])!=-1) {bg_pos=style2[0];sp_img=style2[1];}
else if (active_cond.indexOf(ttmenu[2][0])!=-1) {bg_pos=style3[0];sp_img=style3[1];}
else if (active_cond.indexOf(ttmenu[3][0])!=-1) {bg_pos=style4[0];sp_img=style4[1];}
else if (active_cond.indexOf(ttmenu[4][0])!=-1) {bg_pos=style5[0];sp_img=style5[1];}
else if (active_cond.indexOf(ttmenu[5][0])!=-1) {bg_pos=style6[0];sp_img=style6[1];}
else if (active_cond.indexOf(ttmenu[6][0])!=-1) {bg_pos=style2[0];sp_img=style2[1];}
else {bg_pos=style1[0];sp_img=style1[1];}

var mcss = document.createElement('style');
mcss.type = 'text/css';
mcss.innerHTML = '#promenu {background-position: 0 '+bg_pos+'} .menu li:hover, .menu .active, .menu .active span, .menusep, .menu span:hover {background-image: url('+sp_img+')}';
document.body.appendChild(mcss);

c_menu +='<div id="promenu"><ul class="menu">';

for (var i=0;i<n;i++) {

if ((home_cond==m_homepage)||(home_cond==h_cond)) {list_active[0]='class="active"';}
else if (active_cond.indexOf(ttmenu[i][0])!=-1) {list_active[i]='class="active"';} else {list_active[i]='';}

list_menu[i]='<li><a href="'+ttmenu[i][0]+'" '+list_active[i]+' id="'+ttmenu[i][2]+'"><span>'+ttmenu[i][1]+'</span></a></li>';
c_menu +=list_menu[i];
if (i<n-1) {c_menu +='<li class="menusep"> </li>';}
}
c_menu +='</ul></div>';
document.write(c_menu);

//]]>
</script>

Một vài hướng dẫn :
- Việc đầu tiên là thay http://demo.fandung.com thành tên miền của blog bạn, nhớ là không có dấu (/) theo sau tên miền.
- Để thêm menu, bớt menu, thay đổi tên hiển thị của menu, thay đổi link liên kết của menu,... các bạn chỉnh sửa ở đoạn code như bên dưới :
...
...
var m0=["http://demo.fandung.com","Home","home_id"];
var m1=["link_menu1","Menu1","m_id1"];
var m2=["link_menu2","Menu2","m_id2"];
var m3=["link_menu3","Menu3","m_id3"];
var m4=["link_menu4","Menu4","m_id4"];
var m5=["link_menu5","Menu5","m_id5"];
var m6=["link_menu6","Menu6","m_id6"];

var ttmenu = [m0,m1,m2,m3,m4,m5,m6];
...
...
- http://demo.fandung.com thay bằng địa chỉ trang chủ của blog bạn
- link_menu1, link_menu2, ... là đia chỉ liên kết của các menu.
- Menu1, Menu2, ... là tên hiển thị của các menu.
- nếu muốn thêm nhiều menu nữa thì các bạn thêm code tương tự như bên dưới :
...
...
var m0=["http://demo.fandung.com","Home","home_id"];
var m1=["link_menu1","Menu1","m_id1"];
var m2=["link_menu2","Menu2","m_id2"];
var m3=["link_menu3","Menu3","m_id3"];
var m4=["link_menu4","Menu4","m_id4"];
var m5=["link_menu5","Menu5","m_id5"];
var m6=["link_menu6","Menu6","m_id6"];
var m7=["link_menu7","Menu7","m_id7"];
var m8=["link_menu8","Menu8","m_id8"];


var ttmenu = [m0,m1,m2,m3,m4,m5,m6,m7,m8];
...
...
- để tùy chọn style cho menu ở mỗi trang, các bạn chỉnh sửa ở đoạn code bên dưới :
...
...
if (active_cond.indexOf(ttmenu[1][0])!=-1) {bg_pos=style2[0];sp_img=style2[1];}
else if (active_cond.indexOf(ttmenu[2][0])!=-1) {bg_pos=style3[0];sp_img=style3[1];}
else if (active_cond.indexOf(ttmenu[3][0])!=-1) {bg_pos=style4[0];sp_img=style4[1];}
else if (active_cond.indexOf(ttmenu[4][0])!=-1) {bg_pos=style5[0];sp_img=style5[1];}
else if (active_cond.indexOf(ttmenu[5][0])!=-1) {bg_pos=style6[0];sp_img=style6[1];}
else if (active_cond.indexOf(ttmenu[6][0])!=-1) {bg_pos=style2[0];sp_img=style2[1];}
else {bg_pos=style1[0];sp_img=style1[1];}
...
...
- ttmenu[1][0], ttmenu[2][0], ..., ttmenu[6][0] ; đây là các phần tử trong mảng 2 chiều ttmenu, tương ứng với địa chỉ liên kết của các menu : Menu1, Menu2, ..., Menu6
- ở trên menu0, tức là menu HOME mình cho style mặc định là style1. cùng style với các trang liên kết không có trong menu (ví dụ các trang archive hoặc trang bài viết, ...) , hoặc các liên kết không được chọn style để hiển thị.
- code trên sẽ được hình dung như bên dưới :
Menu0 ------ style1
Menu1 ------ style2
Menu2 ------ style3
Menu3 ------ style4
Menu4 ------ style5
Menu5 ------ style6
Menu6 ------ style2
Trang khác ------ style1
- Nếu muốn thay đổi style cho các trang, các bạn chỉ cần đổi tên style1, style2,... thành các style khác là được. tức là các vị trí trong code bên dưới :
...
...
if (active_cond.indexOf(ttmenu[1][0])!=-1) {bg_pos=style2[0];sp_img=style2[1];}
else if (active_cond.indexOf(ttmenu[2][0])!=-1) {bg_pos=style3[0];sp_img=style3[1];}
else if (active_cond.indexOf(ttmenu[3][0])!=-1) {bg_pos=style4[0];sp_img=style4[1];}
else if (active_cond.indexOf(ttmenu[4][0])!=-1) {bg_pos=style5[0];sp_img=style5[1];}
else if (active_cond.indexOf(ttmenu[5][0])!=-1) {bg_pos=style6[0];sp_img=style6[1];}
else if (active_cond.indexOf(ttmenu[6][0])!=-1) {bg_pos=style2[0];sp_img=style2[1];}
else {bg_pos=style1[0];sp_img=style1[1];}
...
...

- Nếu như có nhiều menu thì các bạn cứ thêm code như bên dưới để chọn style cho nó :
...
...
if (active_cond.indexOf(ttmenu[1][0])!=-1) {bg_pos=style2[0];sp_img=style2[1];}
else if (active_cond.indexOf(ttmenu[2][0])!=-1) {bg_pos=style3[0];sp_img=style3[1];}
else if (active_cond.indexOf(ttmenu[3][0])!=-1) {bg_pos=style4[0];sp_img=style4[1];}
else if (active_cond.indexOf(ttmenu[4][0])!=-1) {bg_pos=style5[0];sp_img=style5[1];}
else if (active_cond.indexOf(ttmenu[5][0])!=-1) {bg_pos=style6[0];sp_img=style6[1];}
else if (active_cond.indexOf(ttmenu[6][0])!=-1) {bg_pos=style2[0];sp_img=style2[1];}
else if (active_cond.indexOf(ttmenu[7][0])!=-1) {bg_pos=style3[0];sp_img=style3[1];}
else if (active_cond.indexOf(ttmenu[8][0])!=-1) {bg_pos=style4[0];sp_img=style4[1];}

else {bg_pos=style1[0];sp_img=style1[1];}
...
...
- lưu ý : ttmenu[7][0], và ttmenu[8][0] là liên kết của các Menu7, và Menu8.
- nếu muốn chỉ 1 trang nào đó có giao diện đặc biệt khác với các trang còn lại (ở đây mình ví dụ là trang Menu1) thì đoạn code ở trên sẽ chỉ còn như bên dưới :
...
...
if (active_cond.indexOf(ttmenu[1][0])!=-1) {bg_pos=style2[0];sp_img=style2[1];}
else {bg_pos=style1[0];sp_img=style1[1];}
...
...
- Đoạn code trên có nghĩa là chỉ có trang Menu1 là có giao diện riêng biệt là Style2, còn các trang khác sẽ có giao diện Style1.

Như vậy mình hướng dẫn đã xong. các bạn cứ test thử, nếu có trục trặc gì mình sẽ fix lại bài viết và cập nhật thêm hướng dẫn.

----- UPDATED -----
K14 - Promenu (với hiệu ứng sổ dọc)
- ở bản update này, mình sẽ cập nhật thêm tính năng thêm submenu cho menu chính. Tính năng này mình kết hợp từ bài viết "Tạo menu nằm ngang với hiệu ứng sổ dọc".
- Để thực hiện việc cập nhật này, các bạn phải xem lại bài viết Tạo Menu Thanh menu ngang có sổ dọc xuống

Xem DEMO

Hình ảnh minh họa :

- Sau đây là code mẫu của thủ thuật đã updated, các bạn thực hiện theo hướng dẫn của bài này và bài Tạo Menu Thanh menu ngang có sổ dọc xuống để có thể chỉnh sửa lại từ code mẫu :
<script src="http://fandung.googlecode.com/svn/trunk/js/dropdown2.js" type="text/javascript"></script>

<style type="text/css">
#promenu ul li a:hover {text-decoration:none;}
#promenu {
background-repeat: repeat-x;
background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh76NMtpZsl9zL4CAxQgdKFTQsJDlDXkRXlmcBPzRJNP9BcQc68fT4ziiWUjwqD5h25e4zuusTZNAluXWhVKtv-N4v_tDavz9efqjauHmJ_dVnuh45xRIFu69v8sFrDuRj53xmei2oJHOSp/s400/1-6-bg.png);
width: 100%;
height: 32px;
}
.menu {
list-style: none;
width: 100%;
margin: auto!important;
}
.menu li {
float: left;
text-align: center;
padding:0!important;
}
.menu li a {
color: white;
height:30px;
display:block;
}
.menu .active, .menu li:hover {
background-position: 0 -34px;
float: left;
}

.menu .active span, .menu span:hover {
background-position: 100% -34px;
float: left;
line-height: 30px;
height: 30px;
}

.menu li a span {
font: 12px/31px Tahoma;
font-weight: 700;
display: block;
text-align: center;
padding: 0 8px 0 9px;
}
.menusep {
background-position: 0 0;
height: 32px;
line-height: 32px;
width: 2px;
}
.promenu_sub {
background-repeat: repeat-x;
background-image: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqcZFZtyfwSnDJNSVaWyDb0QNiaU4xHFUeHqdjgI_H6TJWg21uKe_ml4v1GSsuH4LGGRcfgcYpmO4WBztc3QVoeOtZZfxXt4WSUTLdNqH_FW84XATeZY_kkg7Y91VwNLcp2J6kC9gWGEBj/s240/1-6-bg_sub2.png);
margin-top:1px;
padding:1px;
color: #fff;;
margin: 1 1px;
padding: 7px 12px;
font-weight:bold;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
cursor:pointer;
border-top:1px solid #ededed;
}
</style>

<script type="text/javascript">
//<![CDATA[
var style1=["0px","https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVKtdNvA1_6MsxAyD91TTo1Jq92qFcuVyTwLTlFbHLO3wA9YfVomHvOtYoaCS47eSwDKK_kDQrHMl6-EogKm7js3TGLlNgFjnxLsyKYtEM5Lm1DSLy_WQAaPMF3MSQCNX8uaKcM3pisHH-/s318/style1-sp.png"];

var style2=["-40px","https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA60ZbIh_sq9w7_3Vf2kYfrQu7znmQ7oqFf_81RH6jnKjxe2RoN7KsXBmhm92EcIxi9W-YygXoEbniA3AqzCHQrXL8-Ssv-rJta6qrZt5CSd04EBBSwlu21wMlBXAnECyRVMa4L1mnkN1v/s318/style2-sp.png"];

var style3=["-80px","https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbNCuBjh8tY4455enhomNXn4FVrgVeQvRQ2PUbvPWzf7LZlsf7121IQGn4eABdFWYUbUBnXxRyMBVfB1sHAdrflIFoehBfUCvTmBRCYXgNjGcMxwvRrjwMr3ccH46s6Z9UftfGrFweJWTE/s318/style3-sp.png"];

var style4=["-120px","https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcXPx0YpaX1mshh0isjIOcOniLylPbt7sJr9kqqw-miWBEXWH6g6EQK6-m98rk0u17Cn21HkXgOxqZci9cVwrsOT7b6T24TeWwGNrsOje6R9hTdrg6hjNrjKoxqpF1-ZjnyjafUHPjKxH0/s318/style4-sp.png"];

var style5=["-160px","https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4cY3CzMEiywnl3XFWCaVMifVjrWmA7e1L3YSaviSiMmW3ELm-2_7tAXkDjB38EmUSeAjYeQ1Vhj0bQlxElrHplC23CWn6G5SClf4nN-45hVrtyFJoS-cG9XF5Aznk_vcFGG1hplhAQGdz/s318/style5-sp.png"];

var style6=["-200px","https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNEkZspEeWC3r8bXHeGIdqEA-7mMPWbxsfUEG0IWAQ-rCVf-XcUAW90_Itio7b7fdd2yd-MCp9o8mYq3OTU-GSlWDwKlhvFZDs8jyJkfEFcRo7oEsKtTYuLZ2-tLFXi43NvXhl9jN_15Dt/s318/style6-sp.png"];

var m0=["http://demo.fandung.com","Home","home_id"];
var m1=["/search/label/Label1","Label1","id1"];
var m2=["/search/label/Label2","Label2","id2"];
var m3=["/search/label/Label3","Label3","id3"];
var m4=["/search/label/Label4","Label4","id4"];
var m5=["/search/label/Label5","Label5","id5"];
var m6=["/search/label/Label6","Label6","id6"];
var m7=["/search/label/Label7","Label7","id7"];
var m8=["/search/label/Label8","Label8","id8"];
var m9=["/search/label/Label9","Label9","id9"];

var ttmenu = [m0,m1,m2,m3,m4,m5,m6,m7,m8,m9];
var n=ttmenu.length;
var list_menu=[];
var list_active=[];
var c_menu='';
var m_homepage='http://demo.fandung.com/';
var h_cond=m_homepage+'search';

var active_cond = location.href;
var home_cond=active_cond.split("?")[0];

var bg_pos='';
var sp_img='';

if (active_cond.indexOf(ttmenu[1][0])!=-1) {bg_pos=style2[0];sp_img=style2[1];}
else if (active_cond.indexOf(ttmenu[2][0])!=-1) {bg_pos=style3[0];sp_img=style3[1];}
else if (active_cond.indexOf(ttmenu[3][0])!=-1) {bg_pos=style4[0];sp_img=style4[1];}
else if (active_cond.indexOf(ttmenu[4][0])!=-1) {bg_pos=style5[0];sp_img=style5[1];}
else if (active_cond.indexOf(ttmenu[5][0])!=-1) {bg_pos=style6[0];sp_img=style6[1];}
else if (active_cond.indexOf(ttmenu[6][0])!=-1) {bg_pos=style2[0];sp_img=style2[1];}
else if (active_cond.indexOf(ttmenu[7][0])!=-1) {bg_pos=style3[0];sp_img=style3[1];}
else {bg_pos=style1[0];sp_img=style1[1];}

var mcss = document.createElement('style');
mcss.type = 'text/css';
mcss.innerHTML = '#promenu, .promenu_sub {background-position: 0 '+bg_pos+'} .menu li:hover, .menu .active, .menu .active span, .menusep, .menu span:hover {background-image: url('+sp_img+')}';
document.body.appendChild(mcss);

// submenu
function otab(){document.write('<table border="0" bordercolor="#999" style="background-color: #FFF" cellspacing="0" cellpadding="0">');}

function submn(submn_link,submn_text){ document.write('<tr><td onmouseover="this.style.background=\'url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh76NMtpZsl9zL4CAxQgdKFTQsJDlDXkRXlmcBPzRJNP9BcQc68fT4ziiWUjwqD5h25e4zuusTZNAluXWhVKtv-N4v_tDavz9efqjauHmJ_dVnuh45xRIFu69v8sFrDuRj53xmei2oJHOSp/s400/1-6-bg.png) repeat-x 0 '+bg_pos+'\'" onmouseout="this.style.background=\'url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqcZFZtyfwSnDJNSVaWyDb0QNiaU4xHFUeHqdjgI_H6TJWg21uKe_ml4v1GSsuH4LGGRcfgcYpmO4WBztc3QVoeOtZZfxXt4WSUTLdNqH_FW84XATeZY_kkg7Y91VwNLcp2J6kC9gWGEBj/s240/1-6-bg_sub2.png) repeat-x 0 '+bg_pos+'\'" class="promenu_sub" onclick="window.location.href=\''+submn_link+'\'">'+submn_text+'</td></tr>');}

function ctab(){document.write('<\/table>');}

function otab(child_id){document.write('<table id="' + child_id +'" border="0" bordercolor="#999" style="background-color: #FFF" cellspacing="0" cellpadding="0">');}

//submenu

c_menu +='<div id="promenu"><ul class="menu">';

for (var i=0;i<n;i++) {

if ((home_cond==m_homepage)||(home_cond==h_cond)) {list_active[0]='class="active"';}
else if (active_cond.indexOf(ttmenu[i][0])!=-1) {list_active[i]='class="active"';} else {list_active[i]='';}

list_menu[i]='<li><a href="'+ttmenu[i][0]+'" '+list_active[i]+' id="'+ttmenu[i][2]+'"><span>'+ttmenu[i][1]+'</span></a></li>';
c_menu +=list_menu[i];
if (i<n-1) {c_menu +='<li class="menusep"> </li>';}
}
c_menu +='</ul></div>';
document.write(c_menu);

//]]>
</script>

<script type="text/javascript">
otab("id1_child");
submn('link_submenu1.1','Submenu 1.1');
submn('link_submenu1.2','Submenu 1.2');
ctab();
at_attach("id1", "id1_child", "hover", "y", "pointer");

otab("id2_child");
submn('link_submenu2.1','Submenu 2.1');
ctab();
at_attach("id2", "id2_child", "hover", "y", "pointer");

otab("id3_child");
submn('link_submenu3.1','Submenu 3.1');
ctab();
at_attach("id3", "id3_child", "hover", "y", "pointer");

otab("id4_child");
submn('link_submenu4.1','Submenu 4.1');
submn('link_submenu4.2','Submenu 4.2');
submn('link_submenu4.3','Submenu 4.3');
submn('link_submenu4.4','Submenu 4.4');
submn('link_submenu4.5','Submenu 4.5');
submn('link_submenu4.6','Submenu 4.6');
ctab();
at_attach("id4", "id4_child", "hover", "y", "pointer");

otab("id5_child");
submn('link_submenu5.1','Submenu 5.1');
submn('link_submenu5.2','Submenu 5.2');
ctab();
at_attach("id5", "id5_child", "hover", "y", "pointer");

otab("id6_child");
submn('link_submenu6.1','Submenu 6.1');
ctab();
at_attach("id6", "id6_child", "hover", "y", "pointer");

otab("id7_child");
submn('link_submenu7.1','Submenu 7.1');
submn('link_submenu7.2','Submenu 7.2');
submn('link_submenu7.3','Submenu 7.3');
ctab();
at_attach("id7", "id7_child", "hover", "y", "pointer");

otab("id8_child");
submn('link_submenu8.1','Submenu 8.1');
submn('link_submenu8.2','Submenu 8.2');
submn('link_submenu8.3','Submenu 8.3');
submn('link_submenu8.4','Submenu 8.4');
submn('link_submenu8.5','Submenu 8.5');
submn('link_submenu8.6','Submenu 8.6');
submn('link_submenu8.7','Submenu 8.7');
ctab();
at_attach("id8", "id8_child", "hover", "y", "pointer");
</script>
- bản updated vẫn chưa hoàn thiện ở phần hiện hiệu ứng thay đổi style cho menu ở các trang submenu, mình sẽ fix sớm khi có thể.
More about

Chèn Chabox Gtalk vào BlogSpot.

Người đăng: chaobuoisang on Thứ Năm, 29 tháng 12, 2011

Nếu site bạn rất nhiều bạn bè có tài khoản Google, tại sao không thử chèn thêm một ChatBox để tăng tình năng trò chuyện kết bạn cho Blog. Việc đơn giản phải làm là bạn chỉ cần nhúng một iframe của Google cho sẵn.





Xem DEMO


Các bạn coppy và cài đặt nhé. Và nhớ chỉnh lại CSS. của mình.


<style>
    #chat{position:fixed; top:0px; left:1px;}
    .bt{background:url('http://cdn1.iconfinder.com/data/icons/androiddevicons/dialog.png') no-repeat; width: 48px; height: 48px;}
    #cbody{border-radius: 3px 10px 0px #444;}
</style>
<div id="chat">
<div class="bt" onclick="toggle()" ></div>
<p id="cbody" style="display:none;">
    <iframe height="350" frameborder="0" width="300" src="http://talkgadget.google.com/talkgadget/client?fid=gtalk0&amp;relay=http%3A%2F%2Fwww.google.com%2Fig%2Fifpc_relay"></iframe>
</p>
</div>
<script>
    var $_ = function(x){return document.getElementById(x);}
   
    function toggle(){
    var ck = $_("cbody").style.display;
        if(ck != "none"){
            $_("cbody").style.display = "none";
        }
        if(ck != "block"){
            $_("cbody").style.display = "block";
        }
    }
</script>


Chúc bạn thành công !
More about

Jquery Slider Tin Tức - News Slider

Người đăng: chaobuoisang


Hẳn nhiều bạn cần slide này... mình đã phát triển phiên bản thumbail cho site phim. Nhưng gà CSS quá nên đắp chiếu, lấy silder của trang tin tức này cho các bạn dùng.



Nói về jquery thì mình cũng chả rành lắm, đến từ jquery viết còn hay nhầm thì các bạn chắc cũng đoán được. Phần slider rip của gostep.info, các bạn có thể vào đó xem.

Xem DEMO

Mình cũng hơi buồn ngủ, các bạn setup luôn nhé.


CSS (Cái này cũng gà lắm, mọi người tự căn chỉnh nhé !)

<style>
ul#ticker {
    font: "Helvetica,Arial";
    height: 26px;
    overflow: hidden;
    text-align: right;
    color: red;
    font-size: 12px;
    line-height: 28px;
    background: #444;
}
ul#ticker strong,ul#ticker strong a {
    color: green;
    font-size: 10px;
    padding-right: 5px;
    text-transform: uppercase;
}
#ticker a {
    text-decoration: none;
}
ul#ticker a {
    color: white;
    text-decoration: none;
}
ul, li {
    list-style: none outside none;
}
ul#ticker .meta-comments a,.meta-sep,.meta-date{
    color: #777777;
}
</style>


Javascript

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script src="http://anhnc.googlecode.com/svn/trunk/p/news.js"></script>
<script src="/feeds/posts/default?max-results=12&amp;orderby=published&amp;alt=json-in-script&amp;callback=news"></script>


Phần numberposts (12) có thể unlimit nhé ;))

Chúc các bạn thành công !
More about

Quà tặng âm nhạc cho BlogSpot

Người đăng: chaobuoisang on Chủ Nhật, 25 tháng 12, 2011

Hehe, gần tết rồi.. thêm không khí cho cho Blog của bạn chút nhỉ. Hôm nay giới thiệu với các bạn một Plugin mới. Quà tặng âm nhạc, điều không tưởng phải không, chỉ có ở các 4rum. Nhờ có load feed comment của anh Dũng, mình mới dám nghĩ đến tạo ra cái gì đó mới lại từ tiện ịch này.


Lâu nay ẩn danh cũng vì đang làm đồ án, rảnh tay mới code được.



Mình cũng không rành lắm CSS, vậy nên mình chỉ viết js thôi. Các bạn code theo phong cách riêng của mình nhé, mới làm hiện bài hát đầu tiên. Có thêm thời gian mới tạo được thêm 2 cái nút tiến lùi, chắc cũng trước tết thôi. ^^! Chờ nhé.

Nhaccuatui.com

Mp3.zing.vn

Nhacso.net

Music.soha.vn

Nhac.vui.vn

Zippshare và *.mp3
Tha hồ chọn lựa skin ;))

Để sử dụng tiện ích, các bạn tạo một trang mới hoặc một bài mới. Tạo một widget HTML mới, dán code sau vào.

CSS

<style type="text/css">
#tomusic{border:1px dashed #444; padding: 5px; width: 680px;}
#avmusic img{padding: 1px; width: 120px;}
#avmusic a{position: relative; left:0px; bottom:-px;}
#anc_chuc{width:90%; height: 95px; float: right;}
.process{
    background: url("http://dl.dropbox.com/u/52283085/47/sr.gif") no-repeat scroll right top transparent;
    color: #EDE7C2;
    display: block;
    float: left;
    font-size: 13px;
    height: 33px;
    margin-left: -13px !important;
    margin-top: 80px;
    padding-right: 9px;
    position: absolute;
    text-shadow: 1px 1px 1px #131212;
    z-index: 100;
}
.process a{text-decoration:none; color: #888888;}
.process span {
    background: url("http://dl.dropbox.com/u/52283085/47/gc.png") no-repeat scroll 0 0 transparent !important;
    float: left;
    height: 33px;
    padding: 5px 0 0 8px;
}
</style>


JavaScript

<script type="text/javascript">
var cm_desc = 50; // Để 50 chắc là đủ (sô ký tự hiển thị)
var homepage = "domain";
postID = "id_bai_qua_tang_am_nhac";

var cm_ava = new Array();
cm_ava['openid'] = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtcjrz-Ruy24rxpSAa0d9rSEVmtzvI_uAw5FCtc7sebpe4bXBpSep76RfCdKQCYeHDfFRkO-UNMwac7fa1UeDFuPCbuwHU4lhpb8jM7E2ANMK9O-s2t-zgKQRLXx8SksAgX5hWQlubviGF/";
cm_ava['livej'] = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMHUKhLjyPd_J9fe6lheN_z5z_P5UXw73zx4IC93P8Ebhk0FmSjzovXiqbU4tDl_Hcyq_03JPJhKGKTQ9iwiLZ5U6wR0Dyj2Cp3-gV1mKyiXTTNSz5JBVjG7yRW9TAR1A4H1EoZV64prcd/";
cm_ava['wp'] = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUm4Pp1Oa5nDSxo6D4_Dmrbo7FPO7DTwImRz_f799ICTrZsYkQ8z3qR2-FervXuHCtBAFVv8XEnmfHYfWqnc5H_9b6qgUC_yp60cVuaeQifz1z0r4ZcSRWvCLLFIZtO7gxVoZjDmxSig3B/";
cm_ava['typepad'] = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS3QF2Vod2fSW69A-1i_QMQXyqY9LD5uNmyqHgzKAkojfxwaSjpa_75HzQmQWZ1BfQjqKaoWckBHztZ-cbTdBHTSs43r01_JF5jz0qzjmmA1mTeNBS3OOF1Rp6mGPzNSkjC93sZs7iaGoS/";
cm_ava['aim'] = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDLYW6iB_yauZlgg6SIpgWysGic1hhdsYmGgNCA7FYsr5PsMyeL-ap7W24iZuIxcK6W3zJw_qrURDoNZSevaaRH5GwkH39Tsm2DmQ6NOzHDBPzVQJ_zHqamjiMRIhE6Jp-k5tX6oAfz3GU/";
cm_ava['url'] = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwrEymmsWl4evi72jfIs4vtSRLg1ULb0vtZGYFRqTht7z-V1XqzgKD4sAvPmPtHUdZV8H7Gm9FkIyroLAAkLalIoKzE052pr69g87IEGMUvrg-P9KwRDxCfESR0Ig2M-VWxh0zLyH6ICC8/";
cm_ava['anon'] = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJMnXs1ZsyewXhBmxoczqOV1193sAU63wTM2hLXJLAInFX-EHhfdyxChI2oQ9aUOA38LaRsM9cfnN0htXln_C1fq9avlgCuPr8Vlm_DycB0CGYD1JNN5eAYV6TapJ7quO70qWgBN_BtNeM/";

</script>
<script src="http://anhnc.googlecode.com/svn/trunk/p/qtan.js" type="text/javascript"></script>
<script>
M.p(M.r());
</script>

File js này các bạn hãy edit lại nhé. Mình làm cho nó giống cấu trúc site mình thôi.

http://anhnc.googlecode.com/svn/trunk/p/qtan.js

Cấu trúc gửi bài hát như sau:

[m]link bài hát|nguoi_nhan|Lời muốn nói[/m]

Chúc mọi người thành công !
More about