跳到主要內容

精選文章

【公開聲明】關於近期網路特定言論與個資洩漏事件的說明

大家好,我是江舜智(紅色死神)。 近期有許多長期關注我的朋友、學生以及合作夥伴向我反映,網路上有特定人士(Threads 帳號 @drama.note)持續在各類與事件無直接關聯的討論串、課程資訊以及公開貼文下方留言,並引導他人前往我的個人網站與公開平台,同時以負面標籤及特定敘事方式討論我個人。 由於相關行為已持續相當長一段時間,甚至延伸至現實生活層面,對我的合作單位、教學夥伴以及部分學生造成困擾與壓力,我對此感到遺憾,也對受到影響的朋友們表達歉意。 因此,我希望藉此機會向所有關心此事的朋友,說明我的立場與態度。 一、關於事件本身:理性討論永遠受到歡迎 多年來,不論是在軟體開發、網頁前端教學領域,或是經營「Uniform Map 制服地圖」、進行攝影創作與分享個人觀點時,我始終相信公開透明與理性交流的重要性。 我並非完美的人,任何人都可能有思慮不周或與他人意見不同的時候。過去關於網站經營模式與相關議題,網路上確實出現過不少討論與質疑,而相關事項也曾進入司法程序接受調查。 經檢察機關完整調查後,最終依法作出不起訴處分,案件已告確定。 這代表相關指控經過司法審查後,並未認定存在違法情事。即使如此,我仍然願意以開放的態度面對外界意見。 如果有人對於我的教學內容、網站運作方式,或任何公開言論抱持不同看法,我始終歡迎在尊重彼此的前提下進行公開且理性的討論。 若有任何值得檢討與改進之處,我也願意虛心接受建設性的批評與建議。 二、關於持續性的騷擾行為:應以事實與法律為依據 我認為理性討論與持續性騷擾之間,存在明確界線。 近一年來,特定人士的部分行為已不再只是針對議題提出意見,而是逐漸演變成持續性的人身攻擊與現實層面的干擾,包括: • 在與事件無直接關聯的課程公告、教學資訊及各類公開討論串中,反覆張貼我的個人資訊與相關內容。 • 主動聯繫我的合作單位與工作相關機構,對其施加壓力或進行干擾。 • 在司法程序進行期間及收到相關通知後,仍持續以指名道姓方式發布涉及人格評價與攻擊性的言論。 我尊重每個人表達意見與監督公共議題的權利,但我同樣認為,任何討論都應建立在事實基礎上,並尊重法律程序與他人的基本權益。 無論支持或反對我的人,都有權自行查閱公開資訊、了解案件經過並形成自己的判斷,而不是透過片面標籤或情緒性指控來取代事實。 三、我的處理方式 對於相關爭議,我始終選擇透過法律與制度來處理,...

使用 jquery UI 和 CSS3 建立仿 Mac 資料夾風格的拖曳動畫

mac folder

今天看到的很酷的範例,可以先看Demo

這是結合jquery UI和CSS3,在拖曳效果上增加動畫的示範,試著把檔案拖曳到資料夾,會有很酷的動畫。

說明及plugin下載
How to Make a Mac OSX-like Animated Folder with CSS3

首先建立html,詳細說明可以看原文的介紹。
  1. <div class="folder">  
  2.     <div class="front"></div>  
  3.     <div class="back"></div>  
  4. </div>  

