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

Thảo luận trong 'Source code' bắt đầu bởi ngoisaobang, 27 Tháng sáu 2011.

  1. Offline

    ngoisaobang

    • Friends

    Số bài viết:
    558
    Đã được thích:
    614
    Điểm thành tích:
    560
    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.

    Trong quá trình tìm hiểu & tham khảo code trên mạng thấy hay nên share lên đây cho pà kon.hihi
    Dán đoạn code này vào trong html
    HTML:
       <div id="divAdRight" style="DISPLAY: none; POSITION: absolute; TOP: 0px">      
    <a href="#"><img src="https://lh5.googleusercontent.com/_PAuO_he0N0k/TYuDrmdfQMI/AAAAAAAAFCg/TgIewNJ7tfs/s512/bannerfpt.jpg" width="125" /></a> 
        </div>      
    <div id="divAdLeft" style="DISPLAY: none; POSITION: absolute; TOP: 0px">       
    <a href="#"><img src="https://lh5.googleusercontent.com/_PAuO_he0N0k/TYuDrmdfQMI/AAAAAAAAFCg/TgIewNJ7tfs/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***91;id***93;:d.layers***91;id***93;;      
                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***91;id***93;:d.layers***91;id***93;;      
                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>
     
    Trong đoạn code trên :

    • <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.
    • MainContentW = 1000 : chiều rộng trang web.
    • 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
      Bạn có thể lDown về tham khảo :
      http://www.mediafire.com/?cmuduf2nvcva4b2
      Thử nghiệm trên web mỹ phẩm nhà mình nek!
    nhoc_thuong, ChIpKut3hongoctrien thích bài này.
  2. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Code này có cái hay là tự động cho phép hiển thị hay không hiển thị banner theo độ phân giải màn hình.
    VD ở đoạn if (document.body.clientWidth < 1000) bạn đặt giá trị là <1024 thì đối với màn hình nào có độ phân giải là 1024x768 (PC) nó sẽ không hiển thị, còn đối với những màn hình có độ phân giải lớn hơn (Laptop,..) thì nó mới hiển thị. Bạn có thể điều chỉnh thông số đó ở đoạn code trên.
    Lưu ý thêm: Đoạn này đặt trong cặp thẻ <body></body>

    Tham khảo thêm đoạn này với hiệu ứng trượt mềm mại hơn http://www.fandung.com/2009/08/thu-thuat-yeu-cau-tao-banner-quang-cao.html
    --- Nhập chung bài viết, 19 Tháng một 2013 ---
    Góp thêm 1 đoạn nữa :)
    Mã:
    <div id="divAdRight" style="DISPLAY: none; POSITION: absolute; TOP: 0px">
    <a href="http://hkda.vn"><img src="http://localhost/xenxf/khmt.jpg" width="125" height="500" /></a>
    </div>
    <div id="divAdLeft" style="DISPLAY: none; POSITION: absolute; TOP: 0px">
    <a href=" http://hkda.vn "><img src="http://localhost/xenxf/khmt.jpg" width="125"  height="500" /></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 = 960;LeftBannerW = 125;RightBannerW = 125;LeftAdjust = 5;RightAdjust = 5;TopAdjust = 20;ShowAdDiv();window.onresize=ShowAdDiv;;<\/script>");
    </script>
    trần thanh dương thích bài này.
  3. Offline

    thisicodon

    • ai mua trăng không!!!

    Số bài viết:
    367
    Đã được thích:
    269
    Điểm thành tích:
    320
    đặt trong vbb sao triển
  4. Offline

    phu_hung9x

    • Đội cứu hộ máy tính

    • ღMột Phút Xa Nhau Ngàn Phút Nhớღ ღMột Lần Gặp Gỡ Vạn Lần Mơღ ღĐến Với Nhau Qua Đôi Lần Gặp Gỡღ ღQuen Nhau Rồi Sao Nỡ Bỏ Nhau Điღ
    Số bài viết:
    242
    Đã được thích:
    102
    Điểm thành tích:
    190
    Với đoạn code ở trên đó, anh cũng đặt vào template header trong vbb thôi anh :D

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí