Slider hôm nay namkna giới thiệuthích hợp với các blog chuyên về bán hàng qua mạng. Nó là một dạng trình chiếu sản phẩm khá đẹp được thiết kế bởi maskolis. Slider có khả năng tùy biến cao, tùy theo sở thích của mỗi người bạn có thể thay đỏi màu nền, số lượng ảnh thumbnail, số ký tụ mô tả và tiêu đề,...
- Cấu tạo gồm các phần chính sau:
+ Phần 1: Hiển thị ảnh thumbnail lớn được lấy ngẫu nhiên trong bài viết. Nếu bài không có ảnh sẽ hiển thị ảnh no-image.jpeg
+ Phần 2: Hiển thị tiêu đề và mô tả cho ảnh thumbnail lớn.
+ Phần 3: Danh sách ảnh 7 thumbnai nhỏ được định bởi người dùng.
View demo
I- Tạo khung thêm tiện ích riêng dưới phần header cho tiện ích.
- Phần này mình hướng dẫn các thêm một khung add wiget trên bài đăng, bạn có thể bỏ qua.
1.1- Đăng nhập vào blog
1.2- Chọn Mẫu
1.3- Chọn chỉnh sủa HTML
1.4- Dán code sau trước thẻ ]]></b:skin>
/* Slide Content ----------------------------------------------- */ .slide-wrapper {padding:0 auto;margin:0 auto;width:auto;float: left; word-wrap: break-word; overflow: hidden;} .slide {color: #666666;line-height: 1.3em;} .slide ul {list-style:none;margin:0 0 0;padding:0 0 0;} .slide li {margin:0;padding-top:0; padding-right:0;padding-bottom:.25em; padding-left:0px;text-indent:0px;line-height:1.3em;} .slide .widget {margin:0px 0px 6px 0px;}1.5- Tìm thẻ:
<div id='main-wrapper'>- Dán vào trước nó đoạn code bên dưới:
<b:if cond='data:blog.url == data:blog.homepageUrl'> <div id='slide-wrapper'> <b:section class='slide' id='slide' preferred='yes'/> </div> </b:if>
Với các mẫu simple của blog bạn có thể thêm vào trước đoạn mã <div class='main-outer'>
1.6- Save template lại.
- Quay trở lại phần bố cục (layuot) bạn sẽ thấy một khung thêm tiện ích mới xuất hiện.
II- Thêm code slider cho blogspot
2.1- Vào mẫu => Chọn Chỉnh sửa HTML2.2- Dán code sau vào trước thẻ ]]></b:skin>
.shadow{width:950px; height:39px; background:#fff url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhheGi5uxLXvYsHU3dA2qznYNErBTz7FGVLJHs6sgmrvzHxLQZXLisq9nVLnU8MIG6CCu4haHi30eh5lvbkSLHd5RkmHvZqHFrTwqbobbCFvsIJrPRlBc2P0q51SvMdyrAmZCZUAOHMHn5-/s1600/shadow1-namkna-blogspot-com.png) no-repeat center;margin:0 auto} #featured-slider{position:relative;overflow:hidden;width:950px;height:325px;background:#fcfcfc url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSHjHWCXgM1iwWmm84svC9d5ENDa_w4ADeBDOxwdPUMOFRNH_txOv-VSwfG4qUGznydw74QQ4ck7iS_9y2gW_9t2X4p4fO0Tcjmh35vL_jVUeRZDix26BAF-hJubDexDDJgLinf-pAAYMt/s1600/slider-bg-namkna-blogspot-com-1.png) repeat-x top;margin:0 auto;padding:0 auto} #featured-slider .contentdiv{visibility:hidden;position:absolute;left:20px;top:10px;z-index:1;width:305px} #featured-slider .contentdiv img{background:#fff;padding:2px;border:1px solid #ccc;width:297px;height:297px;overflow:hidden} #featured-slider .sliderPostPhoto{position:relative;height:305px;width:305px;overflow:hidden} #featured-slider .sliderPostInfo{position:absolute;top:0;left:345px;color:#a1a1a1;background:url();height:190px;width:540px;padding:5px 0 0} #featured-slider .sliderPostInfo p{color:#0a0a0a;line-height:1.6em;font-size:14px;padding-top:1px} #featured-slider .featuredPostMeta a{color:#a1a1a1} #featured-slider .order a {display:block; width:98px; height:40px; bottom:14px; left:0px;background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkt1RcfcnKnQOBGYiO_pDjQocWqWU5YIqab8kuZHSgdm_YwoyPpxuGCwuKqBqbft4cEI81c2nslDUQbgJrY0ml25Qik4eMIwA3Gj1a87TrkEdmiq7IWFngRhb2EKBpbS2Mm4-MDEn4Labb/s1600/order-namkna-blogspot-com.png) no-repeat 0 0; position:absolute; font-size:15px; line-height:13px; text-transform:uppercase; text-decoration:none; font-family: 'Open Sans', sans-serif; color:#fff; font-weight:700; padding:11px 0 0 6px;} #featured-slider .order a:hover{ color:#515151;} .featuredTitle{font:bold 24px Tahoma;color:#719429;line-height:1cm} .featuredTitle a{color:#719429} .featuredTitle a:hover{color:#0a0a0a} #paginate-featured-slider{position:absolute;right:0;top:250px;z-index:1;width:595px;height:80px;overflow:hidden} #paginate-featured-slider ul{width:595px;list-style:none} #paginate-featured-slider .featured_thumb{float:left;margin-right:15px;width:65px;height:65px;padding:0} #paginate-featured-slider .featured_thumb:hover{opacity:0.7}2.3- Dán code bên dưới trước thẻ </head>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' type='text/javascript'/> <script src='http://dl.dropbox.com/u/66256041/slider/namkna.blogspot.com/slider-namkna.js' type='text/javascript'/> <script type='text/javascript'> //<![CDATA[ imgr = new Array(); imgr[0] = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRDgPTRGMaiQgVREZADc5Iy_-RKZSj_2Byt8z6Qe1Kq-SGm6gHd7YGkvxBS3Fyvp3cZwKxulHvKALUA67FvrX1yqfWSuDb6GQfouJtNsdIH0S5jaWjvEyFsqEkMuOGHRZTqDpKYFCVW2cR/s1600/no-image-namkna-blogspot-com.jpg"; showRandomImg = true; aBold = true; summaryPost = 400; summaryTitle = 25; numposts2 = 7; function removeHtmlTag(strx,chop){ 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); } } s = s.join(""); s = s.substring(0,chop-1); return s; } function showrecentposts1(json) { j = (showRandomImg) ? Math.floor((imgr.length+1)*Math.random()) : 0; img = new Array(); for (var i = 0; i < numposts2 ; i++) { var entry = json.feed.entry[i]; var posttitle = entry.title.$t; var pcm; var posturl; if (i == json.feed.entry.length) break; for (var k = 0; k < entry.link.length; k++) { if (entry.link[k].rel == 'alternate') { posturl = entry.link[k].href; break; } } for (var k = 0; k < entry.link.length; k++) { if (entry.link[k].rel == 'replies' && entry.link[k].type == 'text/html') { pcm = entry.link[k].title.split(" ")[0]; break; } } if ("content" in entry) { var postcontent = entry.content.$t;} else if ("summary" in entry) { var postcontent = entry.summary.$t;} else var postcontent = ""; postdate = entry.published.$t; if(j>imgr.length-1) j=0; img[i] = imgr[j]; s = postcontent ; a = s.indexOf("<img"); b = s.indexOf("src=\"",a); c = s.indexOf("\"",b+5); d = s.substr(b+5,c-b-5); if((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!="")) img[i] = d; //cmtext = (text != 'no') ? '<i><font color="'+acolor+'">('+pcm+' '+text+')</font></i>' : ''; var month = [1,2,3,4,5,6,7,8,9,10,11,12]; var month2 = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; var day = postdate.split("-")[2].substring(0,2); var m = postdate.split("-")[1]; var y = postdate.split("-")[0]; for(var u2=0;u2<month.length;u2++){ if(parseInt(m)==month[u2]) { m = month2[u2] ; break; } } var daystr = day+ ' ' + m + ' ' + y ; var trtd = '<div class="contentdiv"><div class="sliderPostPhoto"><a class="crop-foto" href="'+posturl+'"><img width="200" height="150" class="alignright" src="'+img[i]+'"/></a></div><div class="sliderPostInfo"><div class="featuredTitle"><a href="'+posturl+'">'+posttitle+'</a></div><span class="featuredPostMeta">'+daystr+' | <a href="'+posturl+'">'+pcm+' Comments</a></span><p>'+removeHtmlTag(postcontent,summaryPost)+'... <a href="'+posturl+'" class="meta-more">View Detail </a></p></div><p class="order"><a href="'+posturl+'">order!</a></p></div>'; document.write(trtd); j++; } } function showrecentposts2(json) { j = (showRandomImg) ? Math.floor((imgr.length+1)*Math.random()) : 0; img = new Array(); for (var i = 0; i < numposts2 ; i++) { var entry = json.feed.entry[i]; var posttitle = entry.title.$t; var pcm; var posturl; if (i == json.feed.entry.length) break; for (var k = 0; k < entry.link.length; k++) { if (entry.link[k].rel == 'alternate') { posturl = entry.link[k].href; break; } } for (var k = 0; k < entry.link.length; k++) { if (entry.link[k].rel == 'replies' && entry.link[k].type == 'text/html') { pcm = entry.link[k].title.split(" ")[0]; break; } } if ("content" in entry) { var postcontent = entry.content.$t;} else if ("summary" in entry) { var postcontent = entry.summary.$t;} else var postcontent = ""; postdate = entry.published.$t; if(j>imgr.length-1) j=0; img[i] = imgr[j]; s = postcontent ; a = s.indexOf("<img"); b = s.indexOf("src=\"",a); c = s.indexOf("\"",b+5); d = s.substr(b+5,c-b-5); if((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!="")) img[i] = d; //cmtext = (text != 'no') ? '<i><font color="'+acolor+'">('+pcm+' '+text+')</font></i>' : ''; var month = [1,2,3,4,5,6,7,8,9,10,11,12]; var month2 = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; var day = postdate.split("-")[2].substring(0,2); var m = postdate.split("-")[1]; var y = postdate.split("-")[0]; for(var u2=0;u2<month.length;u2++){ if(parseInt(m)==month[u2]) { m = month2[u2] ; break; } } var daystr = day+ ' ' + m + ' ' + y ; var trtd = '<ul class="featured_thumb"><a rel="'+i+'" class="toc" href="#"><img width="65" height="65" title="our product" alt="our product" class="featured_thumb" src="'+img[i]+'"/></a></ul>'; document.write(trtd); j++; } } //]]> </script>
Tùy chỉnh:
- Nếu trong template của bạn đã có file Jquery rồi thì có thể xóa file màu xanh đi.
- Bạn nên downlad file slider.js về và upload lên host riêng để dùng lâu dài nha.
- summaryPost = 400; là số ký tự mô tả cho bài viết hiển thị.
- summaryTitle = 25; là số ký tự của tiêu đề baiw viết hiển thị.
- numposts2 = 7; số hình ảnh thu nhỏ hiển thị.
- showRandomImg = true; hiển thị hình ảnh ngẫu nhiên trong bài viết.
2.4- Thay thế đoạn code ở bước 1.5 thành đoạn code sau:<b:if cond='data:blog.url == data:blog.homepageUrl'> <div id='slide-wrapper'> <b:section class='slide' id='slide' preferred='yes'> <b:widget id='HTML82' locked='false' title='feature content slider' type='HTML'> <b:includable id='main'> <div id='featured-slider'> <script> document.write("<script src=\"/feeds/posts/default/-/<data:content/>?max-results="+numposts2+"&orderby=published&alt=json-in-script&callback=showrecentposts1\"><\/script>"); </script> <div id='paginate-featured-slider'> <ul> <script> document.write("<script src=\"/feeds/posts/default/-/<data:content/>?max-results="+numposts2+"&orderby=published&alt=json-in-script&callback=showrecentposts2\"><\/script>"); </script> </ul> </div> </div> <script type='text/javascript'> featuredcontentslider.init({ id: "featured-slider", //id of main slider DIV contentsource: ["inline", ""], //Valid values: ["inline", ""] or ["ajax", "path_to_file"] toc: "markup", //Valid values: "#increment", "markup", ["label1", "label2", etc] nextprev: ["", ""], //labels for "prev" and "next" links. Set to "" to hide. revealtype: "click", //Behavior of pagination links to reveal the slides: "click" or "mouseover" enablefade: [true, 0.4], //[true/false, fadedegree] autorotate: [true, 5000], //[true/false, pausetime] onChange: function(previndex, curindex){ //event handler fired whenever script changes slide //previndex holds index of last slide viewed b4 current (1=1st slide, 2nd=2nd etc) //curindex holds index of currently shown slide (1=1st slide, 2nd=2nd etc) } }) </script> </b:includable> </b:widget> </b:section> </div> </b:if> <div class='shadow'/>
2-5- Lưu mẫu lại.
2.6- Quay lại phần bố cục bạn sẽ thấy dưới phần header có một khung với tên "feature content slider".
2.7- Bấm chuột vào chỉnh sửa (edit) và đánh tên laber muốn hiển thị trong slider vào phần nội dung:
28- Lưu tiện ích lại và xem kết quả nha.
28- Lưu tiện ích lại và xem kết quả nha.
by: maskolis.com
Nhận xét
hay bác
Trả lờiXóaChèn Emoticons giống http://noct-land.blogspot.com thì làm cách nào được bác
Trả lờiXóaBạn có thẻ tìm tại đây: XEM
Xóahoặc bài này: XEM
Cảm ơn bạn đã chia sẻ. Hôm nào có điều kiện mình sẽ áp dụng!
Trả lờiXóaOke nhớ cho mình biết nếu có vướng mắc nha :)
XóaKhông giống bên bác noct
Trả lờiXóaOke mấy hôm tới sẽ rip cho bạn.
XóaNgồi tìm cả buối tối mới thấy bài này post hồi lâu rồi nhưng chua gắn label nên bbanj không thấy. Bạn có thể xem XEM NGAY
Xóamình cũng làm thử nhưng k dc! Thêm nhãn rồi nhưng k thầy gì cả! Lúc thêm nhãn có cần điều kiện gì k bạn
Trả lờiXóaBạn đọc kỹ bước 2.6 và 2.7 nha.
Xóa- Chỉ cần đánh tên nhãn vào widget đó luuw lại là oke.
- Lưu ý tên nhãn bạn đánh vào phải giống tên nhãn ở ngoiwf kể cả ký tự viết hoa nha,.
Quá hay anh Nam ơi
Trả lờiXóaCảm ơn em :))
XóaTuan
Trả lờiXóaCảm ơn anh nam vì bài viết rất hữu ích. em đang làm blog này http://cuocdoituoidep-sumo.blogspot.com/ mà nhiều chỗ khó quá em chưa làm đc nếu đc anh giúp đỡ em với nhé!!
Nhận xét này đã bị tác giả xóa.
Xóahttp://diaocgiasoc.com/
XóaEm lưu ý tên nhãn bước 2.7 nha.
Xóachào bạn mình lam silider trình bày sản phẩm theo nhẵn cho blog.đến .2.5 lưu lại thì báo lỗi thẻ body.....<"/body> gì đó .bạn giup mình nhé cảm ơn bạn nhiều
Trả lờiXóaTiện ích mình không có phần nào liên quian đến thẻ đó. bạn có thể copy đoạn báo lỗi đó lên đây để được hỗ trợ chi tiết nha,
Xóaanh ở cho em hỏi làm sao add giá sản phẩm lên hình hiện ở trang chủ vậy anh
Trả lờiXóalàm sao add giá lên trên bài post ở trang chủ vậy bạn
Trả lờiXóablog mình đây http://donghominhhang.blogspot.com
Em xem bài này nha: XEM NGAY
Xóa"div id='main-wrapper'" cái đoạn này không tìm được thì làm sao hả a
Trả lờiXóaĐể lại URL blog của bạn ở đây mình chỉ đoạn code khác cho nha,
XóaCho em hỏi chút trang của em không tự load ảnh đại diện, chỉ hiện chữ No Thumbnail, Anh có thể vào để xem thử lỗi giúp em, làm sao khắc phục được tình trạng trên anh ạ, thank anh
Trả lờiXóaDammephim
Các hình ảnh trong bài viết em phải tải trực tiếp lên blog nha,. đi copy từ các trang khác hoặc host khác nó không hiện thị đâu>>
XóaAnh ơi nhưng ở mụcTrang Chủ Dammephim và ở mục Bài Viết Liên Quannó lại hiện thị hình ảnh. Em đã thử tải ảnh lên rồi mới chèn vào blog nhưng khi vào các Nhãn của trang thì nó lại không hiện thị anh ạ
XóaLối này có thể do lỗi js hoặc xung đột javar em có thể gửi template vào tavannam01@gmail.com anh chỉnh cho nha,
XóaAnh ơi em có gửi mail cho anh template của trang em rồi nhé, nhờ anh chỉnh giúp em, vì mấy khoản này em kém lắm, toàn đi coppy mọi người thôi nên anh thấy chỗ nào khác cần chỉnh thì giúp em với nhé. Trang của em đang gặp tình trạng là trang chủ bay68 yêu cầu xác thực người dùng và mật khẩu nữa, em tìm hiểu mà cũng chưa biết khắc phục anh ạh
XóaChào bạn,
Trả lờiXóaMình muốn làm slide cho bài đăng theo dạng tips hướng dẫn, hiển thị theo dạng bấm vào mũi tên tới hoặc lui thì hiển thị hình và kế bên là đoạn mô tả gần giống như demo của bạn. Bạn giúp hướng dẫn mình cách làm với. Cảm ơn bạn
Chào bạn,
Trả lờiXóaMình muốn làm slide cho bài đăng theo dạng tips hướng dẫn, hiển thị theo dạng bấm vào mũi tên tới hoặc lui thì hiển thị hình và kế bên là đoạn mô tả gần giống như demo của bạn. Bạn giúp hướng dẫn mình cách làm với. Cảm ơn bạn
Trong bài viết có hướng dẫn cụ thể rồi bạn áp dụng nếu gặp vướng mắc ở bước nào thì cứ commetn mình sẽ hỗ trợ.
Xóamình đang gặp rắc rối vì trang con trong Blog chỉ show 1 bài dài. phải làm sao để giải quyết vấn đề này? bạn giúp mình nhé! thanks U
Trả lờiXóaGửi URL sang bạn để bên mình xem
XóaBạn chỉ mình cách tạo slide như blog này với http://thoitrangnamkapo.blogspot.com/ (slide phần trên cùng có 7- 10 hình nhỏ). tks!
Trả lờiXóaĐể mình ra cái thủ thuật hướng dẫn cho bạn cái đó nha!
XóaBạn vào slide này xem thử thế nào nhé http://www.terocket.com/2013/05/slider-bai-moi-truot-ngang-thumbnail.html
Xóaanh oi cho em hoi cua em tim mai muk ko co the nay thi lam sao anh div id='main-wrapper'>
Trả lờiXóaanh ơi e làm rồi nhưng sao ko có chạy slide mà nó hiện quyền khung hình to quá e ko pik chỉnh sửa sao ,chi hien moi may cai hinh nhỏ nhỏ con nhieu thi trang bach het ak giup em voi nhé
Trả lờiXóahttp://www.onlineboss.tk/ trang cua em day ak