Showing posts with label Scriptaculous. Show all posts
Showing posts with label Scriptaculous. Show all posts

Cài đặt plugin Lightwindow cho blogspot

Posted by chiasedamme on Tuesday, June 28, 2011

Hẳn bạn từng nhìn thấy hiệu ứng phóng đại hình ảnh sau khi được click bằng cách sử dụng plugin Lightbox. Có một plugin khác có thể tạo hiệu ứng tương tự, ngoài ra có thể vận dụng cho các liên kết văn bản (Lightbox không có chức năng này), đó là Lightwindow. Lưu ý Lightwindow có sử dụng thư viện Scriptaculous nên sẽ gặp xung đột với thư viện jQuery. Nếu bạn vốn sùng jQuery thì k nên áp dụng plugin này. Nếu bạn thích dùng plugin này thì có thể áp dụng bởi vì sau này mình sẽ giới thiệu nhiều ứng dụng rất độc đáo từ Lightwindow cho blogspot.

Demo.

Để cài đặt plugin, bạn hãy thực hiện theo các bước sau đây.

Bước 1. Đăng nhập Blogger >> Design >> Edit HTML. Đặt đoạn code sau đây vào trước thẻ </head>.

<script src='http://ajax.googleapis.com/ajax/libs/prototype/1.7/prototype.js'/>
<script src='http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8/scriptaculous.js'/>
<script src='/lightwindow.js' type='text/javascript'/>
<style type='text/css'>
#lightwindow_overlay {display: none; visibility: hidden; position: absolute; top: 0px; left: 0px; width: 100%; height: 100px; z-index: 500;}
#lightwindow {display: none; visibility: hidden; position: absolute; z-index: 999; line-height: 0px;}
#lightwindow_container {display: none; visibility: hidden; position: absolute; padding: 0; margin: 0;}
* html #lightwindow_container {overflow: hidden;}
#lightwindow_contents, #lightwindow_loading {-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:0 0 40px #DDD inset;-webkit-box-shadow:0 0 40px #DDD inset;box-shadow:0 0 40px #DDD inset;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=&#39;#FF000000&#39;, EndColorStr=&#39;#FF333333&#39;);}
#lightwindow_contents {background-color:transparent;overflow:hidden;padding:15px;position:relative;z-index:0;}
#lightwindow iframe {background-color:#EEE;}
#lightwindow_loading {background-color:#333;height:100%;left:0;position:absolute;top:0;width:100%;z-index:9999;}
#lightwindow_loading img {float:left;margin:30px 0 0 50px;}
#lightwindow_loading span {color:#DDD;float:left;font-size:14px;margin:42px 0 0 5px;}
#lightwindow_loading span a {color:#FFF;cursor:pointer;}
#lightwindow_loading_shim {display: none; left: 0px; position: absolute; top: 0px; width: 100%; height: 100%;}
#lightwindow_navigation {position: absolute; top: 0px; left: 0px; display: none;}
#lightwindow_navigation_shim {display: none; left: 0px; position: absolute; top: 0px; width: 100%; height: 100%;}
#lightwindow_navigation a, #lightwindow_navigation a:link, #lightwindow_navigation a:visited, #lightwindow_navigation a:hover, #lightwindow_navigation a:active {}
#lightwindow_previous, #lightwindow_next {width: 49%; height: 100%; background: transparent url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7TnxO_CF8NOk2Wa_0CKpnYFA-QaUdgTOPpGf0txnJGiGLQz2Fmwtx3ChW-xRc5OBQ8cwFYngC6L4OxGCpwV0lspK8KJb6KjZL4-KQkVyQbmNcV426TpRwpSy6igU6Xabi_1vv6Avu6MM/s0/blank.gif) no-repeat; display: block;}
#lightwindow_previous {float: left; left: 0px;}
#lightwindow_next {float: right; right: 0px;}
#lightwindow_previous:hover, #lightwindow_previous:active {background:transparent url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDBeU8fj85BBK1Zhp7NVrcNafoJck1fsPvSGDywdyO2rpqDYC65I0wtfWLrD1HocPMKu06WWBwo6AujuGaxopNz7kb6o_5JUv-YwPvfNU7NRSY8dZxGy0aMcxjRSYjn4xFibscrfKrYHE/s0/LWicoleft.png) no-repeat 20% 50%;}
#lightwindow_next:hover, #lightwindow_next:active {background:transparent url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7km5Bl5Xx_MKJw70_hySVCY4ErfPmgnHFAKXPeejTV18RQHolPUYq3fY73G20NQI8MPtxJEs8qEX54P268EuoPl1hCtsQfjJ5wddvCNXUTF-4LYbAN_QU439ngJNj8xFir-csEbAb45s/s0/LWicoright.png) no-repeat right 50%;}
#lightwindow_previous_title, #lightwindow_next_title {display: none;}
#lightwindow_galleries {display:none !important;}
#lightwindow_data {position: absolute;}
#lightwindow_data_slide {display:none !important;}
#lightwindow_title_bar {height: 25px; overflow: hidden;}
#lightwindow_title_bar_title {color:#DDD;float:left;font-size:14px;line-height:25px;margin-left:20px;text-align:left;}
a#lightwindow_title_bar_close_link, a#lightwindow_title_bar_close_link:link, a#lightwindow_title_bar_close_link:visited {-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;-moz-box-shadow:0 0 17px #FFF inset;-webkit-box-shadow:0 0 17px #FFF inset;box-shadow:0 0 17px #FFF inset;background-color:#000;color:#AAA;cursor:pointer;display:block;float:right;font-family:Verdana;font-weight:bold;height:22px;line-height:22px;padding:0 30px;text-align:right;text-transform:lowercase;}
a#lightwindow_title_bar_close_link:hover {color:#FFF;background-color:#222}
#lightwindow p {color: #000; padding-right: 10px;}
a.lightwindow {cursor:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4epCpSl7XxkcdxCOJu1TTYfw9UrdFOUAjQFgGyaGbHtMoHeZ04qLzIX8O1AA-AlMA42rUpVRSc8UnJUMaUe4GkOXT-4bEd3b1Jc7IYPdqoFMRbndQjSv6AOxsI4zvlZq89U0y82fIdqc/s0/magplus.gif), pointer !important;}
a.lightwindow img {cursor:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4epCpSl7XxkcdxCOJu1TTYfw9UrdFOUAjQFgGyaGbHtMoHeZ04qLzIX8O1AA-AlMA42rUpVRSc8UnJUMaUe4GkOXT-4bEd3b1Jc7IYPdqoFMRbndQjSv6AOxsI4zvlZq89U0y82fIdqc/s0/magplus.gif), pointer !important;}
</style>