css部分
  1. .folder {   
  2.     /* This will enable the 3D effect. Decrease this value  
  3.      * to make the perspective more pronounced: */  
  4.   
  5.     -webkit-perspective: 800px;   
  6.     -moz-perspective: 800px;   
  7.     perspective: 800px;   
  8.   
  9.     positionabsolute;   
  10.     top: 50%;   
  11.     left: 50%;   
  12.     z-index0;   
  13.   
  14.     width160px;   
  15.     height120px;   
  16.     margin-100px 0 0 -60px;   
  17. }   
  18.   
  19. .folder div{   
  20.     width:150px;   
  21.     height:115px;   
  22.   
  23.     background-color:#93bad8;   
  24.   
  25.     /* Enabling 3d space for the transforms */  
  26.     -webkit-transform-style: preserve-3d;   
  27.     -moz-transform-style: preserve-3d;   
  28.     transform-style: preserve-3d;   
  29.   
  30.     /* Enabling a smooth animated transition */  
  31.     -webkit-transition:0.5s;   
  32.     -moz-transition:0.5s;   
  33.     transition:0.5s;   
  34.   
  35.     /* Disable text seleltion on the folder */  
  36.     -webkit-user-select: none;   
  37.     -moz-user-select: none;   
  38.     user-select: none;   
  39.   
  40.     position:absolute;   
  41.     top:0;   
  42.     left:50%;   
  43.     margin-left:-75px;   
  44. }   
  45.   
  46. .folder .front{   
  47.     border-radius:5px 5px 0 0;   
  48.   
  49.     -moz-transform:rotateX(-30deg);   
  50.     -webkit-transform:rotateX(-30deg);   
  51.     transform:rotateX(-30deg);   
  52.   
  53.     -moz-transform-origin:50% 100%;   
  54.     -webkit-transform-origin:50% 100%;   
  55.     transform-origin:50% 100%;   
  56.   
  57.     background-image: -moz-linear-gradient(top#93bad8 0%, #6c9dc0 85%, #628faf 100%);   
  58.     background-image: -webkit-linear-gradient(top#93bad8 0%, #6c9dc0 85%, #628faf 100%);   
  59.     background-image: linear-gradient(top#93bad8 0%, #6c9dc0 85%, #628faf 100%);   
  60.   
  61.     box-shadow:0 -2px 2px rgba(0,0,0,0.1), 0 1px rgba(255,255,255,0.35inset;   
  62.   
  63.     z-index:10;   
  64.   
  65.     fontbold 26px sans-serif;   
  66.     color#5A88A9;   
  67.     text-aligncenter;   
  68.     text-shadow1px 1px 1px rgba(2552552550.1);   
  69.     line-height115px;   
  70. }   
  71.   
  72. .folder .back{   
  73.     background-image: -webkit-linear-gradient(top#93bad8 0%, #89afcc 10%#5985a5 60%);   
  74.     background-image: -moz-linear-gradient(top#93bad8 0%, #89afcc 10%#5985a5 60%);   
  75.     background-image: linear-gradient(top#93bad8 0%, #89afcc 10%#5985a5 60%);   
  76.   
  77.     border-radius:0 5px 0 0;   
  78.     box-shadow:0 -1px 1px rgba(0,0,0,0.15);   
  79. }   
  80.   
  81. /* The top part */  
  82. .folder .back:before{   
  83.     content:'';   
  84.     width:60px;   
  85.     height:10px;   
  86.     border-radius:4px 4px 0 0;   
  87.     background-color:#93bad8;   
  88.     position:absolute;   
  89.     top:-10px;   
  90.     left:0px;   
  91.     box-shadow:0 -1px 1px rgba(0,0,0,0.15);   
  92. }   
  93.   
  94. /* The shadow */  
  95. .folder .back:after{   
  96.     content:'';   
  97.     width:100%;   
  98.     height:4px;   
  99.     border-radius:5px;   
  100.     position:absolute;   
  101.     bottom:5px;   
  102.     left:0px;   
  103.     box-shadow:0 4px 8px #333;   
  104. }   
  105.   
  106. .folder.open .front{   
  107.     -moz-transform:rotateX(-50deg);   
  108.     -webkit-transform:rotateX(-50deg);   
  109.     transform:rotateX(-50deg);   
  110. }  

最後寫js,記得這之前要引入jquery跟jquery UI
  1. $(function() {   
  2.   
  3.     var folder = $("#main .folder"),   
  4.         front = folder.find('.front'),   
  5.         img = $("#main img"),   
  6.         droppedCount = 0;   
  7.   
  8.     img.draggable();   
  9.   
  10.     folder.droppable({   
  11.         drop : function(event, ui) {   
  12.   
  13.             // Remove the dragged icon   
  14.             ui.draggable.remove();   
  15.   
  16.             // update the counters   
  17.             front.text(++droppedCount);   
  18.   
  19.         },   
  20.   
  21.         activate : function(){   
  22.             // When the user starts draggin an icon   
  23.             folder.addClass('open');   
  24.         },   
  25.   
  26.         deactivate : function(){   
  27.             // Close the folder   
  28.             folder.removeClass('open');   
  29.         }   
  30.     });   
  31. });  

看不懂程式的話,直接把圖片換掉也是可以使用。

留言

熱門文章