Thứ Ba, 24 tháng 7, 2012

Thủ thuật tạo banner dính (Sticky banner) với Javascript cho Blogspot

Bài viết hôm nay mình chia sẽ cùng các bạn một thủ thuật có thể làm dính (sticky) banner hay một mẫu quảng cáo ở trình duyệt khi bạn cuộn chuột trên trang blog hay web. Nói vậy thật khó hình dung được đúng không? Như bạn thấy ở trang dantri.com.vn có mẫu quảng cáo AdMicro - AdMarket cuối cùng khi bạn xem một bài viết nào đó và trang xaluan.com cũng có mẫu quảng cáo cuối cùng cũng tương tự. Khi độ dài của trang bài viết dài hơn cột sidebar thì khi đó bạn cuộn chuột xuống đến mẫu quảng cáo đó thì chúng sẽ được dính lại ở trình duyệt. Như vậy chắc bạn đã hình dung được phần nào về công dụng của thủ thuật này, bạn có thể xem demo bên dưới, bây giờ mình sẽ chia sẻ cùng các bạn chi tiết bên dưới. Ở đây mình chia sẻ 2 cách làm, 1 thủ thuật là có điểm dừng ở phần chân (footer), 1 cái sẽ đặt khoảng cách để tạo điểm dừng ở phần chân cho banner, tức là khi cuộn chuột đến 1 vị trí nào đó của chân blog/web banner này không dính nữa vì nếu dính nó sẽ lấn phần footer trông không đẹp lắm.


» Bắt đầu thủ thuật
» Thủ thuật không có điểm dừng ở Footer
1. Đăng nhập vào tài khoản Blogger
2. Vào phần thiết kế (Design)
3. Chọn chỉnh sửa HTML (Edit HTML)
4. Chèn code bên dưới vào sau thẻ <head>

<script type="text/javascript" src="http://data-traidatmui.appspot.com/scripts/Jquery1.3.2.js"></script>
<script src="http://data-traidatmui.appspot.com/scripts/stickycontent.js"></script>
<script>
jQuery(document).ready(function($){
$('#stickybanner').stickyit({
gap: 5,
stickyclass: "docked"
})
})
</script>
5. Bây giờ bạn chỉ việc thêm banner quảng cáo vào giữa thẻ DIV như bên dưới là xong
<div id="stickybanner" style="text-align:center;">

Banner quảng cáo hay nội dung của bạn

</div>

» Thủ thuật có điểm dừng ở Footer
Bạn thực hiện như các bước trên tuy nhiên đến bước 4 bạn thay thành code bên dưới
<style>
#sticky {
height:600px; /* chiều cao của banner quảng cáo*/
width:300px; /* độ rộng của banner quảng cáo*/
position:relative;
}
</style>
<script type="text/javascript" src="http://data-traidatmui.appspot.com/scripts/Jquery1.3.2.js"></script>
<script>
var $stickyHeight = 600; // chiều cao của banner quảng cáo
var $padding = 5; // khoảng cách top của banner khi dính
var $topOffset = 500; // khoảng cách từ top của banner khi bắt đầu dính (tức là khoảng cách tính từ trên xuống đến vị trí đặt banner )
var $footerHeight = 236; // Định vị điểm dừng của banner, tính từ chân lên 
/* <![CDATA[ */
function scrollSticky(){
if($(window).height() >= $stickyHeight) {
var aOffset = $('#sticky').offset();
if($(document).height() - $footerHeight - $padding < $(window).scrollTop() + $stickyHeight) {
var $top = $(document).height() - $stickyHeight - $footerHeight - $padding - 185;
$('#sticky').attr('style', 'position:absolute; top:'+$top+'px;');

}else if($(window).scrollTop() + $padding > $topOffset) {
$('#sticky').attr('style', 'position:fixed; top:'+$padding+'px;');
}else{
$('#sticky').attr('style', 'position:relative;');
}
}
}
$(window).scroll(function(){
scrollSticky();
});
/* ]]> */
</script>
Bây giờ bạn chèn code quảng cáo vào giữa thẻ DIV như bên dưới
<div id="sticky">

Code quảng cáo, banner hay nội dung của bạn

</div>
Như vậy là xong, việc dùng thủ thuật 1 hay 2 thì nó cũng điều có cái ưu và nhược điểm. Thủ thuật 1 bạn không cần canh khoảng cách top mà nó tự động dính khi cuộn chuột đến banner đó, nhưng nhược điểm không có điểm dừng ở chân, còn thủ thuật 2 thì ngược lại.
Chúc bạn thành công!


Nguồn: Traidatmui.com

3 nhận xét:

Nặc danh nói...

Chào bạn, mình làm theo cách thứ 2, mình đặt cách footer 20px thì dừng lại, nhưng thay vì dừng lại nó lại biến mất, bạn giúp mình với

TrungLun0112 nói...

Sao mình làm trên Infographic's BLOG mãi mà không đc thế này!!! :((

meoupro nói...

tao banner truc tuyen dính là như nào

Đăng nhận xét

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Press Release Distribution