Bạn nên tải về file js lighwindow.js sau đó upload lên host hoặc lên googlecode để sử dụng cho blogspot của bạn.

Lưu Template.

Bước 2. Thiết lập cấu trúc HTML cho các liên kết như sau:

<a class='lightwindow' href='#' params='lightwindow_width=600,lightwindow_height=600,lightwindow_loading_animation=true' rel='nofollow' title='Title Text'>Text Link</a>

Chú ý điều chỉnh width (600) và height (600) tương ứng với chiều rộng và chiều cao của cửa sổ hiệu ứng sao cho tương thích với từng trường hợp áp dụng.

Để áp dụng plugin này cho hình ảnh, bạn có thể sử dụng cấu trúc HTML như sau:

<a class="lightwindow" href="URL_hình ảnh"><img src="URL_hình ảnh" width="350px" height="250px"/></a>
More about

Tiện ích Người theo dõi biến mất vì Prototype?

Posted by chiasedamme on Wednesday, January 12, 2011

Như các bạn biết thì thư viện Scriptaculous rất hữu ích khi hỗ trợ tạo các hiệu ứng đẹp trong thiết kế web. Trong quá trình ứng dụng Scriptaculous vào Blogger, tôi nhận thấy một sự cố không mong muốn là tiện ích Người theo dõi (Followers) “bỗng dưng biến mất” khi đưa thư viện Scriptaculous vào blogspot. Thật đáng tiếc. Đó là do có sự không tương thích giữa script trong tiện ích Người theo dõi với thư viện Prototype trong Scriptaculous.

