搜索
SR網頁設計工作室 - 購物網站/企業官網專業開發 JS程式語法 jQuery + CSS3 自己製作臉書、GOOGLE等社群功能按鈕 (收 ...
byadmin 發表於 2013-5-23 21:59:37 , 4190人已閱讀 , 0人回應
最近在做工作室首頁的網頁設計時候,剛好有想要放FB粉絲團Social Plugin的需求,不過筆者因為想保持版面乾淨,所以不想直接放在主區域右側邊攔上,霎時突然想到好像國外網頁設計很喜歡把版面物件隱藏起來,需要的時候在透過js來呼叫 ! 之前在逛Blog的時候也恰巧看到了不少相關應用,所以這次就來用jQuery + CSS3 實作一下社群按鈕的案例吧 !

開始執行設計之前主要的規劃就是,利用JQUERY控制滑鼠事件,讓滑鼠移動經過時呼叫出隱藏的物件 (就是放FB社群插件的容器),然後配上CSS3的Transition 動態效果 , 先來看一下實際效果吧 (請使用 Chrome 和 Firefox 瀏覽器瀏覽,IE瀏覽的話會了transition動態效果)

DEMO範例
社群按鈕.jpg

CSS


可以看到當滑鼠移動經過 Facebook按鈕或Google按鈕的時候,會呼叫出FB社群插件 (在範例中google按鈕我呼叫的是圖片"偷懶一下"),下面來簡單分析一下程式碼,首先是CSS的部分,這個案例最主要的核心在於控制使用「transform:scale(0);」將要被呼叫的物件給隱藏起來:

  1. //將被呼叫的容器使用Scale 0隱藏
  2. .display{
  3. position: absolute;
  4. left: -260px;
  5. top: 0;
  6. width:0;
  7. height:0;
  8. -webkit-transform:scale(0);
  9. -moz-transform:scale(0);
  10. -ms-transform:scale(0);
  11. -o-transform:scale(0);
  12. transform:scale(0);
  13. }
複製代碼
當滑鼠移動經過按鈕時,透過JQuery讓原本的容器產生新的類別,所我們只要對新的類別容器,添加「transform:scale(1);」就可以顯示物件 ..
  1. .display.show {
  2. display: block !important;
  3. width: 300px;
  4. height: 586px;
  5. position: absolute;
  6. left: -297px;
  7. top: 0;
  8. -webkit-transform:scale(1);
  9. -moz-transform:scale(1);
  10. -ms-transform:scale(1);
  11. -o-transform:scale(1);
  12. transform:scale(1);
  13. -webkit-transform-origin: bottom center;
  14. }
複製代碼

JQUERY

JQuery的部分
  1. <script>
  2.     var jq = jQuery.noConflict();
  3. jq(function(){
  4.         jq(".sc_facebook").mouseover(function(){
  5.                 jq(".display").addClass("show");               
  6.         })
  7.         
  8.         jq(.sc_facebook).mouseout(function(){
  9.                 jq(".display").removeClass("show");
  10.         })
  11. });

  12. jq(function(){        
  13.                 jq(".sc_google").mouseover(function(){
  14.                 jq(".display2").addClass("show");               
  15.         })
  16.         
  17.         jq(".sc_google").mouseout(function(){
  18.                 jq(".display2").removeClass("show");
  19.         })
  20. });

  21. </script>
複製代碼
很簡單的兩句function , 都是命令滑鼠經過指定Class(orID)時,為他添加新Class,然後滑鼠移出時,移除添加的Class,剩下美化的部分就不多說明囉 ~

方法二、直接使用 JQuery fadeIn 效果迅速實現


剛剛方法一只是為了搭配CSS3的麻煩作法 ! 其實真正要應用的話,可以使用fadeIn來直接實現相同效果 , 還帶有淡入淡出動畫效果喔 ! 先看以下範例:

方法二範例DEMO

真正要應用的話,筆者當然是推薦使用方法二,理由很簡單除了CSS可以少寫非常多語法外,相容性也比方法一高,因為方法一有用到CSS3的縮放語法,對某些瀏覽器可能支援部是這麼好 , 本來方法一中還想加入transition動態效果,後來作罷也是因為IE支援度較低的關係 ! 來看一下css語法部分:

CSS


  1. //使用display:none 將容器預先隱藏
  2. .display {
  3. width: 300px;
  4. height: 586px;
  5. position: absolute;
  6. right: 50px;
  7. display:none;
  8. }
複製代碼

JQUERY

  1.   //指定hover事件的fadeIn + fadeOut 漸層效果
  2.         $(function(){
  3.         
  4.                 $('.sc_facebook').hover(function(){
  5.                         $('.display').stop(true, true).fadeIn(400);
  6.                 } , function(){
  7.                         $('.display').stop(true, true).fadeOut(400);
  8.                 });

  9.         });
  10.         
  11.         $(function(){
  12.         
  13.                 $('.sc_google').hover(function(){
  14.                         $('.display2').stop(true, true).fadeIn(400);
  15.                 } , function(){
  16.                         $('.display2').stop(true, true).fadeOut(400);
  17.                 });

  18.         });
  19.    
複製代碼


收藏回覆 只看該作者 道具 舉報

Traffic Exchange Site
您需要登錄後才可以回帖 登錄 | 立即註冊

作者資訊

文章分類

SR數位設計工作室

  • 服務專線:03-3555-069


ECSHOP購物網站開發|接案說明|線上洽詢|隱私權政策|SR數位設計(CMS)

信箱:sr.design2011@gmail.com

, Processed in 0.045845 second(s), 42 queries , Gzip On.

Copyright © 2011-2014 Template By SR網頁設計清新部落風格

Core - DZ2.5 GMT+8, 2024-11-23 16:02

回頂部