ITechPlus | Kiến thức - Thủ thuật - Giải pháp công nghệ

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

25 tháng 3, 2011

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, iTechPlus đã 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.

Banner quảng cáo trượt dọc 2 bên trang web

Trang iTechPlus.info hiển thị dưới độ phân giải 1280x800

Và cũng theo yêu cầu của một số bạn trước đây, hôm nay iTechPlus sẽ hướng dẫn các bạn cách chèn tiện ích “Banner quảng cáo trượt dọc 2 bên” vào Blog, qua 2 bước rất đơn giản sau :

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/AVvXsEjv51-6iJlQIolQK6E6gW7lBp5bq-FgkBWxGB0qkoXlyCAwxOVUxSKd9JHV-GdfSrZS_zKsT6AoS5gjsNXj8ZqLxe3tFjdinP6Qp-EAeEFqsRktveOZKclUnQlMv4dxPQ_FyGc8Phn_-0c/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/AVvXsEjv51-6iJlQIolQK6E6gW7lBp5bq-FgkBWxGB0qkoXlyCAwxOVUxSKd9JHV-GdfSrZS_zKsT6AoS5gjsNXj8ZqLxe3tFjdinP6Qp-EAeEFqsRktveOZKclUnQlMv4dxPQ_FyGc8Phn_-0c/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>

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. 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.

3. Save and Done.

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

iTechPlus

Đăng ký nhận thủ thuật mới

Bạn có thể cập nhật những thủ thuật mới từ iTechPlus.info một cách nhanh nhất bằng cách :

Subscribe to RSS Đăng ký nhận tin RSS

Subscribe to Email Đăng ký nhận tin qua Email

Ý kiến bạn đọc [ 38 ]

VISITOR
Nặc danh 13:38 30/3/11 Trả lời

hay quá thanks itechplus.info mạo muội rinh một mớ về bỏ nhà khi nào rảnh đem ra vọc trước đây banner chạy hai bên đã có làm qua mà không good được IE thì mất Mozilla giờ thủ chạy quá đã cám ơn nhiều ....

ADMIN
iTechPlus 13:58 30/3/11 Trả lời

Trước đây mình cũng đau đầu với cái này nhưng giờ cũng tạm chấp nhận. Hiện không có cách nào để nó tự động điều chỉnh vị trí cho phù hợp với độ phân giải màn hình.

VISITOR
Nặc danh 13:26 31/3/11 Trả lời

Đúng vậy Admin itechplus.info. nếu có một ai làm được cái auto được độ phân giải thì quá tuyệt vì nó ăn theo cấu trúc của blog hay web , minh lướt mấy Forum thấy nó cũng đâu auto được chỉ điều chỉnh chết chỉ hiển thị tốt trên độ phân giải nào đó thôi..

VISITOR
Nặc danh 13:36 31/3/11 Trả lời

Àh mình thường mong muốn cho các Blogger thiết kế và Template sao cho Blog các bạn chạy tốt, trước đây ít có comments các blog khác vào rình rình thích lấy về vọc, chẳng có một anh tài nào nói là Blog mình load nhanh, phải coi bố trí thế nào, thành phần cho chạy home nhiều hay ít java chiếm tỹ lệ bao nhiêu,
đúng là những bác rành về code thường bố trí nó hợp lý hơn những tay ngang, đại loại là Mobile, mò đại nêu không chạy được thì up lại cái temp lên lại thôi rồi lại mò tiếp.
Riêng cái Blog của itechplus.info load cũng nhanh nhưng nó bị Lắc cũng giống như chơi games bị lắc nếu card màn hình yếu hay không đủ Drive vậy,mình lướt các blog khác rất ok tuy là Card màn hình của mình cũng không yếu và không mạnh đủ xài thôi, gắm 6 acc võ lâm chạy tốt mà vào trang home của itechplus.info là Lắc

ADMIN
iTechPlus 14:28 31/3/11 Trả lời

Do mình thích tính chuyên nghiệp của giao diện web nên phải dùng javascript để get feed. Tuy có chậm đi và ảnh hưởng không nhỏ đến khả năng SEO nhưng đem lại cho người đọc cảm giác về sự chuyên nghiệp, và cũng đúng ý thích của mình.

Thôi thì được nọ mất kia. Blogger muốn có giao diện của WebBlog thì đành vậy. Cảm ơn bạn đã chia sẻ những ý kiến rất thật, mà ít ai chia sẻ.

VISITOR
Nặc danh 23:28 31/3/11 Trả lời