Giải pháp là thêm một đoạn script nhỏ khi đưa thư viện Prototype vào Blogger. Thường thì ta đặt đoạn code sau đây vào trước thẻ </head> trong Template.

<script src='http://www.google.com/jsapi'/>
<script>
google.load(&quot;prototype&quot;, &quot;1.6.1.0&quot;);
google.load(&quot;scriptaculous&quot;, &quot;1.8.3&quot;);
</script>

Để khắc phục vấn đề không hiển thị tiện ích Người theo dõi, cần phải sử dụng đoạn code như thế này.

<script src='http://www.google.com/jsapi'/>
<script>
google.load(&quot;prototype&quot;, &quot;1.6.1.0&quot;);
window.JSON = {
parse: function (st) { return st.evalJSON(); },
stringify: function(obj) { return Object.toJSON(obj); }
};
google.load(&quot;scriptaculous&quot;, &quot;1.8.3&quot;);
</script>

Phần được đánh dấu màu đỏ là phần thêm vào để xử lý sự không tương thích giữa Prototype và script trong tiện ích Người theo dõi.
More about

Kéo và thả hình ảnh và các thành phần khác

Posted by chiasedamme on Monday, January 10, 2011

Chúng ta đã biết cách kéo tiện ích qua bài viết này. Áp dụng rộng hơn với sự hỗ trợ của thư viện Scriptaculous, chúng ta có thể tạo thủ thuật kéo và di chuyển hình ảnh và các thành phần khác. Thủ thuật này áp dụng cho cả website thông thường và blogspot.

Bước đầu tiên là đặt đoạn code sau đây vào trước thẻ </head>. (Nếu trong Template của bạn đã có đoạn code này rồi thì không cần thêm vào)

<!-- Prototype and Scriptaculous-->
<script type='text/javascript' src='http://www.google.com/jsapi'/>
<script type='text/javascript' >
google.load(&quot;prototype&quot;,&quot;1.6.0.3&quot;);
google.load(&quot;scriptaculous&quot;, &quot;1.8.2&quot;);
</script>

Bước tiếp theo, bạn cần đặt id cho hình ảnh, ví dụ image1, image2, image3, … và sử dụng cấu trúc như sau cho hình ảnh.

<img id="image1" style="cursor:move; border:0px;" src="URL_hình ảnh 1"/><script type="text/javascript">new Draggable('image1');</script>

Nếu bạn áp dụng cho nhiều hình ảnh trong đó có đoạn text chú thích cho hình ảnh thì sử dụng cấu trúc như sau.

<div style="margin: 0px auto; text-align: center;"><img id="image2" style="border: 0px none ; margin: 0px auto; cursor: move;" src="URL_hình ảnh 2" /> <img id="image3" style="border: 0px none ; margin: 0px auto; cursor: move;" src="URL_hình ảnh 3" />
Đoạn text chú thích</div>
<script type="text/javascript">new Draggable('image2');new Draggable('image3');</script>


Nếu bạn muốn áp dụng cho một đoạn text thông báo thì bạn cần đặt tên id cho nó là div1 và sử dụng cấu trúc sau.

<div id="div1" style="border: 2px solid rgb(0, 0, 0); margin: 0px 0px 10px; padding: 4px; background: rgb(220, 220, 220) none repeat scroll 0% 0%; float: right; cursor: move; width: 250px; height: 60px; color: rgb(0, 0, 255); text-align: justify;">Đây là nội dung đoạn text thông báo.</div><script type="text/javascript">new Draggable('div1');</script>

