Tạo Banner quảng cáo với hiệu ứng trượt dọc 2 bên

Banner quảng cáo trượt dọc 2 bên trang web là hình thức quảng cáo rất phổ biến hiện nay trên các Forum\Website lớn. Không những giúp tận dụng “đất”, nó còn dễ dàng gây được sự chú ý của người đọc với hiệu ứng trượt theo khi trang được cuộn lên\xuống.

Tiện ích này trước đây đã được một số Blogger giới thiệu. Tuy nhiên có một số nhược điểm “chết người” như : không hiển thị tốt trên trình duyệt Firefox, hoặc nếu hiển thị thì khi click vào bất cứ liên kết nào trên Blog cũng không có tác dụng ( unclickable ).
Sau khi tham khảo code từ một số website tên tuổi, mình đã tìm được đoạn
code ưng ý, có thể khắc phục được các lỗi nêu trên, đặc biệt là hiển thị tốt ngay cả trên trình duyệt “già nua xấu xí” IE6. Mời các bạn xem DEMO
Nào hãy cùng thực hiện nhé !
1. Vào Thiết kế > Phần tử trang

2. Tạo một widget HTML\JavaScript và chèn vào đoạn code bên dưới :
<div id="divAdRight" style="DISPLAY: none; POSITION: absolute; TOP: 0px">      
<a href="#"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBrRc-H6jF8ooTPU_jpmdckoXiXjwkCp_QYG5Fp9wPXHcFQ6NWXevOq5zcJwNUhkIItouaXbpvSuBXryel1qnWebh_2s3I3yo218_yFbNSEuVtTOad21nbeY0m-ZsJ_6I112TivnRW_fA/s512/bannerfpt.jpg" width="125" /></a> 
</div>      
<div id="divAdLeft" style="DISPLAY: none; POSITION: absolute; TOP: 0px">       
<a href="#"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBrRc-H6jF8ooTPU_jpmdckoXiXjwkCp_QYG5Fp9wPXHcFQ6NWXevOq5zcJwNUhkIItouaXbpvSuBXryel1qnWebh_2s3I3yo218_yFbNSEuVtTOad21nbeY0m-ZsJ_6I112TivnRW_fA/s512/bannerfpt.jpg" width="125" /></a>       
</div>       
<script>       
    function FloatTopDiv()      
    {      
        startLX = ((document.body.clientWidth -MainContentW)/2)-LeftBannerW-LeftAdjust , startLY = TopAdjust+80;      
        startRX = ((document.body.clientWidth -MainContentW)/2)+MainContentW+RightAdjust , startRY = TopAdjust+80;      
        var d = document;      
        function ml(id)      
        {      
            var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];      
            el.sP=function(x,y){this.style.left=x + 'px';this.style.top=y + 'px';};      
            el.x = startRX;      
            el.y = startRY;      
            return el;      
        }      
        function m2(id)      
        {      
            var e2=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];      
            e2.sP=function(x,y){this.style.left=x + 'px';this.style.top=y + 'px';};      
            e2.x = startLX;      
            e2.y = startLY;      
            return e2;      
        }      
        window.stayTopLeft=function()      
        {      
            if (document.documentElement && document.documentElement.scrollTop)      
                var pY =  document.documentElement.scrollTop;      
            else if (document.body)      
                var pY =  document.body.scrollTop;      
             if (document.body.scrollTop > 30){startLY = 3;startRY = 3;} else  {startLY = TopAdjust;startRY = TopAdjust;};      
            ftlObj.y += (pY+startRY-ftlObj.y)/16;      
            ftlObj.sP(ftlObj.x, ftlObj.y);      
            ftlObj2.y += (pY+startLY-ftlObj2.y)/16;      
            ftlObj2.sP(ftlObj2.x, ftlObj2.y);      
            setTimeout("stayTopLeft()", 1);      
        }      
        ftlObj = ml("divAdRight");      
        //stayTopLeft();      
        ftlObj2 = m2("divAdLeft");      
        stayTopLeft();      
    }      
    function ShowAdDiv()      
    {      
        var objAdDivRight = document.getElementById("divAdRight");      
        var objAdDivLeft = document.getElementById("divAdLeft");        
        if (document.body.clientWidth < 1000)      
        {      
            objAdDivRight.style.display = "none";      
            objAdDivLeft.style.display = "none";      
        }      
        else      
        {      
            objAdDivRight.style.display = "block";      
            objAdDivLeft.style.display = "block";      
            FloatTopDiv();      
        }      
    }  
</script>       
<script>       
document.write("<script type='text/javascript' language='javascript'>MainContentW = 1000;LeftBannerW = 125;RightBannerW = 125;LeftAdjust = 5;RightAdjust = 5;TopAdjust = 10;ShowAdDiv();window.onresize=ShowAdDiv;;<\/script>");      
</script>
  • <a href="#"> : liên kết đến khi người đọc click vào. Thay # bằng liên kết trang bạn cho phù hợp
  • <img src=””/> : banner bạn muốn hiển thị
  • width="125" : chiều rộng của banner. Có 2 giá trị được đánh dấu cùng màu đỏ
  • MainContentW = 1000 : chiều rộng trang web. Có 2 giá trị được đánh dấu cùng màu xanh lá
  • LeftAdjust = 5 : khoảng cách từ bìa trái trang web đến banner
  • RightAdjust = 5 : khoảng cách từ bìa phải trang web đến banner
  • TopAdjust = 10 : khoảng cách từ rìa trên trang web đến banner
Lưu ý : Do tiện ích sử dụng những giá trị xác định để điều chỉnh vị trí của banner so với trang web, do đó, tính thẩm mỹ của tiện ích sẽ phụ thuộc vào độ phân giải của màn hình máy tính.

2 comments:

  1. Mr.Sum ơi! Nếu mình muốn đổi hình ảnh của quảng cáo và đổi link thì làm như thế nào ạ? Trả lời dùm em qua nick thachhoangdang@gmail.com nhé
    cảm ơn Mr.Sum nhìu lắm!

    ReplyDelete
  2. Chào bạn ! Nếu bạn muốn đổi hình ảnh , bạn tìm đến địa chỉ https://lh5.googleusercontent.com/_PAuO_he0N0k/TYuDrmdfQMI/AAAAAAAAFCg/TgIewNJ7tfs/s512/bannerfpt.jpg và thay bằng địa chỉ khác bạn muốn còn muốn liên kết địa chỉ bạn thay dấu # bằng địa chỉ bạn cần liên kết

    Chúc bạn vui

    ReplyDelete

Copyright © 2013 Mr Sum