Góp ý để cùng nhau hoàn thiện tốt hơn, đó cũng là lối sống thường ngày của mình,
Và nghe bạn nói bạn muốn biến thành webBlog cho nó chuyên nghiệp hơn cũng đúng,
Mình có yêu cầu này chưa yêu cầu một Blog nào hết, và mình cũng thường để ý đến
vấn đề này rất nhiều Blog, mong răng itechplus.info là người Share đầu tiên, nếu itechplus.info đã thấy ở đâu share thì cho mình xin link chứ mình thì chưa thấy cái hướng dẫn làm Footer, nhiều Blog chỉ hướng dẫn add chia footer nhiều cột bài như vậy thì copy ra rất nhiều Blog,hướng dẫn làm cho footer đẹp thì chưa
mong rằng itechplus.info hướng dẫn phần footer là cũng coi như Blogger cũng vừa đủ sài thanks ....!

ADMIN
iTechPlus 23:34 31/3/11 Trả lời

Mình chưa rõ ý bạn cho lắm. Ý bạn muốn tùy biến footer-wrapper mặc định của Blogger ? Nếu vậy, bạn muốn tùy biến như thế nào, bố cục ra sao ? Hoặc bạn có mẫu không ?

Bạn phải nói rõ hơn thì mình mới giúp được !

VISITOR
Nặc danh 12:19 1/4/11 Trả lời

Mobile muốn làm cái footer như iTechPlus nhìn rất chuyên nghiệp nếu iTechPlus có thể hướng dẫn hoặc share cho mọi người và mình để vọc cai footer này thì rất cám ơn...

ADMIN
iTechPlus 13:43 1/4/11 Trả lời

À ra vậy. Mình sẽ post hướng dẫn làm tiện ích này trong thời gian tới. Bạn theo dõi nhé !

VISITOR
heroman 06:51 24/4/11 Trả lời

iTechPlus cho mình hỏi có thể sử dụng nhiều hình ảnh nối đuôi nhau cùng trượt 1 lúc ko? Vậy phải thêm cho script trên ntn? Chân thành cám ơn!

ADMIN
iTechPlus 09:59 24/4/11 Trả lời

@huulan : Bạn chỉ cần chèn thêm code ảnh bên trên/dưới code ảnh có sẵn là được ::i

VISITOR
heroman 01:00 26/4/11 Trả lời

hi iTechPlus

Mình muốn banner bên trái và phải chạy sát màn hình luôn thì sẽ phải chỉnh lại cái
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
này ntn? sao tui đưa vào web 2 bên nó ko đều nhau, chiều rộng web cũng = 1000 mà.

ADMIN
iTechPlus 08:52 26/4/11 Trả lời

Bạn thay đổi số 5 thành số khác là OK mà ::o (có thể sử dụng số âm)

VISITOR
heroman 21:55 27/4/11 Trả lời

iTechPlus ui

Tui muốn hình 2 bên website ko để ở dạng tĩnh, mà phải là động và mỗi bên có thể có nhiều hơn 1 hình nhưng sao làm mãi mà mỗi lần chạy nó chỉ lấy lên được 1 hình cho 2 bên, tui dùng datalist control của asp.net bind lên. iTechPlus giúp tôi chỗ này với. Chân thành cám ơn!

ADMIN
iTechPlus 22:05 27/4/11 Trả lời

@huulan : chèn thêm hình mỗi bên mình đã hướng dẫn ở trên rồi::q, còn muốn tạo ảnh động thì bạn phải dùng phần mềm chuyên dụng, như GIMP, Easy GIF Animator,...
Trên itechplus.info cũng có bài hướng dẫn dùng Gimp, bạn có thể search là ra ngay.::f

VISITOR
heroman 00:23 5/5/11 Trả lời

hi iTechPlus

Bạn ko hiểu ý ảnh động mình nói rùi, ảnh động ở đây có nghĩa là khi mình muốn thay đổi bất cứ hình nào, mình sẽ ko cần phải mở code ra để chỉnh sửa mà chỉ cần edit trong CSDL mà thui, nếu bạn am hiểu về asp.net có thể chỉ mình cách bind lên được nhiều hình khác nhau nhưng vẫn đảm bảo banner sẽ vẫn chạy dọc 2 bên web ko? mình làm hoài vẫn chưa được, chỉ bind lên được 1 hình thui, ko lẽ code javascript này lại khống chế điều đó.

ADMIN
iTechPlus 00:31 5/5/11 Trả lời

@SEO/huulan: đối với Blogspot thì hầu hết các thay đổi đều phải mở code ra để edit, thường là css/html. Mình chưa thấy một Blogger nào sử dụng nền tảng Blogspot mà có thể tiến hành chỉnh sửa mà không phải đụng đến code cả::v

VISITOR

Cảm ơn Itech nhiều lắm, mình tìm 1 loạt mã rồi mà ko chạy đc trên FF, chỉ chạy đc trên IE8 thôi. May mà có đoạn code của Itech, giờ đã khắc phục đc lỗi trên FF rồi ^^

ADMIN
iTechPlus 09:16 11/6/11 Trả lời

@Linh : Site bạn thật ấn tượng ::j

VISITOR
Nặc danh 16:53 19/6/11 Trả lời

Hoàng ngọc linh là Web PHP sao không ấn tượng được iTechplus ::n