Ngoài ra, bạn còn có thể áp dụng cho liên kết bằng hình ảnh và sử dụng cấu trúc sau đây.

<img id="image0" style="cursor:move; border:0px;" ondblClick="javascript:window.open('URL_liên kết cho hình ảnh')" src="URL_hình ảnh"/>
<script type="text/javascript">new Draggable('image0');</script>

Chú ý, các id cho hình ảnh cần được đặt kèm theo số thứ tự để tránh sự trùng lắp dẫn đến thủ thuật kéo không hoạt động được.
More about

Kéo tiện ích sử dụng Scriptaculous

Posted by chiasedamme

Có khi nào bạn nghĩ mình có thể dùng con trỏ kéo một tiện ích nào đó trên blog của mình đến một vị trí khác trên trang? Liệu điều đó có thể thực hiện được hay không? Tại sao không thể tạo ra thủ thuật có tác dụng như thế để nghịch trên blog một chút.

Thủ thuật kéo tiện ích giúp chúng ta nghịch ngợm với blog một chút và khiến cho việc chơi blog trở nên thú vị hơn. Để tạo thủ thuật này, tôi có sử dụng đến thư viện Scriptaculous.

Xem Demo.

Nếu bạn thích nghịch và vọc thủ thuật này thì hãy thực hiện theo các bước sau.

Bước 1. Đăng nhập Blogger, vào Design >> Edit HTML.

Đặt trước thẻ </head> với đoạn code sau đây.

<script src='http://www.google.com/jsapi'/>
<script>
google.load(&quot;prototype&quot;,&quot;1.6.0.3&quot;);
google.load(&quot;scriptaculous&quot;, &quot;1.8.2&quot;);
</script>

Lưu Template.

Bước 2. Lúc này bạn cần xác định id của một tiện ích HTML/JavaScript nào đó mà bạn muốn áp dụng thủ thuật kéo. Ví dụ nếu bạn áp dụng cho tiện ích có id là HTML1 thì bạn vào Page Elements, chỉnh sửa tiện ích có id HTML1 và đặt vào phần nội dung của tiện ích với cấu trúc như sau.

<div id="HTML1" style="cursor:move; border:0px;">
Nội dung code tiện ích có id là HTML1
</div>
<script type="text/javascript">new Draggable('HTML1');</script>

Tương tự như vậy bạn có thể áp dụng cho các tiện ích khác với id như HTML2, HTML3, …
More about

Hiệu ứng toggle cho nút Xem code sử dụng Scriptaculous

Posted by chiasedamme on Thursday, December 2, 2010

Hiệu ứng toggle được sử dụng nhiều trong thiết kế web, phổ biến nhất là có sự kết hợp của thư viện jQuery giúp tạo sự mượt mà cho hiệu ứng trượt. Hôm nay tôi xin giới thiệu hiệu ứng toogle có sử dụng thư viện Scriptaculous. Bạn có thể vận dụng hiệu ứng này để tạo nút Xem code đối với website/webblog giới thiệu về thủ thuật blog hay webdesign.

Trước tiên bạn cần đặt đoạn code dưới đây vào trước thẻ </head>:

<script type='text/javascript' src='http://www.google.com/jsapi'></script>
<script type='text/javascript'>
google.load("prototype","1.6.0.3");
google.load("scriptaculous", "1.8.2");
</script>

Tiếp theo bạn thiết lập cấu trúc HTML như sau và đặt vào vị trí cần tạo nút Xem code.



Nếu bạn muốn thêm một nút Đóng sau nội dung code thì bạn tạo HTML như sau:



Nếu trong một bài viết mà bạn đặt nhiều nút Xem code thì cần phải đặt tên id lần lượt là Button1, Button2, Button3,…
More about

Tạo thanh menu sổ dọc sử dụng Scriptaculous

Posted by chiasedamme on Tuesday, November 30, 2010

Thư viện Scriptaculous có thể được sử dụng để tạo hiệu ứng động trong việc tạo thanh menu sổ dọc. Ở đây xin giới thiệu kiểu menu sổ dọc do Sven Wappler phát triển có sử dụng Prototype + Scriptaculous.

Xem Demo 1.

Nếu bạn muốn tạo một thanh menu đẹp như vậy thì có thể thực hiện theo các bước sau đây.

1. Đặt toàn bộ đoạn code dưới đây vào trước thẻ </head>

<script src="http://www.wappler.eu/scriptaculous/prototype.js" type="text/javascript"></script>
<script src="http://www.wappler.eu/scriptaculous/scriptaculous.js" type="text/javascript"></script>
<script src="http://www.wappler.eu/scriptaculous/swdropdownmenu/menu.js" type="text/javascript"></script>

<style type="text/css">
#menu{ background:#678;border-bottom:1px solid #ABC;border-top:1px solid #ABC;padding-left:10px;height:32px;width:100%}
#menu ul{ display:block;line-height:1em;list-style:none;margin:0 !important;padding:0 !important;z-index:90}
#menu ul li{ float:left;font-size:12px;line-height:1,5em;list-style-type:none;margin:0;padding:0}
#menu ul li a{ background:transparent;color:GreenYellow;display:block;font-weight:bold;line-height:32px;text-decoration:none;margin:0;padding:0 1em;width:auto}
#menu ul li a:hover{ color:#FFF;text-decoration:none}
#menu ul.level2,#menu ul.level3{ background:#678;border-top:1px solid #ABC;left:0;position:absolute;top:0;visibility:hidden}
#menu ul.level2 li,#menu ul.level3 li{ border-bottom:1px solid #ABC;float:none;margin:0;padding:0;width:150px}
#menu ul.level2 li a,#menu ul.level3 li a{ padding:0 1em}
#menu ul.level2 li a:hover,#menu ul.level3 li a:hover{ background-color:#456}
</style>

2. Thiết lập cấu trúc HTML như sau và đặt vào phần thân trang web (giữa 2 thẻ <body>, </body>.

<div id="menu">
<ul class="level1" id="root">
<li>
<a href="#">Menu 1 (+)</a>
<ul class="level2">
<li><a href="#">Submenu 1.1.</a></li>
<li><a href="#">Submenu 1.2. (+)</a>
<ul class="level3">
<li><a href="#">Submenu 1.2.1.</a></li>
<li><a href="#">Submenu 1.2.2.</a></li>
<li><a href="#">Submenu 1.2.3.</a></li>
</ul>
</li>
<li><a href="#">Submenu 1.3.</a></li>
<li>
<a href="#">Submenu 1.4. (+)</a>
<ul class="level3">
<li><a href="#">Submenu 1.4.1.</a></li>
<li><a href="#">Submenu 1.4.2.</a></li>
<li><a href="#">Submenu 1.4.3.</a></li>
<li><a href="#">Submenu 1.4.4.</a></li>
</ul>
</li>
</ul>
</li>
<li class="sep">|</li>
<li><a href="#">Menu 2</a></li>
<li class="sep">|</li>
<li><a href="#">Menu 3</a></li>
<li class="sep">|</li>
<li>
<a href="#">Menu 4 (+)</a>
<ul class="level2">
<li><a href="#">Submenu 4.1.</a></li>
<li>
<a href="#">Submenu 4.2. (+)</a>
<ul class="level3">
<li><a href="#">Submenu 4.2.1.</a></li>
<li><a href="#">Submenu 4.2.2.</a></li>
<li><a href="#">Submenu 4.2.3.</a></li>
</ul>
</li>
<li><a href="#">Submenu 4.3.</a></li>
</ul>
</li>
<li class="sep">|</li>
<li><a href="#">Menu 5</a></li>
</ul>
</div>

Việc bạn cần làm là đặt tên các Menu và Submenu đồng thời đặt đường link tương ứng vào đoạn code ở trên.
More about

Tạo sidebar menu trượt độc đáo sử dụng Scriptaculous

Posted by chiasedamme on Monday, November 29, 2010

Scriptaculous là một thư viện JavaScript được xây dựng trên Prototype JavaScript Framework, cung cấp các hiệu ứng động trực quan và các thành phần giao diện người dùng thông qua Document Object Model (DOM).

Scriptaculous có thể được sử dụng để tạo hiệu ứng trượt độc đáo cho thanh menu. Hôm nay xin giới thiệu cách thực hiện kiểu menu trượt của tác giả Andrew Sellick. Tôi đã có điều chỉnh đôi chút so với bản gốc của tác giả. :47)