Hữu Lan ở trên nói iTechlus viết thêm hàm CSDL Database cho Hữu lan làm quảng cáo theo kiểu Auto kìa ::m

VISITOR
hungpro 15:53 31/7/11 Trả lời

bài viết hay quá bạn

VISITOR
vietstyle 16:37 8/8/11 Trả lời

cho hỏi nếu mình muốn 2 banner của mình đứng im ở dưới cuối trang, scroll chuột nó vẫn chạy theo nhưng chạy ko bị giựt giựt. mình phải chỉnh code như thế nào...ai help với!

VISITOR
chonsimdep.vn 02:02 26/9/11 Trả lời

cam on itechplus nhe .minh tim mai ko dc gio moi tim dc .cho minh hoi gio minh muon cho bamer cua minh dung o duoi ko phai o tren thi nhu the nao .dc the thi tot qua . cam on nhieu nhe .

VISITOR
Admin 16:19 27/9/11 Trả lời

Bạn giúp mình với xemtruyen.net

VISITOR
Hoàng huệ 14:20 1/11/11 Trả lời

thnks anh nhieeuf nha~hy

VISITOR
Unknown 14:40 2/11/11 Trả lời

Sao của mình hok thấy chạy nhỉ.hix..

VISITOR
Unknown 11:41 11/11/11 Trả lời

mình thử chèn vài hình nữa, nhưng chỉ có bên phải là tự động xuống dòng, còn bên trái thì các baner nằm ngang luôn. giúp mình với.

VISITOR
Nặc danh 16:59 23/11/11 Trả lời

Hết chạy roài

VISITOR
Viet 20:46 21/1/12 Trả lời

Hay wa' admin oi

VISITOR
vbtk house 11:39 8/3/12 Trả lời

làm trên blogspot không được ...bạn giúp chỉ mình với

VISITOR
khanh 10:34 14/3/12 Trả lời

http://lh6.ggpht.com/_CtAentwhdRk/TQEFlOmMtCI/AAAAAAAABNM/WoV7TLYnYw0/8.gif

VISITOR
khanh 10:35 14/3/12 Trả lời

http://lh6.ggpht.com/_CtAentwhdRk/TQEFlOmMtCI/AAAAAAAABNM/WoV7TLYnYw0/8.gif

VISITOR
Unknown 19:51 27/6/12 Trả lời

google sites thì có làm dc ko ạ.em mò mãi mà vẫn ko dc

VISITOR
Unknown 19:51 27/6/12 Trả lời

google sites thì có làm dc ko ạ.em mò mãi mà vẫn ko dc

VISITOR
Unknown 05:00 15/9/12 Trả lời

Chào iTechPlus , mình đã áp dụng thành công thủ thuật trên . Banel quảng cáo hiển thị rất gọn và đẹp , mình rất ưng ý . Chân thành cảm ơn bạn . Nếu có dịp , mong bạn dành 3 phút ghé thăm trang mình đang làm và góp ý cho mình những kinh nghiệm quý báu của bạn . Thân

VISITOR

Code rất hay, mình đã áp dụng ở blog mình. thanks bạn.

VISITOR
Tin 15:12 9/10/12 Trả lời

Đã làm đc rùi ! Thanks pak đã chia sẻ !

VISITOR
Unknown 16:18 2/11/12 Trả lời

tình hình là nếu mỗi bên 1 banner thì ko sao, nhưng mà khi đặt 2 banner một bên thì, bên phải không có vấn đề, nhưng mà bên trái thì lại bị, bên phải vẫn theo thứ tự xổ dọc banner1-banner2 nhưng mà bên trái thì lại theo hàng ngang, Itech có thể fix zùm lỗi này ko

Ý kiến của bạn

* Lưu ý :
- Vui lòng gõ tiếng Việt có dấu khi viết bình luận.
- Nội dung phải liên quan đến chủ đề bài viết.
- Không dùng lời lẽ khích bác, thô tục ảnh hưởng đến người khác.
- Không đặt link đến Blog/Web khác.
- Những góp ý, thắc mắc không liên quan các bạn vui lòng post tại đây.

Thân, iTechPlus.

KaKa Khóc rồi nè Ngạc nhiên Sợ quá đi thôi Thèm nhỏ dãi Mỏ nhọn
Không thèm nói Bị thôi miên Cà phê Số một Không đồng ý Tức giận
Cười đểu Cười lè lưỡi Lo lắng Thật khó hiểu Không hiểu Buồn ngủ
Làm hòa nhé Muốn gây sự hả Thẹn thùng Ngầu chưa Tan nát cõi lòng Cứ tự nhiên
Là sao nhỉ Im lặng Hết cách Bở hơi tai Yêu thế Bái bai

 
Copyright @ 2009 - 2011 - iTechPlus.info. All rights reserved.
Ghi rõ nguồn khi phát hành lại thông tin từ Website này.
Design by iTechPlus. Powered by Blogger
Based on Minima Template.