Xem Demo.

Bạn có thể tạo một kiểu menu như vậy cho website/webblog của mình theo các bước sau đây.

1. Đặt toàn bộ phần code dưới đây vào trước thẻ </head>.

<script type='text/javascript' src="http://www.google.com/jsapi"></script>
<script>
google.load("prototype", "1.6.0.3");
google.load("scriptaculous", "1.8.2");
</script>
<script type="text/javascript" src="http://hacodeproject.googlecode.com/files/side-bar.js"></script>
<style type='text/css'>
#menuBar a{outline:none}
#menuBar a:active{outline:none}
#menuBar{text-align:left}
#menuBar h2{color:#FFF;font-size:110%;font-family:arial;margin:10px;font-weight:bold !important}
#menuBar h2 span{font-size:125%;font-weight:normal !important}
#menuBar ul{margin:0;padding:0}
#menuBar li{margin:0 10px 3px;padding:2px;list-style-type:none;display:block;background-color:#DA1074;width:147px;color:#FFF}
#menuBar li a{width:100%}
#menuBar li a:link,#menuBar li a:visited{color:#FFF;font-family:verdana;font-size:100%;text-decoration:none;display:block;margin:0;padding:0;width:100%}
#menuBar li a:hover{color:#FFF;text-decoration:none;background-color:#000}
#menuBar{position:fixed;width:auto;height:auto;top:170px;right:-5px;background-image:url(http://bit.ly/gLVyXX);background-position:top left;background-repeat:repeat-y}
#menuBarTab{float:left;height:137px;width:28px}
#menuBarTab img{border:0 solid #FFF}
#menuBarContents{float:left;overflow:hidden !important;width:175px;height:170px}
#menuBarContentsInner{width:200px}
</style>

Bạn có thể tùy ý điều chỉnh thuộc tính CSS.

2. Thiết lập cấu trúc HTML như sau và đặt vào phần thân trang web (giữa 2 thẻ <body>, </body>.

<div id="menuBar">
<a href="#" id="menuBarTab"><img src="http://bit.ly/eA8PG7" alt="menuBar" title="menuBar" /></a>
<div id="menuBarContents" style="display:none;">
<div id="menuBarContentsInner">
<h2>Menu<span>bar</span></h2>
<ul>
<li><a href='http://huynh-nhat-ha.blogspot.com/' title='Home'>Home</a></li>
<li><a href='http:// huynh-nhat-ha.blogspot.com/feeds/posts/default' title='Suscribe Post Feed'>RSS</a></li>
<li><a href='http://huynh-nhat-ha.blogspot.com/feeds/comments/default' title='Suscribe Comment Feed'>Comment RSS</a></li>
<li><a href='http://huynh-nhat-ha.blogspot.com/p/contact.html' title='Contact'>Contact</a></li>
</ul>
</div>
</div>
</div>
Lúc này bạn chỉ việc thay đổi các tên menu và liên kết tương ứng trong cấu trúc HTML ở trên là bạn sẽ có một kiểu menu trượt độc đáo rồi đấy. Kiểu menu này có thể được cài đặt dễ dàng cho Blogger.
More about