├── .gitattributes ├── .gitignore ├── Dwke.dof ├── Dwke.dpr ├── Dwke.res ├── WKxxE.PAS ├── alphiWindow.ddp ├── alphiWindow.dfm ├── alphiWindow.pas ├── ck.cpp ├── ck.h ├── define.pas ├── flash.html ├── kill.bat ├── main.ddp ├── main.dfm ├── main.ico ├── main.pas ├── movie.swf ├── plugins └── NPSWF32.dll_ ├── test.bmp ├── wke(backup).pas ├── wke.h ├── wke.pas └── www ├── 2048-master ├── .gitignore ├── .jshintrc ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── Rakefile ├── favicon.ico ├── index.html ├── js │ ├── animframe_polyfill.js │ ├── application.js │ ├── bind_polyfill.js │ ├── classlist_polyfill.js │ ├── game_manager.js │ ├── grid.js │ ├── html_actuator.js │ ├── keyboard_input_manager.js │ ├── local_storage_manager.js │ └── tile.js ├── meta │ ├── apple-touch-icon.png │ ├── apple-touch-startup-image-640x1096.png │ └── apple-touch-startup-image-640x920.png └── style │ ├── fonts │ ├── ClearSans-Bold-webfont.eot │ ├── ClearSans-Bold-webfont.svg │ ├── ClearSans-Bold-webfont.woff │ ├── ClearSans-Light-webfont.eot │ ├── ClearSans-Light-webfont.svg │ ├── ClearSans-Light-webfont.woff │ ├── ClearSans-Regular-webfont.eot │ ├── ClearSans-Regular-webfont.svg │ ├── ClearSans-Regular-webfont.woff │ └── clear-sans.css │ ├── helpers.scss │ ├── main.css │ └── main.scss ├── 4.Html+jquery实现万年历 ├── calendar.html ├── images │ ├── all.css │ ├── calTit.jpg │ ├── calendar.css │ ├── fontSize12.css │ ├── ji.gif │ ├── skin.css │ ├── tool-sprites.gif │ ├── topBarC.gif │ └── yi.gif └── js │ ├── calendar.js │ └── jquery.js ├── Ball Pool.htm ├── Ball Pool_files ├── Main.js ├── box2d.js ├── ga.js └── protoclass.js ├── Bubbles_files ├── BG.jpg ├── Bubbles.js ├── ch0.png ├── ch1.png ├── ch2.png ├── heart.png ├── heart1.png └── png.png ├── CSS Bubbles.html ├── Clouds.html ├── Clouds_files ├── Detector.js ├── RequestAnimationFrame.js ├── ThreeExtras.js ├── ThreeWebGL.js └── cloud10.png ├── MAC ├── mac-osx-lion.html └── res │ ├── css │ ├── animation-webkit.css │ ├── dock.css │ ├── style.css │ └── window.css │ ├── img │ ├── Alert.png │ ├── Andromeda-Galaxy.jpg │ ├── FinderIcon.png │ ├── MacOSX.png │ ├── Safari.png │ ├── address.png │ ├── alessio-atzeni-logo.png │ ├── apple-logo.png │ ├── appstore.png │ ├── buttons-hover.png │ ├── dock-bg-left.png │ ├── dock-bg-right.png │ ├── dock-bg.png │ ├── expose.png │ ├── facetime.png │ ├── folder.png │ ├── iTunes.png │ ├── ichat.png │ ├── launchPad.png │ ├── preferences.png │ ├── preview.png │ ├── trash.png │ └── wireless-icon.png │ └── js │ ├── fix-and-clock.js │ ├── jquery-1.7.1.min.js │ └── jquery-ui-1.8.17.custom.min.js ├── aaaa.html ├── card.html ├── card ├── 1.jpg ├── 10.jpg ├── 11.jpg ├── 12.jpg ├── 13.jpg ├── 14.jpg ├── 15.jpg ├── 16.jpg ├── 17.jpg ├── 2.jpg ├── 3.jpg ├── 4.jpg ├── 5.jpg ├── 6.jpg ├── 7.jpg ├── 8.jpg ├── 9.jpg ├── demo.css ├── follow.js ├── jquery.js ├── jquery.windy.js ├── modernizr.custom.79639.js ├── nav.png ├── normalize.css ├── style2.css └── windy.css ├── card18.jpg ├── flash.html ├── index.html ├── jquery-latest.js ├── movie.swf ├── tunneler.html └── x.html /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Uncomment these types if you want even more clean repository. But be careful. 2 | # It can make harm to an existing project source. Read explanations below. 3 | # 4 | # Resource files are binaries containing manifest, project icon and version info. 5 | # They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files. 6 | #*.res 7 | # 8 | # Type library file (binary). In old Delphi versions it should be stored. 9 | # Since Delphi 2009 it is produced from .ridl file and can safely be ignored. 10 | #*.tlb 11 | # 12 | # Diagram Portfolio file. Used by the diagram editor up to Delphi 7. 13 | # Uncomment this if you are not using diagrams or use newer Delphi version. 14 | #*.ddp 15 | # 16 | # Visual LiveBindings file. Added in Delphi XE2. 17 | # Uncomment this if you are not using LiveBindings Designer. 18 | #*.vlb 19 | # 20 | # Deployment Manager configuration file for your project. Added in Delphi XE2. 21 | # Uncomment this if it is not mobile development and you do not use remote debug feature. 22 | #*.deployproj 23 | # 24 | 25 | # Delphi compiler-generated binaries (safe to delete) 26 | *.exe 27 | *.dll 28 | *.bpl 29 | *.bpi 30 | *.dcp 31 | *.so 32 | *.apk 33 | *.drc 34 | *.map 35 | *.dres 36 | *.rsm 37 | *.tds 38 | *.dcu 39 | *.lib 40 | 41 | # Delphi autogenerated files (duplicated info) 42 | *.cfg 43 | *Resource.rc 44 | 45 | # Delphi local files (user-specific info) 46 | *.local 47 | *.identcache 48 | *.projdata 49 | *.tvsconfig 50 | *.dsk 51 | 52 | # Delphi history and backups 53 | __history/ 54 | *.~* 55 | 56 | # ========================= 57 | # Operating System Files 58 | # ========================= 59 | 60 | # OSX 61 | # ========================= 62 | 63 | .DS_Store 64 | .AppleDouble 65 | .LSOverride 66 | 67 | # Thumbnails 68 | ._* 69 | 70 | # Files that might appear on external disk 71 | .Spotlight-V100 72 | .Trashes 73 | 74 | # Directories potentially created on remote AFP share 75 | .AppleDB 76 | .AppleDesktop 77 | Network Trash Folder 78 | Temporary Items 79 | .apdisk 80 | 81 | # Windows 82 | # ========================= 83 | 84 | # Windows image file caches 85 | Thumbs.db 86 | ehthumbs.db 87 | 88 | # Folder config file 89 | Desktop.ini 90 | 91 | # Recycle Bin used on file shares 92 | $RECYCLE.BIN/ 93 | 94 | # Windows Installer files 95 | *.cab 96 | *.msi 97 | *.msm 98 | *.msp 99 | 100 | # Windows shortcuts 101 | *.lnk 102 | -------------------------------------------------------------------------------- /Dwke.dof: -------------------------------------------------------------------------------- 1 | [FileVersion] 2 | Version=7.0 3 | [Compiler] 4 | A=8 5 | B=0 6 | C=1 7 | D=1 8 | E=0 9 | F=0 10 | G=1 11 | H=1 12 | I=1 13 | J=0 14 | K=0 15 | L=1 16 | M=0 17 | N=1 18 | O=1 19 | P=1 20 | Q=0 21 | R=0 22 | S=0 23 | T=0 24 | U=0 25 | V=1 26 | W=0 27 | X=1 28 | Y=1 29 | Z=1 30 | ShowHints=1 31 | ShowWarnings=1 32 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 33 | NamespacePrefix= 34 | SymbolDeprecated=1 35 | SymbolLibrary=1 36 | SymbolPlatform=1 37 | UnitLibrary=1 38 | UnitPlatform=1 39 | UnitDeprecated=1 40 | HResultCompat=1 41 | HidingMember=1 42 | HiddenVirtual=1 43 | Garbage=1 44 | BoundsError=1 45 | ZeroNilCompat=1 46 | StringConstTruncated=1 47 | ForLoopVarVarPar=1 48 | TypedConstVarPar=1 49 | AsgToTypedConst=1 50 | CaseLabelRange=1 51 | ForVariable=1 52 | ConstructingAbstract=1 53 | ComparisonFalse=1 54 | ComparisonTrue=1 55 | ComparingSignedUnsigned=1 56 | CombiningSignedUnsigned=1 57 | UnsupportedConstruct=1 58 | FileOpen=1 59 | FileOpenUnitSrc=1 60 | BadGlobalSymbol=1 61 | DuplicateConstructorDestructor=1 62 | InvalidDirective=1 63 | PackageNoLink=1 64 | PackageThreadVar=1 65 | ImplicitImport=1 66 | HPPEMITIgnored=1 67 | NoRetVal=1 68 | UseBeforeDef=1 69 | ForLoopVarUndef=1 70 | UnitNameMismatch=1 71 | NoCFGFileFound=1 72 | MessageDirective=1 73 | ImplicitVariants=1 74 | UnicodeToLocale=1 75 | LocaleToUnicode=1 76 | ImagebaseMultiple=1 77 | SuspiciousTypecast=1 78 | PrivatePropAccessor=1 79 | UnsafeType=0 80 | UnsafeCode=0 81 | UnsafeCast=0 82 | [Linker] 83 | MapFile=0 84 | OutputObjs=0 85 | ConsoleApp=1 86 | DebugInfo=0 87 | RemoteSymbols=0 88 | MinStackSize=16384 89 | MaxStackSize=1048576 90 | ImageBase=4194304 91 | ExeDescription= 92 | [Directories] 93 | OutputDir= 94 | UnitOutputDir= 95 | PackageDLLOutputDir= 96 | PackageDCPOutputDir= 97 | SearchPath= 98 | Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;EmbeddedWebBrowser_D7;GeckoSDK;GeckoComponents;GR32_D7;GR32_DSGN_D7;ChnCalendars;VCLZipD7_3;DCEF_D7;DDUI 99 | Conditionals= 100 | DebugSourceDirs= 101 | UsePackages=0 102 | [Parameters] 103 | RunParams= 104 | HostApplication= 105 | Launcher= 106 | UseLauncher=0 107 | DebugCWD= 108 | [Language] 109 | ActiveLang= 110 | ProjectLang= 111 | RootDir=D:\Program Files (x86)\Borland\Delphi7\Bin\ 112 | [Version Info] 113 | IncludeVerInfo=1 114 | AutoIncBuild=0 115 | MajorVer=1 116 | MinorVer=0 117 | Release=0 118 | Build=0 119 | Debug=0 120 | PreRelease=0 121 | Special=0 122 | Private=0 123 | DLL=0 124 | Locale=2052 125 | CodePage=936 126 | [Version Info Keys] 127 | CompanyName= 128 | FileDescription= 129 | FileVersion=1.0.0.0 130 | InternalName= 131 | LegalCopyright= 132 | LegalTrademarks= 133 | OriginalFilename= 134 | ProductName= 135 | ProductVersion=1.0.0.0 136 | Comments= 137 | [HistoryLists\hlUnitAliases] 138 | Count=1 139 | Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 140 | -------------------------------------------------------------------------------- /Dwke.dpr: -------------------------------------------------------------------------------- 1 | program Dwke; 2 | 3 | uses 4 | Forms, 5 | main in 'main.pas' {Form1}, 6 | alphiWindow in 'alphiWindow.pas' {Form2}; 7 | 8 | {$R *.res} 9 | //var 10 | // webView:wkeWebView; 11 | 12 | begin 13 | //Application.Initialize; 14 | //Application.CreateForm(TForm1, Form1); 15 | // Application.Run; 16 | //wkeInit(); 17 | //webView := wkeCreateWebView(); 18 | //wkeResize(webView, 1024, 768); 19 | //wkeLoadURL(webView,'http://www.baidu.com'); 20 | //while True do 21 | //begin 22 | //wkeUpdate(); 23 | //if wkeIsLoadComplete(webView) then 24 | //begin 25 | Application.Initialize; 26 | Application.CreateForm(TForm1, Form1); 27 | Application.CreateForm(TForm2, Form2); 28 | Application.Run; 29 | //Break; 30 | //end; 31 | //end; 32 | end. 33 | -------------------------------------------------------------------------------- /Dwke.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/Dwke.res -------------------------------------------------------------------------------- /WKxxE.PAS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/WKxxE.PAS -------------------------------------------------------------------------------- /alphiWindow.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/alphiWindow.ddp -------------------------------------------------------------------------------- /alphiWindow.dfm: -------------------------------------------------------------------------------- 1 | object Form2: TForm2 2 | Left = 204 3 | Top = 500 4 | BorderStyle = bsNone 5 | Caption = 'Form2' 6 | ClientHeight = 48 7 | ClientWidth = 175 8 | Color = clBtnFace 9 | Font.Charset = DEFAULT_CHARSET 10 | Font.Color = clWindowText 11 | Font.Height = -11 12 | Font.Name = 'MS Sans Serif' 13 | Font.Style = [] 14 | OldCreateOrder = False 15 | OnKeyDown = FormKeyDown 16 | OnKeyPress = FormKeyPress 17 | OnKeyUp = FormKeyUp 18 | OnMouseDown = FormMouseDown 19 | OnMouseMove = FormMouseMove 20 | OnMouseUp = FormMouseUp 21 | PixelsPerInch = 96 22 | TextHeight = 13 23 | object ApplicationEvents1: TApplicationEvents 24 | OnMessage = ApplicationEvents1Message 25 | Left = 24 26 | Top = 8 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /alphiWindow.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/alphiWindow.pas -------------------------------------------------------------------------------- /ck.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/ck.cpp -------------------------------------------------------------------------------- /ck.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/ck.h -------------------------------------------------------------------------------- /define.pas: -------------------------------------------------------------------------------- 1 | jsString := LoadDllFunc('jsString'); 2 | jsStringW := LoadDllFunc('jsStringW'); 3 | jsjsobject := LoadDllFunc('jsjsobject'); 4 | jsArray := LoadDllFunc('jsArray'); 5 | 6 | jsFunction := LoadDllFunc('jsFunction'); 7 | 8 | //return the window object 9 | jsGlobalobject := LoadDllFunc('jsGlobalobject'); 10 | 11 | jsEval := LoadDllFunc('jsEval'); 12 | jsEvalW := LoadDllFunc('jsEvalW'); 13 | 14 | jsCall := LoadDllFunc('jsCall'); 15 | jsCallGlobal := LoadDllFunc('jsCallGlobal'); 16 | 17 | jsGet := LoadDllFunc('jsGet'); 18 | jsSet := LoadDllFunc('jsSet'); 19 | 20 | jsGetGlobal := LoadDllFunc('jsGetGlobal'); 21 | jsSetGlobal := LoadDllFunc('jsSetGlobal'); 22 | 23 | jsGetAt := LoadDllFunc('jsGetAt'); 24 | jsSetAt := LoadDllFunc('jsSetAt'); 25 | 26 | jsGetLength := LoadDllFunc('jsGetLength'); 27 | jsSetLength := LoadDllFunc('jsSetLength'); 28 | 29 | jsGetWebView := LoadDllFunc('jsGetWebView'); 30 | 31 | jsGC := LoadDllFunc('jsGC'); 32 | -------------------------------------------------------------------------------- /flash.html: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /kill.bat: -------------------------------------------------------------------------------- 1 | @taskkill /f /im Dwke.exe 2 | @cmd -------------------------------------------------------------------------------- /main.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/main.ddp -------------------------------------------------------------------------------- /main.dfm: -------------------------------------------------------------------------------- 1 | object Form1: TForm1 2 | Left = 724 3 | Top = 135 4 | Width = 461 5 | Height = 534 6 | Caption = 'Form1' 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | FormStyle = fsStayOnTop 14 | OldCreateOrder = False 15 | Position = poDesktopCenter 16 | OnCreate = FormCreate 17 | OnShow = FormShow 18 | DesignSize = ( 19 | 445 20 | 496) 21 | PixelsPerInch = 96 22 | TextHeight = 13 23 | object btn1: TButton 24 | Left = 16 25 | Top = 8 26 | Width = 75 27 | Height = 25 28 | Caption = 'Open' 29 | TabOrder = 0 30 | OnClick = btn1Click 31 | end 32 | object mmo1: TMemo 33 | Left = 16 34 | Top = 40 35 | Width = 241 36 | Height = 145 37 | TabOrder = 1 38 | end 39 | object edt1: TEdit 40 | Left = 104 41 | Top = 8 42 | Width = 249 43 | Height = 21 44 | TabOrder = 2 45 | Text = 'https://www.baidu.com' 46 | end 47 | object btn2: TButton 48 | Left = 360 49 | Top = 8 50 | Width = 75 51 | Height = 25 52 | Caption = 'GetTitle' 53 | TabOrder = 3 54 | OnClick = btn2Click 55 | end 56 | object scrlbx1: TScrollBox 57 | Left = 8 58 | Top = 304 59 | Width = 425 60 | Height = 185 61 | Anchors = [akLeft, akTop, akRight, akBottom] 62 | TabOrder = 4 63 | object img1: TImage 64 | Left = 0 65 | Top = 0 66 | Width = 105 67 | Height = 105 68 | AutoSize = True 69 | end 70 | end 71 | object btn3: TButton 72 | Left = 360 73 | Top = 48 74 | Width = 75 75 | Height = 25 76 | Caption = 'AutoGetImg' 77 | TabOrder = 5 78 | OnClick = btn3Click 79 | end 80 | object edt2: TEdit 81 | Left = 264 82 | Top = 88 83 | Width = 169 84 | Height = 21 85 | TabOrder = 6 86 | Text = 87 | 'void((function(){var css=" 21 | 22 | 23 | 24 |
25 | Hello! 26 |

27 | 测试的哦: 28 |

29 | 1. Drag a ball.
30 | 2. Click on the background.
31 | 3. Shake your browser.
32 | 4. Double click.
33 | 5. Play!
34 |
35 |
36 |
37 | 38 | 39 | 40 | 41 | 42 | 43 | 47 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /www/Ball Pool_files/Main.js: -------------------------------------------------------------------------------- 1 | var canvas; 2 | 3 | var delta = [ 0, 0 ]; 4 | var stage = [ window.screenX, window.screenY, window.innerWidth, window.innerHeight ]; 5 | getBrowserDimensions(); 6 | 7 | var themes = [ [ "#10222B", "#95AB63", "#BDD684", "#E2F0D6", "#F6FFE0" ], 8 | [ "#362C2A", "#732420", "#BF734C", "#FAD9A0", "#736859" ], 9 | [ "#0D1114", "#102C2E", "#695F4C", "#EBBC5E", "#FFFBB8" ], 10 | [ "#2E2F38", "#FFD63E", "#FFB54B", "#E88638", "#8A221C" ], 11 | [ "#121212", "#E6F2DA", "#C9F24B", "#4D7B85", "#23383D" ], 12 | [ "#343F40", "#736751", "#F2D7B6", "#BFAC95", "#8C3F3F" ], 13 | [ "#000000", "#2D2B2A", "#561812", "#B81111", "#FFFFFF" ], 14 | [ "#333B3A", "#B4BD51", "#543B38", "#61594D", "#B8925A" ] ]; 15 | var theme; 16 | 17 | var worldAABB, world, iterations = 1, timeStep = 1 / 15; 18 | 19 | var walls = []; 20 | var wall_thickness = 200; 21 | var wallsSetted = false; 22 | 23 | var bodies, elements, text; 24 | 25 | var createMode = false; 26 | var destroyMode = false; 27 | 28 | var isMouseDown = false; 29 | var mouseJoint; 30 | var mouse = { x: 0, y: 0 }; 31 | var gravity = { x: 0, y: 1 }; 32 | 33 | var PI2 = Math.PI * 2; 34 | 35 | var timeOfLastTouch = 0; 36 | 37 | init(); 38 | play(); 39 | 40 | function init() { 41 | 42 | canvas = document.getElementById( 'canvas' ); 43 | 44 | document.onmousedown = onDocumentMouseDown; 45 | document.onmouseup = onDocumentMouseUp; 46 | document.onmousemove = onDocumentMouseMove; 47 | document.ondblclick = onDocumentDoubleClick; 48 | 49 | document.addEventListener( 'touchstart', onDocumentTouchStart, false ); 50 | document.addEventListener( 'touchmove', onDocumentTouchMove, false ); 51 | document.addEventListener( 'touchend', onDocumentTouchEnd, false ); 52 | 53 | window.addEventListener( 'deviceorientation', onWindowDeviceOrientation, false ); 54 | 55 | // init box2d 56 | 57 | worldAABB = new b2AABB(); 58 | worldAABB.minVertex.Set( -200, -200 ); 59 | worldAABB.maxVertex.Set( window.innerWidth + 200, window.innerHeight + 200 ); 60 | 61 | world = new b2World( worldAABB, new b2Vec2( 0, 0 ), true ); 62 | 63 | setWalls(); 64 | reset(); 65 | } 66 | 67 | 68 | function play() { 69 | 70 | setInterval( loop, 1000 / 40 ); 71 | } 72 | 73 | function reset() { 74 | 75 | var i; 76 | 77 | if ( bodies ) { 78 | 79 | for ( i = 0; i < bodies.length; i++ ) { 80 | 81 | var body = bodies[ i ] 82 | canvas.removeChild( body.GetUserData().element ); 83 | world.DestroyBody( body ); 84 | body = null; 85 | } 86 | } 87 | 88 | // color theme 89 | theme = themes[ Math.random() * themes.length >> 0 ]; 90 | //document.body.style[ 'backgroundColor' ] = theme[ 0 ]; 91 | 92 | bodies = []; 93 | elements = []; 94 | 95 | createInstructions(); 96 | 97 | for( i = 0; i < 10; i++ ) { 98 | 99 | createBall(); 100 | 101 | } 102 | 103 | } 104 | 105 | // 106 | 107 | function onDocumentMouseDown() { 108 | 109 | isMouseDown = true; 110 | return false; 111 | } 112 | 113 | function onDocumentMouseUp() { 114 | 115 | isMouseDown = false; 116 | return false; 117 | } 118 | 119 | function onDocumentMouseMove( event ) { 120 | 121 | mouse.x = event.clientX; 122 | mouse.y = event.clientY; 123 | } 124 | 125 | function onDocumentDoubleClick() { 126 | 127 | reset(); 128 | } 129 | 130 | function onDocumentTouchStart( event ) { 131 | 132 | if( event.touches.length == 1 ) { 133 | 134 | event.preventDefault(); 135 | 136 | // Faking double click for touch devices 137 | 138 | var now = new Date().getTime(); 139 | 140 | if ( now - timeOfLastTouch < 250 ) { 141 | 142 | reset(); 143 | return; 144 | } 145 | 146 | timeOfLastTouch = now; 147 | 148 | mouse.x = event.touches[ 0 ].pageX; 149 | mouse.y = event.touches[ 0 ].pageY; 150 | isMouseDown = true; 151 | } 152 | } 153 | 154 | function onDocumentTouchMove( event ) { 155 | 156 | if ( event.touches.length == 1 ) { 157 | 158 | event.preventDefault(); 159 | 160 | mouse.x = event.touches[ 0 ].pageX; 161 | mouse.y = event.touches[ 0 ].pageY; 162 | 163 | } 164 | 165 | } 166 | 167 | function onDocumentTouchEnd( event ) { 168 | 169 | if ( event.touches.length == 0 ) { 170 | 171 | event.preventDefault(); 172 | isMouseDown = false; 173 | 174 | } 175 | 176 | } 177 | 178 | function onWindowDeviceOrientation( event ) { 179 | 180 | if ( event.beta ) { 181 | 182 | gravity.x = Math.sin( event.gamma * Math.PI / 180 ); 183 | gravity.y = Math.sin( ( Math.PI / 4 ) + event.beta * Math.PI / 180 ); 184 | 185 | } 186 | 187 | } 188 | 189 | // 190 | 191 | function createInstructions() { 192 | 193 | var size = 250; 194 | 195 | var element = document.createElement( 'div' ); 196 | element.width = size; 197 | element.height = size; 198 | element.style.position = 'absolute'; 199 | element.style.left = -200 + 'px'; 200 | element.style.top = -200 + 'px'; 201 | element.style.cursor = "default"; 202 | 203 | canvas.appendChild(element); 204 | elements.push( element ); 205 | 206 | var circle = document.createElement( 'canvas' ); 207 | circle.width = size; 208 | circle.height = size; 209 | 210 | var graphics = circle.getContext( '2d' ); 211 | 212 | graphics.fillStyle = theme[ 3 ]; 213 | graphics.beginPath(); 214 | graphics.arc( size * .5, size * .5, size * .5, 0, PI2, true ); 215 | graphics.closePath(); 216 | graphics.fill(); 217 | 218 | element.appendChild( circle ); 219 | 220 | text = document.createElement( 'div' ); 221 | text.onSelectStart = null; 222 | text.innerHTML = 'Hello!

测试:

1. 拖动一个球.
2. 点击屏幕
3. 双击屏幕.
4. Play!
'; 223 | text.style.color = theme[1]; 224 | text.style.position = 'absolute'; 225 | text.style.left = '0px'; 226 | text.style.top = '0px'; 227 | text.style.fontFamily = 'Georgia'; 228 | text.style.textAlign = 'center'; 229 | element.appendChild(text); 230 | 231 | text.style.left = ((250 - text.clientWidth) / 2) +'px'; 232 | text.style.top = ((250 - text.clientHeight) / 2) +'px'; 233 | 234 | var b2body = new b2BodyDef(); 235 | 236 | var circle = new b2CircleDef(); 237 | circle.radius = size / 2; 238 | circle.density = 1; 239 | circle.friction = 0.3; 240 | circle.restitution = 0.3; 241 | b2body.AddShape(circle); 242 | b2body.userData = {element: element}; 243 | 244 | b2body.position.Set( Math.random() * stage[2], Math.random() * -200 ); 245 | b2body.linearVelocity.Set( Math.random() * 400 - 200, Math.random() * 400 - 200 ); 246 | bodies.push( world.CreateBody(b2body) ); 247 | } 248 | 249 | function createBall( x, y ) { 250 | 251 | var x = x || Math.random() * stage[2]; 252 | var y = y || Math.random() * -200; 253 | 254 | var size = (Math.random() * 100 >> 0) + 20; 255 | 256 | var element = document.createElement("canvas"); 257 | element.width = size; 258 | element.height = size; 259 | element.style.position = 'absolute'; 260 | element.style.left = -200 + 'px'; 261 | element.style.top = -200 + 'px'; 262 | element.style.WebkitTransform = 'translateZ(0)'; 263 | element.style.MozTransform = 'translateZ(0)'; 264 | element.style.OTransform = 'translateZ(0)'; 265 | element.style.msTransform = 'translateZ(0)'; 266 | element.style.transform = 'translateZ(0)'; 267 | 268 | var graphics = element.getContext("2d"); 269 | 270 | var num_circles = Math.random() * 10 >> 0; 271 | 272 | for (var i = size; i > 0; i-= (size/num_circles)) { 273 | 274 | graphics.fillStyle = theme[ (Math.random() * 4 >> 0) + 1]; 275 | graphics.beginPath(); 276 | graphics.arc(size * .5, size * .5, i * .5, 0, PI2, true); 277 | graphics.closePath(); 278 | graphics.fill(); 279 | } 280 | 281 | canvas.appendChild(element); 282 | 283 | elements.push( element ); 284 | 285 | var b2body = new b2BodyDef(); 286 | 287 | var circle = new b2CircleDef(); 288 | circle.radius = size >> 1; 289 | circle.density = 1; 290 | circle.friction = 0.3; 291 | circle.restitution = 0.3; 292 | b2body.AddShape(circle); 293 | b2body.userData = {element: element}; 294 | 295 | b2body.position.Set( x, y ); 296 | b2body.linearVelocity.Set( Math.random() * 400 - 200, Math.random() * 400 - 200 ); 297 | bodies.push( world.CreateBody(b2body) ); 298 | } 299 | 300 | // 301 | 302 | function loop() { 303 | 304 | if (getBrowserDimensions()) { 305 | 306 | setWalls(); 307 | 308 | } 309 | 310 | delta[0] += (0 - delta[0]) * .5; 311 | delta[1] += (0 - delta[1]) * .5; 312 | 313 | world.m_gravity.x = gravity.x * 350 + delta[0]; 314 | world.m_gravity.y = gravity.y * 350 + delta[1]; 315 | 316 | mouseDrag(); 317 | world.Step(timeStep, iterations); 318 | 319 | for (i = 0; i < bodies.length; i++) { 320 | 321 | var body = bodies[i]; 322 | var element = elements[i]; 323 | 324 | element.style.left = (body.m_position0.x - (element.width >> 1)) + 'px'; 325 | element.style.top = (body.m_position0.y - (element.height >> 1)) + 'px'; 326 | 327 | if (element.tagName == 'DIV') { 328 | 329 | var style = 'rotate(' + (body.m_rotation0 * 57.2957795) + 'deg) translateZ(0)'; 330 | text.style.WebkitTransform = style; 331 | text.style.MozTransform = style; 332 | text.style.OTransform = style; 333 | text.style.msTransform = style; 334 | text.style.transform = style; 335 | 336 | } 337 | 338 | } 339 | 340 | } 341 | 342 | 343 | // .. BOX2D UTILS 344 | 345 | function createBox(world, x, y, width, height, fixed) { 346 | 347 | if (typeof(fixed) == 'undefined') { 348 | 349 | fixed = true; 350 | 351 | } 352 | 353 | var boxSd = new b2BoxDef(); 354 | 355 | if (!fixed) { 356 | 357 | boxSd.density = 1.0; 358 | 359 | } 360 | 361 | boxSd.extents.Set(width, height); 362 | 363 | var boxBd = new b2BodyDef(); 364 | boxBd.AddShape(boxSd); 365 | boxBd.position.Set(x,y); 366 | 367 | return world.CreateBody(boxBd); 368 | 369 | } 370 | 371 | function mouseDrag() 372 | { 373 | // mouse press 374 | if (createMode) { 375 | 376 | createBall( mouse.x, mouse.y ); 377 | 378 | } else if (isMouseDown && !mouseJoint) { 379 | 380 | var body = getBodyAtMouse(); 381 | 382 | if (body) { 383 | 384 | var md = new b2MouseJointDef(); 385 | md.body1 = world.m_groundBody; 386 | md.body2 = body; 387 | md.target.Set(mouse.x, mouse.y); 388 | md.maxForce = 30000 * body.m_mass; 389 | // md.timeStep = timeStep; 390 | mouseJoint = world.CreateJoint(md); 391 | body.WakeUp(); 392 | 393 | } else { 394 | 395 | createMode = true; 396 | 397 | } 398 | 399 | } 400 | 401 | // mouse release 402 | if (!isMouseDown) { 403 | 404 | createMode = false; 405 | destroyMode = false; 406 | 407 | if (mouseJoint) { 408 | 409 | world.DestroyJoint(mouseJoint); 410 | mouseJoint = null; 411 | 412 | } 413 | 414 | } 415 | 416 | // mouse move 417 | if (mouseJoint) { 418 | 419 | var p2 = new b2Vec2(mouse.x, mouse.y); 420 | mouseJoint.SetTarget(p2); 421 | } 422 | } 423 | 424 | function getBodyAtMouse() { 425 | 426 | // Make a small box. 427 | var mousePVec = new b2Vec2(); 428 | mousePVec.Set(mouse.x, mouse.y); 429 | 430 | var aabb = new b2AABB(); 431 | aabb.minVertex.Set(mouse.x - 1, mouse.y - 1); 432 | aabb.maxVertex.Set(mouse.x + 1, mouse.y + 1); 433 | 434 | // Query the world for overlapping shapes. 435 | var k_maxCount = 10; 436 | var shapes = new Array(); 437 | var count = world.Query(aabb, shapes, k_maxCount); 438 | var body = null; 439 | 440 | for (var i = 0; i < count; ++i) { 441 | 442 | if (shapes[i].m_body.IsStatic() == false) { 443 | 444 | if ( shapes[i].TestPoint(mousePVec) ) { 445 | 446 | body = shapes[i].m_body; 447 | break; 448 | 449 | } 450 | 451 | } 452 | 453 | } 454 | 455 | return body; 456 | 457 | } 458 | 459 | function setWalls() { 460 | 461 | if (wallsSetted) { 462 | 463 | world.DestroyBody(walls[0]); 464 | world.DestroyBody(walls[1]); 465 | world.DestroyBody(walls[2]); 466 | world.DestroyBody(walls[3]); 467 | 468 | walls[0] = null; 469 | walls[1] = null; 470 | walls[2] = null; 471 | walls[3] = null; 472 | } 473 | 474 | walls[0] = createBox(world, stage[2] / 2, - wall_thickness, stage[2], wall_thickness); 475 | walls[1] = createBox(world, stage[2] / 2, stage[3] + wall_thickness, stage[2], wall_thickness); 476 | walls[2] = createBox(world, - wall_thickness, stage[3] / 2, wall_thickness, stage[3]); 477 | walls[3] = createBox(world, stage[2] + wall_thickness, stage[3] / 2, wall_thickness, stage[3]); 478 | 479 | wallsSetted = true; 480 | 481 | } 482 | 483 | // BROWSER DIMENSIONS 484 | 485 | function getBrowserDimensions() { 486 | 487 | var changed = false; 488 | 489 | if (stage[0] != window.screenX) { 490 | 491 | delta[0] = (window.screenX - stage[0]) * 50; 492 | stage[0] = window.screenX; 493 | changed = true; 494 | 495 | } 496 | 497 | if (stage[1] != window.screenY) { 498 | 499 | delta[1] = (window.screenY - stage[1]) * 50; 500 | stage[1] = window.screenY; 501 | changed = true; 502 | 503 | } 504 | 505 | if (stage[2] != window.innerWidth) { 506 | 507 | stage[2] = window.innerWidth; 508 | changed = true; 509 | 510 | } 511 | 512 | if (stage[3] != window.innerHeight) { 513 | 514 | stage[3] = window.innerHeight; 515 | changed = true; 516 | 517 | } 518 | 519 | return changed; 520 | 521 | } 522 | -------------------------------------------------------------------------------- /www/Ball Pool_files/ga.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/Ball Pool_files/ga.js -------------------------------------------------------------------------------- /www/Ball Pool_files/protoclass.js: -------------------------------------------------------------------------------- 1 | 2 | /* Based on Alex Arnell's inheritance implementation. */ 3 | var Class = { 4 | create: function() { 5 | var parent = null, properties = $A(arguments); 6 | if (Object.isFunction(properties[0])) 7 | parent = properties.shift(); 8 | 9 | function klass() { 10 | this.initialize.apply(this, arguments); 11 | } 12 | 13 | Object.extend(klass, Class.Methods); 14 | klass.superclass = parent; 15 | klass.subclasses = []; 16 | 17 | if (parent) { 18 | var subclass = function() { }; 19 | subclass.prototype = parent.prototype; 20 | klass.prototype = new subclass; 21 | parent.subclasses.push(klass); 22 | } 23 | 24 | for (var i = 0; i < properties.length; i++) 25 | klass.addMethods(properties[i]); 26 | 27 | if (!klass.prototype.initialize) 28 | klass.prototype.initialize = this.emptyFunction; 29 | 30 | klass.prototype.constructor = klass; 31 | 32 | return klass; 33 | }, 34 | emptyFunction:function () {}, 35 | 36 | }; 37 | 38 | Class.Methods = { 39 | addMethods: function(source) { 40 | var ancestor = this.superclass && this.superclass.prototype; 41 | var properties = Object.keys(source); 42 | 43 | if (!Object.keys({ toString: true }).length) 44 | properties.push("toString", "valueOf"); 45 | 46 | for (var i = 0, length = properties.length; i < length; i++) { 47 | var property = properties[i], value = source[property]; 48 | if (ancestor && Object.isFunction(value) && 49 | value.argumentNames().first() == "$super") { 50 | var method = value, value = Object.extend((function(m) { 51 | return function() { return ancestor[m].apply(this, arguments) }; 52 | })(property).wrap(method), { 53 | valueOf: function() { return method }, 54 | toString: function() { return method.toString() } 55 | }); 56 | } 57 | this.prototype[property] = value; 58 | } 59 | 60 | return this; 61 | } 62 | }; 63 | 64 | Object.extend = function(destination, source) { 65 | for (var property in source) 66 | destination[property] = source[property]; 67 | return destination; 68 | }; 69 | 70 | Object.extend(Object, { 71 | inspect: function(object) { 72 | try { 73 | if (Object.isUndefined(object)) return 'undefined'; 74 | if (object === null) return 'null'; 75 | return object.inspect ? object.inspect() : String(object); 76 | } catch (e) { 77 | if (e instanceof RangeError) return '...'; 78 | throw e; 79 | } 80 | }, 81 | 82 | toJSON: function(object) { 83 | var type = typeof object; 84 | switch (type) { 85 | case 'undefined': 86 | case 'function': 87 | case 'unknown': return; 88 | case 'boolean': return object.toString(); 89 | } 90 | 91 | if (object === null) return 'null'; 92 | if (object.toJSON) return object.toJSON(); 93 | if (Object.isElement(object)) return; 94 | 95 | var results = []; 96 | for (var property in object) { 97 | var value = Object.toJSON(object[property]); 98 | if (!Object.isUndefined(value)) 99 | results.push(property.toJSON() + ': ' + value); 100 | } 101 | 102 | return '{' + results.join(', ') + '}'; 103 | }, 104 | 105 | toQueryString: function(object) { 106 | return $H(object).toQueryString(); 107 | }, 108 | 109 | toHTML: function(object) { 110 | return object && object.toHTML ? object.toHTML() : String.interpret(object); 111 | }, 112 | 113 | keys: function(object) { 114 | var keys = []; 115 | for (var property in object) 116 | keys.push(property); 117 | return keys; 118 | }, 119 | 120 | values: function(object) { 121 | var values = []; 122 | for (var property in object) 123 | values.push(object[property]); 124 | return values; 125 | }, 126 | 127 | clone: function(object) { 128 | return Object.extend({ }, object); 129 | }, 130 | 131 | isElement: function(object) { 132 | return object && object.nodeType == 1; 133 | }, 134 | 135 | isArray: function(object) { 136 | return object != null && typeof object == "object" && 137 | 'splice' in object && 'join' in object; 138 | }, 139 | 140 | isHash: function(object) { 141 | return object instanceof Hash; 142 | }, 143 | 144 | isFunction: function(object) { 145 | return typeof object == "function"; 146 | }, 147 | 148 | isString: function(object) { 149 | return typeof object == "string"; 150 | }, 151 | 152 | isNumber: function(object) { 153 | return typeof object == "number"; 154 | }, 155 | 156 | isUndefined: function(object) { 157 | return typeof object == "undefined"; 158 | } 159 | }); 160 | 161 | function $A(iterable) { 162 | if (!iterable) return []; 163 | if (iterable.toArray) return iterable.toArray(); 164 | var length = iterable.length || 0, results = new Array(length); 165 | while (length--) results[length] = iterable[length]; 166 | return results; 167 | } 168 | 169 | if (WebKit = navigator.userAgent.indexOf('AppleWebKit/') > -1) { 170 | $A = function(iterable) { 171 | if (!iterable) return []; 172 | if (!(Object.isFunction(iterable) && iterable == '[object NodeList]') && 173 | iterable.toArray) return iterable.toArray(); 174 | var length = iterable.length || 0, results = new Array(length); 175 | while (length--) results[length] = iterable[length]; 176 | return results; 177 | }; 178 | } 179 | -------------------------------------------------------------------------------- /www/Bubbles_files/BG.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/Bubbles_files/BG.jpg -------------------------------------------------------------------------------- /www/Bubbles_files/Bubbles.js: -------------------------------------------------------------------------------- 1 | /** 2 | * JavaScript Bubbles 3 | * By EtherDream 2010 4 | */ 5 | +function() 6 | { 7 | // 8 | // 浏览器辅助 9 | // 10 | var _VER_ = navigator.userAgent; 11 | var _IE6_ = /IE 6/.test(_VER_); 12 | 13 | var STD = !!window.addEventListener; 14 | var de = document.documentElement; 15 | 16 | _IE6_ && document.execCommand("BackgroundImageCache", false, true); 17 | 18 | 19 | // 20 | // 常量 21 | // 22 | var D = 222; //泡泡直径 23 | var K = 0.999; 24 | 25 | var POW_RATE = 0.0001; //补偿概率 26 | var POW_RANGE = 0.8; //补偿范围(基于诞生速度) 27 | 28 | function SPEED_X(){return 8 + RND() * 4} 29 | function SPEED_Y(){return 6 + RND() * 2} 30 | 31 | 32 | var arrBubs = []; 33 | var iBottom; 34 | var iRight; 35 | 36 | 37 | var SQRT = Math.sqrt; 38 | var ATAN2 = Math.atan2; 39 | var SIN = Math.sin; 40 | var COS = Math.cos; 41 | var ABS = Math.abs; 42 | var RND = Math.random; 43 | var ROUND = Math.round; 44 | 45 | 46 | function Timer(call, time) 47 | { 48 | var last = +new Date; 49 | var delay = 0; 50 | 51 | return setInterval(function() 52 | { 53 | // 时间差累计 54 | var cur = +new Date; 55 | delay += (cur - last); 56 | last = cur; 57 | 58 | // 计算帧数 59 | if(delay >= time) 60 | { 61 | call(); 62 | delay %= time; 63 | } 64 | }, 1); 65 | } 66 | 67 | Timer(update, 17); 68 | 69 | CreateBubble = function() 70 | { 71 | var bub = new Bubble(); 72 | 73 | bub.setX(0); 74 | bub.setY(0); 75 | bub.vx = SPEED_X(); 76 | bub.vy = SPEED_Y(); 77 | 78 | arrBubs.push(bub); 79 | }; 80 | 81 | 82 | 83 | function update() 84 | { 85 | var n = arrBubs.length; 86 | var bub, bub2; 87 | var i, j; 88 | 89 | 90 | updateWall(); 91 | 92 | for(i=0; i iRight) 138 | { 139 | bub.setX(iRight); 140 | bub.vx *= -1; 141 | } 142 | 143 | if(bub.y < 0) 144 | { 145 | bub.setY(0); 146 | bub.vy *= -1; 147 | } 148 | else if(bub.y > iBottom) 149 | { 150 | bub.setY(iBottom); 151 | bub.vy *= -1; 152 | } 153 | } 154 | 155 | function rotate(x, y, sin, cos, reverse) 156 | { 157 | if(reverse) 158 | return {x: x * cos + y * sin, y: y * cos - x * sin}; 159 | else 160 | return {x: x * cos - y * sin, y: y * cos + x * sin}; 161 | } 162 | 163 | function checkCollision(bub0, bub1) 164 | { 165 | var dx = bub1.x - bub0.x; 166 | var dy = bub1.y - bub0.y; 167 | var dist = SQRT(dx*dx + dy*dy); 168 | 169 | if(dist < D) 170 | { 171 | // 计算角度和正余弦值 172 | var angle = ATAN2(dy,dx); 173 | var sin = SIN(angle); 174 | var cos = COS(angle); 175 | 176 | // 旋转 bub0 的位置 177 | var pos0 = {x:0, y:0}; 178 | 179 | // 旋转 bub1 的速度 180 | var pos1 = rotate(dx, dy, sin, cos, true); 181 | 182 | // 旋转 bub0 的速度 183 | var vel0 = rotate(bub0.vx, bub0.vy, sin, cos, true); 184 | 185 | // 旋转 bub1 的速度 186 | var vel1 = rotate(bub1.vx, bub1.vy, sin, cos, true); 187 | 188 | // 碰撞的作用力 189 | var vxTotal = vel0.x - vel1.x; 190 | vel0.x = vel1.x; 191 | vel1.x = vxTotal + vel0.x; 192 | 193 | // 更新位置 194 | var absV = ABS(vel0.x) + ABS(vel1.x); 195 | var overlap = D - ABS(pos0.x - pos1.x); 196 | 197 | pos0.x += vel0.x / absV * overlap; 198 | pos1.x += vel1.x / absV * overlap; 199 | 200 | // 将位置旋转回来 201 | var pos0F = rotate(pos0.x, pos0.y, sin, cos, false); 202 | var pos1F = rotate(pos1.x, pos1.y, sin, cos, false); 203 | 204 | // 将位置调整为屏幕的实际位置 205 | bub1.setX(bub0.x + pos1F.x); 206 | bub1.setY(bub0.y + pos1F.y); 207 | bub0.setX(bub0.x + pos0F.x); 208 | bub0.setY(bub0.y + pos0F.y); 209 | 210 | // 将速度旋转回来 211 | var vel0F = rotate(vel0.x, vel0.y, sin, cos, false); 212 | var vel1F = rotate(vel1.x, vel1.y, sin, cos, false); 213 | 214 | bub0.vx = vel0F.x; 215 | bub0.vy = vel0F.y; 216 | bub1.vx = vel1F.x; 217 | bub1.vy = vel1F.y; 218 | } 219 | } 220 | 221 | 222 | 223 | var APLHA = 0.8; 224 | var POW = [1, APLHA, APLHA*APLHA]; 225 | 226 | /****************************** 227 | * Class Bubble 228 | ******************************/ 229 | function Bubble() 230 | { 231 | var kOpa = [], kStp = []; 232 | var arrFlt = []; 233 | var oBox = document.body.appendChild(document.createElement("div")); 234 | 235 | 236 | styBox = oBox.style; 237 | styBox.position = "absolute"; 238 | styBox.width = D + "px"; 239 | styBox.height = D + "px"; 240 | 241 | for(var i=0; i<4; i++) 242 | { 243 | var div = document.createElement("div"); 244 | var sty = div.style; 245 | 246 | sty.position = "absolute"; 247 | sty.width = "222px"; 248 | sty.height = "222px"; 249 | 250 | oBox.appendChild(div); 251 | 252 | // 泡泡顶层 253 | if(i == 3) 254 | { 255 | if(_IE6_) 256 | sty.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=heart.png)"; 257 | else 258 | sty.backgroundImage = "url(./Bubbles_files/heart.png)"; 259 | break; 260 | } 261 | 262 | kOpa[i] = 3 * RND(); 263 | kStp[i] = 0.02 * RND(); 264 | 265 | if(STD) 266 | { 267 | sty.backgroundImage = "url(./Bubbles_files/ch" + i + ".png)"; 268 | arrFlt[i] = sty; 269 | } 270 | else 271 | { 272 | sty.filter = "alpha progid:DXImageTransform.Microsoft.AlphaImageLoader(src=ch" + i + ".png)"; 273 | arrFlt[i] = div.filters.alpha; 274 | } 275 | } 276 | 277 | this.styBox = styBox; 278 | this.kOpa = kOpa; 279 | this.kStp = kStp; 280 | this.arrFlt = arrFlt; 281 | } 282 | 283 | Bubble.prototype.setX = function(x) 284 | { 285 | this.x = x; 286 | this.styBox.left = ROUND(x) + "px"; 287 | }; 288 | 289 | Bubble.prototype.setY = function(y) 290 | { 291 | this.y = y; 292 | this.styBox.top = ROUND(y) + "px"; 293 | }; 294 | 295 | Bubble.prototype.paint = function() 296 | { 297 | var i, v; 298 | 299 | for(i=0; i<3; i++) 300 | { 301 | v = ABS(SIN(this.kOpa[i] += this.kStp[i] * RND())); 302 | v *= POW[i]; 303 | 304 | v = ((v * 1e4) >> 0) / 1e4; 305 | this.arrFlt[i].opacity = STD? v : v*100; 306 | } 307 | }; 308 | 309 | }(); -------------------------------------------------------------------------------- /www/Bubbles_files/ch0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/Bubbles_files/ch0.png -------------------------------------------------------------------------------- /www/Bubbles_files/ch1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/Bubbles_files/ch1.png -------------------------------------------------------------------------------- /www/Bubbles_files/ch2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/Bubbles_files/ch2.png -------------------------------------------------------------------------------- /www/Bubbles_files/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/Bubbles_files/heart.png -------------------------------------------------------------------------------- /www/Bubbles_files/heart1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/Bubbles_files/heart1.png -------------------------------------------------------------------------------- /www/Bubbles_files/png.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/Bubbles_files/png.png -------------------------------------------------------------------------------- /www/CSS Bubbles.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | CSS Bubbles 8 | 20 | 21 | 22 | 23 | 24 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /www/Clouds.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Clouds 5 | 6 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 47 | 48 | 70 | 71 |
211 | 212 | 213 |
112.124.39.148
-------------------------------------------------------------------------------- /www/Clouds_files/Detector.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author alteredq / http://alteredqualia.com/ 3 | * @author mr.doob / http://mrdoob.com/ 4 | */ 5 | 6 | Detector = { 7 | 8 | canvas : !! window.CanvasRenderingContext2D, 9 | webgl : ( function () { try { return !! window.WebGLRenderingContext && !! document.createElement( 'canvas' ).getContext( 'experimental-webgl' ); } catch( e ) { return false; } } )(), 10 | workers : !! window.Worker, 11 | fileapi : window.File && window.FileReader && window.FileList && window.Blob, 12 | 13 | getWebGLErrorMessage : function () { 14 | 15 | var domElement = document.createElement( 'div' ); 16 | 17 | domElement.style.fontFamily = 'monospace'; 18 | domElement.style.fontSize = '13px'; 19 | domElement.style.textAlign = 'center'; 20 | domElement.style.background = '#eee'; 21 | domElement.style.color = '#000'; 22 | domElement.style.padding = '1em'; 23 | domElement.style.width = '475px'; 24 | domElement.style.margin = '5em auto 0'; 25 | 26 | if ( ! this.webgl ) { 27 | 28 | domElement.innerHTML = window.WebGLRenderingContext ? [ 29 | 'Sorry, your graphics card doesn\'t support WebGL' 30 | ].join( '\n' ) : [ 31 | 'Sorry, your browser doesn\'t support WebGL
', 32 | 'Please try with', 33 | 'Chrome 10, ', 34 | 'Firefox 4 or', 35 | 'Safari 6' 36 | ].join( '\n' ); 37 | 38 | } 39 | 40 | return domElement; 41 | 42 | }, 43 | 44 | addGetWebGLMessage : function ( parameters ) { 45 | 46 | var parent, id, domElement; 47 | 48 | parameters = parameters || {}; 49 | 50 | parent = parameters.parent !== undefined ? parameters.parent : document.body; 51 | id = parameters.id !== undefined ? parameters.id : 'oldie'; 52 | 53 | domElement = Detector.getWebGLErrorMessage(); 54 | domElement.id = id; 55 | 56 | parent.appendChild( domElement ); 57 | 58 | } 59 | 60 | }; 61 | -------------------------------------------------------------------------------- /www/Clouds_files/RequestAnimationFrame.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Provides requestAnimationFrame in a cross browser way. 3 | * http://paulirish.com/2011/requestanimationframe-for-smart-animating/ 4 | */ 5 | 6 | if ( !window.requestAnimationFrame ) { 7 | 8 | window.requestAnimationFrame = ( function() { 9 | 10 | return window.webkitRequestAnimationFrame || 11 | window.mozRequestAnimationFrame || 12 | window.oRequestAnimationFrame || 13 | window.msRequestAnimationFrame || 14 | function( /* function FrameRequestCallback */ callback, /* DOMElement Element */ element ) { 15 | 16 | window.setTimeout( callback, 1000 / 60 ); 17 | 18 | }; 19 | 20 | } )(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /www/Clouds_files/cloud10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/Clouds_files/cloud10.png -------------------------------------------------------------------------------- /www/MAC/res/css/animation-webkit.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* 01. Animation for -webkit- 3 | /*-----------------------------------------------------------------------------------*/ 4 | 5 | @-webkit-keyframes init { 6 | 0%, 10% { background:#000; visibility:visible; opacity:1; z-index:100; } 7 | 11%, 12% { background:#fff; } 8 | 13%, 96% { visibility:visible; opacity:1; z-index:100; } 9 | 97%, 98% { opacity:0; } 10 | 100% { z-index:-100; visibility:hidden; background:#fff;} 11 | } 12 | 13 | @-webkit-keyframes initApple { 14 | 0%, 99% { visibility:hidden; opacity:0; } 15 | 100% { visibility:visible; opacity:1; } 16 | } 17 | 18 | @-webkit-keyframes initLoading { 19 | 0%, 19% { visibility:hidden; opacity:0; } 20 | 20%, 99% { visibility:visible; opacity:1; } 21 | 100% { visibility:hidden; opacity:0; } 22 | } 23 | 24 | @-webkit-keyframes initLoginWindow { 25 | 0%, 96% { visibility:hidden; opacity:0; } 26 | 97%, 99% { opacity:1; } 27 | 100% { z-index:0; visibility:visible;} 28 | } 29 | 30 | @-webkit-keyframes initAppleLoginWindow { 31 | 0% { top:50%; } 32 | 100% { top:25%; } 33 | } 34 | 35 | @-webkit-keyframes initUserAvatar { 36 | 0% { opacity:0; } 37 | 100% { opacity:1; } 38 | } 39 | 40 | @-webkit-keyframes delete { 41 | 0% { opacity:1; } 42 | 99% { opacity:0; } 43 | 100% { visibility:hidden; opacity:0; } 44 | } 45 | 46 | @-webkit-keyframes show { 47 | 0% { opacity:0; } 48 | 100% { opacity:1; } 49 | } 50 | 51 | @-webkit-keyframes charge { 52 | 0%, 94% { opacity:1; } 53 | 95%, 100% { opacity:0; } 54 | } 55 | 56 | @-webkit-keyframes posOrig { 57 | 0% { -webkit-transform:translateX(10px); } 58 | 100% { -webkit-transform:translateX(0px); } 59 | } 60 | 61 | @-webkit-keyframes posDiff { 62 | 0% { -webkit-transform:translateX(0px); } 63 | 100% { -webkit-transform:translateX(10px); } 64 | } 65 | 66 | @-webkit-keyframes error { 67 | 0% { -webkit-transform:translateX(0px); } 68 | 25% { -webkit-transform:translateX(30px); } 69 | 45% { -webkit-transform:translateX(-30px); } 70 | 65% { -webkit-transform:translateX(30px); } 71 | 82% { -webkit-transform:translateX(-30px); } 72 | 94% { -webkit-transform:translateX(30px); } 73 | 35%, 55%, 75%, 87%, 97%, 100% { -webkit-transform:translateX(0px); } 74 | } 75 | 76 | @-webkit-keyframes initDesktopLogin { 77 | 0% { opacity:1; z-index:0; visibility:visible; } 78 | 99% { opacity:0; z-index:0; visibility:visible; } 79 | 100% { z-index:-1; opacity:0; visibility:hidden; } 80 | } 81 | 82 | @-webkit-keyframes initDesktop { 83 | 0% { z-index:-1; -webkit-transform:scale(0,0); opacity:0; visibility:hidden; } 84 | 1% { z-index:0; -webkit-transform:scale(0,0); opacity:0; visibility:visible; } 85 | 50% { z-index:0; -webkit-transform:scale(0.5,0.5); opacity:1; visibility:visible;} 86 | 100% { z-index:0; -webkit-transform:scale(1,1); opacity:1; visibility:visible;} 87 | } 88 | 89 | @-webkit-keyframes initDesktopHeader { 90 | 0% { opacity:0; visibility:visible; } 91 | 95% { opacity:0; visibility:visible; } 92 | 100% { opacity:1; visibility:visible; } 93 | } 94 | 95 | @-webkit-keyframes initDesktopWindows { 96 | 0% { opacity:0; visibility:visible; } 97 | 99% { opacity:0; visibility:visible; } 98 | 100% { opacity:1; visibility:visible; } 99 | } -------------------------------------------------------------------------------- /www/MAC/res/css/dock.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* 01. Dock 3 | /*-----------------------------------------------------------------------------------*/ 4 | 5 | .dock { 6 | position: absolute; 7 | bottom: 0; 8 | z-index: 9999; 9 | width: 100%; 10 | text-align: center; 11 | } 12 | .dock ul { 13 | position: relative; 14 | display: inline-block; 15 | padding: 0 5px; 16 | margin: 0; 17 | background:url(../img/dock-bg.png) repeat-x bottom; 18 | } 19 | .dock ul:before, .dock ul:after { 20 | content: ""; 21 | position: absolute; 22 | top: 0; 23 | bottom: 0; 24 | width: 38px; 25 | } 26 | .dock ul:before { 27 | left: -38px; 28 | background: url(../img/dock-bg-left.png) no-repeat left bottom; 29 | } 30 | .dock ul:after { 31 | right: -38px; 32 | background: url(../img/dock-bg-right.png) no-repeat right bottom; 33 | } 34 | .dock li { 35 | display: inline-block; 36 | position: relative; 37 | margin: 0 0 15px 0; 38 | -webkit-box-reflect: below -16px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(91%, rgba(255, 255, 255, .1)), color-stop(91.01%, transparent), to(transparent)); 39 | } 40 | .dock a { 41 | display: block; 42 | cursor: default; 43 | outline: none; 44 | } 45 | .dock em { 46 | position: absolute; 47 | top: -34px; 48 | left: 50%; 49 | display: none; 50 | width: 150px; 51 | margin-left: -75px; 52 | text-align: center; 53 | } 54 | .dock em:after { 55 | content: " "; 56 | position: absolute; 57 | bottom: -6px; 58 | left: 50%; 59 | margin-left: -6px; 60 | width: 0; 61 | height: 0; 62 | border-left: 6px solid transparent; 63 | border-right: 6px solid transparent; 64 | border-top: 6px solid rgba(0, 0, 0, 0.6); 65 | border-bottom: none; 66 | } 67 | .dock em span { 68 | display: inline-block; 69 | padding: 5px 12px; 70 | background: rgba(0, 0, 0, 0.6); 71 | font-style:normal; 72 | font-size:12px; 73 | color:#fff; 74 | text-shadow:0 1px 1px #000; 75 | border-radius: 10px; 76 | } 77 | .dock li:hover em { 78 | display: block; 79 | } 80 | .dock img { 81 | width: 48px; 82 | height: auto; 83 | border: none; 84 | -webkit-transition:all 0.1s linear; 85 | -moz-transition:all 0.1s linear; 86 | } 87 | .dock li.ok:hover img { 88 | width: 128px; 89 | -webkit-transition:all 0.15s linear; 90 | -moz-transition:all 0.15s linear; 91 | } 92 | .dock li.prev img, .dock li.next img { 93 | width:96px; 94 | -webkit-transition:all 0.15s linear; 95 | -moz-transition:all 0.15s linear; 96 | } 97 | .dock li.prev-ancor img, .dock li.next-ancor img { 98 | width:72px; 99 | -webkit-transition:all 0.15s linear; 100 | -moz-transition:all 0.15s linear; 101 | } 102 | .dock li a .fresh { 103 | content: " "; 104 | position: absolute; 105 | bottom: -8px; 106 | left: 50%; 107 | width: 8px; 108 | height: 6px; 109 | opacity:1; 110 | background-color: rgba(255, 255, 255, .8); 111 | margin-left: -2px; 112 | border-radius:100%; 113 | box-shadow: inset 0 1px 3px rgba(75, 255, 255, .4), 0 0 4px rgba(75, 255, 255, .5), 0 -1px 7px rgb(75, 255, 255); 114 | -webkit-box-reflect: below 5px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(91%, rgba(255, 255, 255, 0.5)), color-stop(91.01%, transparent), to(transparent)); 115 | } 116 | 117 | .bounce { 118 | -webkit-animation: bounce 0.4s 4 alternate ease-out; 119 | -moz-animation: bounce 0.4s 4 alternate ease-out; 120 | } 121 | @-webkit-keyframes bounce { 122 | 0% { -webkit-transform: translateY(0); } 123 | 100% { -webkit-transform: translateY(-20px); } 124 | } 125 | 126 | @-moz-keyframes bounce { 127 | 0% { -moz-transform: translateY(0); } 128 | 100% { -moz-transform: translateY(-20px); } 129 | } 130 | -------------------------------------------------------------------------------- /www/MAC/res/css/window.css: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------------------*/ 2 | /* 01. Window 3 | /*-----------------------------------------------------------------------------------*/ 4 | 5 | .window { 6 | background: -webkit-linear-gradient(rgba(233, 233, 233, 1.0), rgba(178, 178, 178, 1.0) 21px, #EDEDED, #EDEDED 23px); 7 | background: -moz-linear-gradient(rgba(233, 233, 233, 1.0), rgba(178, 178, 178, 1.0) 21px, #EDEDED, #EDEDED 23px); 8 | border-radius: 5px; 9 | box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 22px 70px 4px rgba(0,0,0,0.56), 0 0 0 1px rgba(0, 0, 0, 0.3); 10 | text-align: left; 11 | position:absolute; 12 | z-index:0; 13 | visibility:hidden; 14 | opacity:0; 15 | } 16 | .window.windows-vis { 17 | visibility:visible; 18 | opacity:1; 19 | display:none; 20 | } 21 | .container { 22 | position:relative; 23 | border-top:1px solid #656565; 24 | } 25 | .container-inside { 26 | position:relative; 27 | padding:20px 30px; 28 | text-align:center; 29 | } 30 | h1.titleInside { 31 | position:relative; 32 | z-index:2; 33 | color:#3c3c3c; 34 | font-size:13px; 35 | line-height:21px; 36 | text-decoration:none; 37 | text-shadow: 0 1px 1px #e7e7e7; 38 | text-align:center; 39 | text-transform:capitalize; 40 | } 41 | nav.control-window { 42 | position:absolute; 43 | left:5px; 44 | top:3px; 45 | z-index:10; 46 | height:19px; 47 | } 48 | nav.control-window a { 49 | display: inline-block; 50 | margin: 2px 0px 3px 1px; 51 | width: 12px; 52 | height: 12px; 53 | border-radius: 100%; 54 | box-shadow: 0px 1px 0px rgba(255,255,255,.5); 55 | text-indent: -9999px; 56 | position: relative; 57 | } 58 | nav.control-window a:before { 59 | content: ''; 60 | display: block; 61 | position: absolute; 62 | border-radius: 100%; 63 | box-shadow:inset 0 1px 4px rgba(0, 0, 0, .8); 64 | top: 0px; 65 | left: 0px; 66 | bottom: 0px; 67 | right: 0px; 68 | } 69 | nav.control-window a:after { 70 | content: ''; 71 | display: block; 72 | position: absolute; 73 | top: 2px; 74 | left: 1px; 75 | bottom: 1px; 76 | right: 1px; 77 | border-radius: 100%; 78 | background: -webkit-linear-gradient(white, rgba(255, 255, 255, .9) 2%, white, rgba(255, 255, 255, .4) 16%, rgba(255, 255, 255, 0) 43%, rgba(255, 255, 255, .74), rgba(255, 255, 255, .7) 122%, rgba(255, 255, 255, .7)); 79 | background: -moz-linear-gradient(white, rgba(255, 255, 255, .9) 2%, white, rgba(255, 255, 255, .4) 16%, rgba(255, 255, 255, 0) 43%, rgba(255, 255, 255, .74), rgba(255, 255, 255, .7) 122%, rgba(255, 255, 255, .7)); 80 | box-shadow: inset 0px -3px -5px 3px rgba(255, 255, 255, 0.2), inset 0px 2px -5px 3px rgba(255, 255, 255, 0.2); 81 | } 82 | nav.control-window a.close { 83 | background: #FD4E4E; 84 | } 85 | nav.control-window:hover a.close { 86 | background: #FD4E4E url(../img/buttons-hover.png) 1px 1px no-repeat; 87 | } 88 | nav.control-window a.close:active { 89 | background: #c72f2b url(../img/buttons-hover.png) 1px 1px no-repeat; 90 | } 91 | nav.control-window a.minimize { 92 | background: #F3BB55; 93 | } 94 | nav.control-window:hover a.minimize { 95 | background: #F3BB55 url(../img/buttons-hover.png) -9px 1px no-repeat; 96 | } 97 | nav.control-window a.minimize:active { 98 | background: #c7862c url(../img/buttons-hover.png) -9px 1px no-repeat; 99 | } 100 | nav.control-window a.maximize { 101 | background: #96D16F; 102 | } 103 | nav.control-window:hover a.maximize { 104 | background: #96D16F url(../img/buttons-hover.png) -19px 1px no-repeat; 105 | } 106 | nav.control-window a.maximize:active { 107 | background: #4a8e33 url(../img/buttons-hover.png) -19px 1px no-repeat; 108 | } 109 | nav.control-window a.deactivate { 110 | background: #b5b5b5; 111 | } 112 | .container-inside h2 { 113 | color:#000; 114 | font-size:13px; 115 | font-weight:bold; 116 | line-height:13px; 117 | margin-bottom:15px; 118 | } 119 | .window.finder { 120 | width:300px; 121 | left:40%; 122 | top:28%; 123 | margin:0px 0 0 -150px; 124 | } 125 | .container-inside img { 126 | margin:0 0 10px 0; 127 | } 128 | .container-inside .about-this { 129 | margin-bottom:30px; 130 | } 131 | .container-inside .about-this p.small { 132 | font-size:11px; 133 | margin-top:15px; 134 | } 135 | .container-inside .copyright { 136 | font-size:11px; 137 | } 138 | .container-inside .copyright p:first-child { 139 | margin-bottom:6px; 140 | } 141 | 142 | .window.mac { 143 | width:308px; 144 | left:50%; 145 | top:20%; 146 | margin:0px 0 0 -154px; 147 | background: -webkit-linear-gradient(rgba(233, 233, 233, 1.0), rgba(178, 178, 178, 1.0) 16px, #EDEDED, #EDEDED 16px); 148 | background: -moz-linear-gradient(rgba(233, 233, 233, 1.0), rgba(178, 178, 178, 1.0) 16px, #EDEDED, #EDEDED 15px); 149 | border-radius:0; 150 | box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 4px 4px rgba(0,0,0,0.48), 0 0 0 1px rgba(0, 0, 0, 0.3); 151 | } 152 | h1.title-mac { 153 | position:relative; 154 | z-index:2; 155 | color:#3c3c3c; 156 | font-size:10px; 157 | line-height:15px; 158 | top:1px; 159 | text-decoration:none; 160 | text-shadow: 0 1px 1px #e7e7e7; 161 | text-align:center; 162 | text-transform:capitalize; 163 | } 164 | #about-this-mac .container-inside img, #project .container-inside img, #spec .container-inside img { 165 | margin:0 0 5px 0; 166 | } 167 | #about-this-mac .about-this { 168 | color:#848484; 169 | font-size:12px; 170 | font-weight:bold; 171 | margin:0; 172 | } 173 | #about-this-mac .about-this p:first-child { 174 | margin:0 0 10px 0; 175 | } 176 | #project .about-this p:first-child, #spec .about-this p:first-child { 177 | color:#848484; 178 | font-size:12px; 179 | font-weight:bold; 180 | margin:0 0 10px 0; 181 | } 182 | #project .about-this p { 183 | margin:15px 0; 184 | font-size:10px; 185 | line-height:14px; 186 | } 187 | #project .container-inside .about-this, #spec .container-inside .about-this { 188 | margin-bottom:0px; 189 | } 190 | .window.project { 191 | width:300px; 192 | left:20%; 193 | top:35%; 194 | margin:0px 0 0 -150px; 195 | } 196 | .window.spec { 197 | width:300px; 198 | left:80%; 199 | top:25%; 200 | margin:0px 0 0 -150px; 201 | } 202 | .window.share { 203 | width:450px; 204 | left:50%; 205 | top:10%; 206 | margin:0px 0 0 -225px; 207 | } 208 | #share ul li { 209 | float: left; 210 | position: relative; 211 | width: 130px; 212 | margin-bottom: 20px; 213 | } 214 | #spec .about-this p { 215 | margin:5px 0; 216 | font-size:10px; 217 | line-height:14px; 218 | } 219 | #spec .about-this p strong { 220 | margin:5px 0; 221 | font-size:12px; 222 | line-height:12px; 223 | } 224 | #about-this-mac .about-this ul.hardware { 225 | margin:15px 0; 226 | padding:0; 227 | } 228 | #about-this-mac .about-this ul.hardware li { 229 | list-style:none; 230 | font-size:11px; 231 | font-weight:normal; 232 | color:#000; 233 | margin-bottom:15px; 234 | text-align:left; 235 | } 236 | #about-this-mac .about-this ul.hardware li strong { 237 | float:left; 238 | text-align:right; 239 | width:92px; 240 | margin-right:15px; 241 | } 242 | #about-this-mac .container-inside .copyright { 243 | margin-top:15px; 244 | font-size:10px; 245 | font-weight:normal; 246 | } 247 | #about-this-mac .container-inside .copyright p:first-child { 248 | margin-bottom:6px; 249 | } 250 | 251 | #about-this-mac nav.control-window { 252 | height:12px; 253 | top:2px; 254 | } 255 | #about-this-mac nav.control-window a { 256 | margin: 1px 0px 2px 1px; 257 | width: 10px; 258 | height: 10px; 259 | } 260 | #about-this-mac nav.control-window a:after { 261 | top: 1px; 262 | } 263 | #about-this-mac nav.control-window:hover a.close { 264 | background: #FD4E4E url(../img/buttons-hover.png) 0px -7px no-repeat; 265 | } 266 | #about-this-mac nav.control-window a.close:active { 267 | background: #c72f2b url(../img/buttons-hover.png) 0px -7px no-repeat; 268 | } 269 | 270 | .window.warning { 271 | width:400px; 272 | left:50%; 273 | top:15%; 274 | margin:0px 0 0 -200px; 275 | display:none; 276 | z-index:999; 277 | } 278 | 279 | .window.bag { 280 | width:400px; 281 | left:50%; 282 | top:15%; 283 | margin:0px 0 0 -200px; 284 | display:none; 285 | z-index:999; 286 | } 287 | 288 | .tab { 289 | height:21px; 290 | } 291 | .container-alert { 292 | padding: 15px 20px; 293 | position: relative; 294 | } 295 | .container-alert img { 296 | float:left; 297 | } 298 | .about-alert { 299 | width:295px; 300 | position:relative; 301 | top:5px; 302 | display:inline-block; 303 | line-height:15px; 304 | margin-left:15px; 305 | } 306 | .about-alert p { 307 | font-size:10px; 308 | margin-top:5px; 309 | line-height:14px; 310 | } 311 | -------------------------------------------------------------------------------- /www/MAC/res/img/Alert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/Alert.png -------------------------------------------------------------------------------- /www/MAC/res/img/Andromeda-Galaxy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/Andromeda-Galaxy.jpg -------------------------------------------------------------------------------- /www/MAC/res/img/FinderIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/FinderIcon.png -------------------------------------------------------------------------------- /www/MAC/res/img/MacOSX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/MacOSX.png -------------------------------------------------------------------------------- /www/MAC/res/img/Safari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/Safari.png -------------------------------------------------------------------------------- /www/MAC/res/img/address.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/address.png -------------------------------------------------------------------------------- /www/MAC/res/img/alessio-atzeni-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/alessio-atzeni-logo.png -------------------------------------------------------------------------------- /www/MAC/res/img/apple-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/apple-logo.png -------------------------------------------------------------------------------- /www/MAC/res/img/appstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/appstore.png -------------------------------------------------------------------------------- /www/MAC/res/img/buttons-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/buttons-hover.png -------------------------------------------------------------------------------- /www/MAC/res/img/dock-bg-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/dock-bg-left.png -------------------------------------------------------------------------------- /www/MAC/res/img/dock-bg-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/dock-bg-right.png -------------------------------------------------------------------------------- /www/MAC/res/img/dock-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/dock-bg.png -------------------------------------------------------------------------------- /www/MAC/res/img/expose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/expose.png -------------------------------------------------------------------------------- /www/MAC/res/img/facetime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/facetime.png -------------------------------------------------------------------------------- /www/MAC/res/img/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/folder.png -------------------------------------------------------------------------------- /www/MAC/res/img/iTunes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/iTunes.png -------------------------------------------------------------------------------- /www/MAC/res/img/ichat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/ichat.png -------------------------------------------------------------------------------- /www/MAC/res/img/launchPad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/launchPad.png -------------------------------------------------------------------------------- /www/MAC/res/img/preferences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/preferences.png -------------------------------------------------------------------------------- /www/MAC/res/img/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/preview.png -------------------------------------------------------------------------------- /www/MAC/res/img/trash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/trash.png -------------------------------------------------------------------------------- /www/MAC/res/img/wireless-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/MAC/res/img/wireless-icon.png -------------------------------------------------------------------------------- /www/MAC/res/js/fix-and-clock.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | 3 | //----------------------------------------------------------------------------------- 4 | // 1. Clock 5 | //----------------------------------------------------------------------------------- 6 | 7 | var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; 8 | var dayNames= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"] 9 | 10 | var newDate = new Date(); 11 | newDate.setDate(newDate.getDate()); 12 | $('#DateAbbr').html(dayNames[newDate.getDay()].substr(0,3) + " "); 13 | 14 | setInterval( function() { 15 | var minutes = new Date().getMinutes(); 16 | $(".min, .mins").html(( minutes < 10 ? "0" : "" ) + minutes); 17 | },1000); 18 | 19 | setInterval( function() { 20 | var hours = new Date().getHours(); 21 | $(".hours, .hour").html(( hours < 10 ? "0" : "" ) + hours); 22 | }, 1000); 23 | 24 | $('#page, #head').queue(function() { $(this).addClass('vis'); $(this).dequeue(); }); 25 | $('.window').queue(function() { $(this).addClass('windows-vis'); $(this).dequeue(); }); 26 | 27 | //----------------------------------------------------------------------------------- 28 | // 3. Draggable Windows 29 | //----------------------------------------------------------------------------------- 30 | 31 | $('.content').remove(); 32 | 33 | var a = 3; 34 | $('.content,.specific,.project,.share').draggable({ handle: '.title-inside', start: function(event, ui) { $(this).css("z-index", a++); }}); 35 | $(".window").draggable({ handle: '.titleInside, .title-mac, .tab', refreshPositions: true, containment: 'window', start: function(event, ui) { $(this).css("z-index", a++); } }); 36 | 37 | 38 | //----------------------------------------------------------------------------------- 39 | // 4. Dock 40 | //----------------------------------------------------------------------------------- 41 | 42 | $('.dock ul li').hover( 43 | function(){ 44 | $(this).addClass('ok').prev().addClass('prev').prev().addClass('prev-ancor'); 45 | $(this).addClass('ok').next().addClass('next').next().addClass('next-ancor'); 46 | }, 47 | function(){ 48 | $('.dock ul li').removeClass('ok prev next next-ancor prev-ancor'); 49 | } 50 | ); 51 | 52 | //----------------------------------------------------------------------------------- 53 | // 5. Hide and Close 54 | //----------------------------------------------------------------------------------- 55 | var left = 50 + '%'; 56 | var top = 15 + '%'; 57 | var item = $('
').hide(); 58 | var itemR = $('
').hide(); 59 | 60 | $("a[data-rel=close]").click(function(e) { 61 | e.preventDefault(); 62 | $(this.hash).fadeOut(200, function() { 63 | $(this).css({ top: top, left: left }); 64 | }); 65 | }); 66 | 67 | $("a[data-rel=show]").click(function(e) { 68 | e.preventDefault(); 69 | $(this.hash).toggle(); 70 | }); 71 | 72 | $(".dock li a[data-rel=showOp]").click(function(e) { 73 | e.preventDefault(); 74 | $(this).addClass('bounce').delay(1600).queue(function() { $(this).removeClass('bounce'); $(this).append(item); item.fadeIn(500); $(this).dequeue(); }); 75 | $("#bag").delay(1630).queue(function() { $(this).show(); $(this).dequeue(); }); 76 | }); 77 | 78 | $("#warning a[data-rel=close]").click(function(e) { 79 | e.preventDefault(); 80 | item.fadeOut(500); 81 | $(this.hash).hide(); 82 | }); 83 | 84 | $(".dock li a[data-rel=showOpTrash]").click(function(e) { 85 | e.preventDefault(); 86 | $(this).addClass('bounce').delay(1600).queue(function() { $(this).removeClass('bounce'); $(this).append(itemR); itemR.fadeIn(500); $(this).dequeue(); }); 87 | $("#trash").delay(1630).queue(function() { $(this).show(); $(this).dequeue(); }); 88 | }); 89 | 90 | $("#trash a[data-rel=close]").click(function(e) { 91 | e.preventDefault(); 92 | itemR.fadeOut(500); 93 | $(this.hash).hide(); 94 | }); 95 | 96 | 97 | }); -------------------------------------------------------------------------------- /www/aaaa.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/aaaa.html -------------------------------------------------------------------------------- /www/card.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery/CSS3洗牌效果图片层叠动画在线演示 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 |
25 | 26 | 27 |
28 |
29 | 30 |
31 |
32 | 33 |
34 |
    35 |
  • image1

    Coco Loko

  • 36 |
  • image2

    Vermouth Land

  • 37 |
  • image3

    Electrodynamics

  • 38 |
  • image4

    Retinal Bliss

  • 39 |
  • image5

    Disco Fever

  • 40 |
  • image6

    Serenity

  • 41 |
  • image7

    Dark Honor

  • 42 |
  • image8

    Nested Happiness

  • 43 |
  • image9

    Cherry Country

  • 44 |
  • image10

    Blossom Delight

  • 45 |
  • image11

    Heartbeat

  • 46 |
  • image12

    Inner Organs

  • 47 |
  • image13

    Wanted Darkness

  • 48 |
  • image14

    Blessed Fever

  • 49 |
  • image15

    Origins

  • 50 |
  • image16

    Fire Lime

  • 51 |
  • image17

    Host Rumor

  • 52 |
  • image1

    Coco Loko

  • 53 |
  • image2

    Vermouth Land

  • 54 |
  • image3

    Electrodynamics

  • 55 |
  • image4

    Retinal Bliss

  • 56 |
  • image5

    Disco Fever

  • 57 |
  • image6

    Serenity

  • 58 |
  • image7

    Dark Honor

  • 59 |
  • image8

    Nested Happiness

  • 60 |
  • image9

    Cherry Country

  • 61 |
  • image10

    Blossom Delight

  • 62 |
  • image11

    Heartbeat

  • 63 |
  • image12

    Inner Organs

  • 64 |
  • image13

    Wanted Darkness

  • 65 |
  • image14

    Blessed Fever

  • 66 |
  • image15

    Origins

  • 67 |
  • image16

    Fire Lime

  • 68 |
  • image17

    Host Rumor

  • 69 |
  • image1

    Coco Loko

  • 70 |
  • image2

    Vermouth Land

  • 71 |
  • image3

    Electrodynamics

  • 72 |
  • image4

    Retinal Bliss

  • 73 |
  • image5

    Disco Fever

  • 74 |
  • image6

    Serenity

  • 75 |
  • image7

    Dark Honor

  • 76 |
  • image8

    Nested Happiness

  • 77 |
  • image9

    Cherry Country

  • 78 |
  • image10

    Blossom Delight

  • 79 |
  • image11

    Heartbeat

  • 80 |
  • image12

    Inner Organs

  • 81 |
  • image13

    Wanted Darkness

  • 82 |
  • image14

    Blessed Fever

  • 83 |
  • image15

    Origins

  • 84 |
  • image16

    Fire Lime

  • 85 |
  • image17

    Host Rumor

  • 86 |
87 | 91 |
92 |

提示: 如果想要看连续的效果,用鼠标按住上面的小箭头.

93 | 94 |
95 | 96 |
97 | 98 | 99 | 159 | 160 | -------------------------------------------------------------------------------- /www/card/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/1.jpg -------------------------------------------------------------------------------- /www/card/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/10.jpg -------------------------------------------------------------------------------- /www/card/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/11.jpg -------------------------------------------------------------------------------- /www/card/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/12.jpg -------------------------------------------------------------------------------- /www/card/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/13.jpg -------------------------------------------------------------------------------- /www/card/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/14.jpg -------------------------------------------------------------------------------- /www/card/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/15.jpg -------------------------------------------------------------------------------- /www/card/16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/16.jpg -------------------------------------------------------------------------------- /www/card/17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/17.jpg -------------------------------------------------------------------------------- /www/card/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/2.jpg -------------------------------------------------------------------------------- /www/card/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/3.jpg -------------------------------------------------------------------------------- /www/card/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/4.jpg -------------------------------------------------------------------------------- /www/card/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/5.jpg -------------------------------------------------------------------------------- /www/card/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/6.jpg -------------------------------------------------------------------------------- /www/card/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/7.jpg -------------------------------------------------------------------------------- /www/card/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/8.jpg -------------------------------------------------------------------------------- /www/card/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/card/9.jpg -------------------------------------------------------------------------------- /www/card/demo.css: -------------------------------------------------------------------------------- 1 | @import url('normalize.css'); 2 | 3 | /* General Demo Style */ 4 | 5 | body { 6 | font-family: 'Open Sans Condensed','Arial Narrow', serif; 7 | background: transparent;/*#ddd url(../images/bg.jpg) repeat top left;*/ 8 | font-weight: 400; 9 | font-size: 15px; 10 | color: #333; 11 | -webkit-font-smoothing: antialiased; 12 | overflow-y: scroll; 13 | overflow-x: hidden; 14 | } 15 | 16 | a { 17 | color: #555; 18 | text-decoration: none; 19 | } 20 | 21 | .container { 22 | width: 100%; 23 | position: relative; 24 | } 25 | 26 | .main { 27 | width: 90%; 28 | margin: 0 auto; 29 | position: relative; 30 | } 31 | 32 | .container > header { 33 | margin: 10px; 34 | padding: 20px 10px 10px 10px; 35 | position: relative; 36 | display: block; 37 | text-shadow: 1px 1px 1px rgba(0,0,0,0.2); 38 | text-align: center; 39 | } 40 | 41 | .container > header h1 { 42 | font-size: 36px; 43 | line-height: 36px; 44 | margin: 0; 45 | position: relative; 46 | font-weight: 300; 47 | color: #666; 48 | text-shadow: 1px 1px 1px rgba(255,255,255,0.7); 49 | } 50 | 51 | .container > header h2 { 52 | font-size: 14px; 53 | font-weight: 300; 54 | margin: 0; 55 | padding: 15px 0 5px 0; 56 | color: #888; 57 | font-family: Cambria, Georgia, serif; 58 | font-style: italic; 59 | text-shadow: 1px 1px 1px rgba(255,255,255,0.9); 60 | } 61 | 62 | /* Header Style */ 63 | 64 | .codrops-top { 65 | line-height: 24px; 66 | font-size: 11px; 67 | background: #fff; 68 | background: rgba(255, 255, 255, 0.5); 69 | text-transform: uppercase; 70 | z-index: 9999; 71 | position: relative; 72 | font-family: Cambria, Georgia, serif; 73 | box-shadow: 1px 0px 2px rgba(0,0,0,0.2); 74 | } 75 | 76 | /* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */ 77 | 78 | .codrops-top:before, 79 | .codrops-top:after { 80 | content: " "; /* 1 */ 81 | display: table; /* 2 */ 82 | } 83 | 84 | .codrops-top:after { 85 | clear: both 86 | } 87 | 88 | /** 89 | * For IE 6/7 only 90 | * Include this rule to trigger hasLayout and contain floats. 91 | */ 92 | 93 | .codrops-top { 94 | *zoom: 1 95 | } 96 | 97 | .codrops-top a { 98 | padding: 0px 10px; 99 | letter-spacing: 1px; 100 | color: #333; 101 | display: inline-block; 102 | } 103 | 104 | .codrops-top a:hover { 105 | background: rgba(255,255,255,0.6) 106 | } 107 | 108 | .codrops-top span.right { 109 | float: right 110 | } 111 | 112 | .codrops-top span.right a { 113 | float: left; 114 | display: block; 115 | } 116 | 117 | /* Demo Buttons Style */ 118 | 119 | .codrops-demos { 120 | text-align: center; 121 | display: block; 122 | line-height: 30px; 123 | padding: 5px 0px; 124 | } 125 | 126 | .codrops-demos a { 127 | display: inline-block; 128 | margin: 0px 4px; 129 | padding: 0px 6px; 130 | color: #aaa; 131 | line-height: 20px; 132 | font-size: 13px; 133 | text-shadow: 1px 1px 1px #fff; 134 | border: 1px solid #fff; 135 | background: #ffffff; /* Old browsers */ 136 | background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #ededed 100%); 137 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(47%,#f6f6f6), color-stop(100%,#ededed)); /* Chrome,Safari4+ */ 138 | background: -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%); 139 | background: -o-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%); 140 | background: -ms-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%); 141 | background: linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%); 142 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */ 143 | box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); 144 | } 145 | 146 | .codrops-demos a:hover { 147 | color: #333; 148 | background: #fff; 149 | } 150 | 151 | .codrops-demos a:active { 152 | background: #fff 153 | } 154 | 155 | .codrops-demos a.current-demo, 156 | .codrops-demos a.current-demo:hover { 157 | background: #f0f0f0; 158 | border-color: #d9d9d9; 159 | color: #aaa; 160 | box-shadow: 0 1px 1px rgba(255,255,255,0.7); 161 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f6f6', endColorstr='#f6f6f6',GradientType=0 ); /* IE6-9 */ 162 | } 163 | 164 | p.info { 165 | font-family: Cambria, Georgia, serif; 166 | font-style: italic; 167 | color: #666; 168 | text-shadow: 0 1px 0 rgba(255,255,255,0.9); 169 | padding: 20px; 170 | display: block; 171 | clear: both; 172 | text-align: center; 173 | width: 240px; 174 | margin: 0 auto; 175 | } 176 | 177 | -------------------------------------------------------------------------------- /www/card/follow.js: -------------------------------------------------------------------------------- 1 | /*document.writeln("
")*/ 5 | 6 | 7 | /*document.writeln('
  
');*/ -------------------------------------------------------------------------------- /www/card/jquery.windy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jquery.windy.js v1.0.0 3 | * http://www.codrops.com 4 | * 5 | * Licensed under the MIT license. 6 | * http://www.opensource.org/licenses/mit-license.php 7 | * 8 | * Copyright 2012, Codrops 9 | * http://www.codrops.com 10 | */ 11 | 12 | ;( function( $, window, undefined ) { 13 | 14 | 'use strict'; 15 | 16 | // global 17 | var Modernizr = window.Modernizr; 18 | 19 | $.Windy = function( options, element ) { 20 | 21 | this.$el = $( element ); 22 | this._init( options ); 23 | 24 | }; 25 | 26 | // the options 27 | $.Windy.defaults = { 28 | // if we want to specify a selector that triggers the next() function. example: '#wi-nav-next'. 29 | nextEl : '', 30 | // if we want to specify a selector that triggers the prev() function. 31 | prevEl : '', 32 | // rotation and translation boundaries for the items transitions 33 | boundaries : { 34 | rotateX : { min : 40 , max : 90 }, 35 | rotateY : { min : -15 , max : 15 }, 36 | rotateZ : { min : -10 , max : 10 }, 37 | translateX : { min : -200 , max : 200 }, 38 | translateY : { min : -400 , max : -200 }, 39 | translateZ : { min : 250 , max : 550 } 40 | } 41 | }; 42 | 43 | $.Windy.prototype = { 44 | 45 | _init : function( options ) { 46 | 47 | // options 48 | this.options = $.extend( true, {}, $.Windy.defaults, options ); 49 | 50 | // https://github.com/twitter/bootstrap/issues/2870 51 | this.transEndEventNames = { 52 | 'WebkitTransition' : 'webkitTransitionEnd', 53 | 'MozTransition' : 'transitionend', 54 | 'OTransition' : 'oTransitionEnd', 55 | 'msTransition' : 'MSTransitionEnd', 56 | 'transition' : 'transitionend' 57 | }; 58 | this.transEndEventName = this.transEndEventNames[ Modernizr.prefixed( 'transition' ) ]; 59 | 60 | this.$items = this.$el.children( 'li' ); 61 | this.itemsCount = this.$items.length; 62 | 63 | this.resetTransformStr = 'translateX( 0px ) translateY( 0px ) translateZ( 0px ) rotateX( 0deg ) rotateY( 0deg ) rotateZ( 0deg )'; 64 | 65 | this.supportTransitions = Modernizr.csstransitions; 66 | this.support3d = Modernizr.csstransforms3d; 67 | 68 | // show first item 69 | this.current = 0; 70 | this.$items.eq( this.current ).show(); 71 | 72 | this._initEvents(); 73 | 74 | }, 75 | _getRandTransform : function() { 76 | 77 | return { 78 | rx : Math.floor( Math.random() * ( this.options.boundaries.rotateX.max - this.options.boundaries.rotateX.min + 1 ) + this.options.boundaries.rotateX.min ), 79 | ry : Math.floor( Math.random() * ( this.options.boundaries.rotateY.max - this.options.boundaries.rotateY.min + 1 ) + this.options.boundaries.rotateY.min ), 80 | rz : Math.floor( Math.random() * ( this.options.boundaries.rotateZ.max - this.options.boundaries.rotateZ.min + 1 ) + this.options.boundaries.rotateZ.min ), 81 | tx : Math.floor( Math.random() * ( this.options.boundaries.translateX.max - this.options.boundaries.translateX.min + 1 ) + this.options.boundaries.translateX.min ), 82 | ty : Math.floor( Math.random() * ( this.options.boundaries.translateY.max - this.options.boundaries.translateY.min + 1 ) + this.options.boundaries.translateY.min ), 83 | tz : Math.floor( Math.random() * ( this.options.boundaries.translateZ.max - this.options.boundaries.translateZ.min + 1 ) + this.options.boundaries.translateZ.min ) 84 | }; 85 | 86 | }, 87 | _initEvents : function() { 88 | 89 | var self = this; 90 | 91 | this.$items.on( this.transEndEventName, function( event ) { 92 | 93 | self._onTransEnd( $( this ) ); 94 | 95 | } ); 96 | 97 | if( this.options.nextEl !== '' ) { 98 | 99 | $( this.options.nextEl ).on( 'click.windy', function() { 100 | 101 | self.next(); 102 | return false; 103 | 104 | } ); 105 | 106 | } 107 | 108 | if( this.options.prevEl !== '' ) { 109 | 110 | $( this.options.prevEl ).on( 'click.windy', function() { 111 | 112 | self.prev(); 113 | return false; 114 | 115 | } ); 116 | 117 | } 118 | 119 | }, 120 | _onTransEnd : function( el ) { 121 | 122 | el.removeClass( 'wi-move' ); 123 | 124 | if( el.data( 'dir' ) === 'right' ) { 125 | 126 | var styleStart = { 127 | zIndex : 1, 128 | opacity : 1 129 | }; 130 | 131 | if( this.support3d ) { 132 | 133 | styleStart.transform = this.resetTransformStr; 134 | 135 | } 136 | else if( this.supportTransitions ) { 137 | 138 | styleStart.left = 0; 139 | styleStart.top = 0; 140 | 141 | } 142 | 143 | el.hide().css( styleStart ); 144 | 145 | } 146 | 147 | }, 148 | // public method: shows item with index idx 149 | navigate : function( idx ) { 150 | 151 | var self = this, 152 | // current item 153 | $current = this.$items.eq( this.current ), 154 | // next item to be shown 155 | $next = this.$items.eq( idx ), 156 | // random transformation configuration 157 | randTranform = this._getRandTransform(), 158 | // the z-index is higher for the first items so that the ordering is correct if more items are moving at the same time 159 | styleEnd = { 160 | zIndex : this.itemsCount + 1 - idx, 161 | opacity : 0 162 | }, 163 | styleStart = { 164 | opacity : 1 165 | }; 166 | 167 | if( this.support3d ) { 168 | 169 | styleStart.transform = self.resetTransformStr; 170 | styleEnd.transform = 'translateX(' + randTranform.tx + 'px) translateY(' + randTranform.ty + 'px) translateZ(' + randTranform.tz + 'px) rotateX(' + randTranform.rx + 'deg) rotateY(' + randTranform.ry + 'deg) rotateZ(' + randTranform.rz + 'deg)'; 171 | 172 | } 173 | else if( this.supportTransitions ) { 174 | 175 | styleStart.left = 0; 176 | styleStart.top = 0; 177 | styleEnd.left = randTranform.tx; 178 | styleEnd.top = randTranform.ty; 179 | 180 | } 181 | 182 | // if navigating to the right.. 183 | if( idx > this.current ) { 184 | 185 | // if last step was to go to the left.. 186 | if( this.dir === 'left') { 187 | 188 | // reset all z-indexes and hide items except the current 189 | this.$items.not( $current ).css( 'z-index', 1 ).hide(); 190 | 191 | } 192 | 193 | this.dir = 'right'; 194 | 195 | $current.addClass( 'wi-move' ) 196 | .data( 'dir', 'right' ) 197 | .css( styleEnd ); 198 | 199 | if( $next.hasClass( 'wi-move' ) ) { 200 | 201 | $next.removeClass( 'wi-move' ); 202 | 203 | } 204 | 205 | // apply styleStart just to make sure.. 206 | $next.css( styleStart ).show(); 207 | 208 | if( !this.supportTransitions ) { 209 | 210 | this._onTransEnd( $current ); 211 | 212 | } 213 | 214 | } 215 | else if( idx < this.current ) { 216 | 217 | this.dir = 'left'; 218 | 219 | $next.data( 'dir', 'left' ).css( styleEnd ).show(); 220 | 221 | setTimeout( function() { 222 | 223 | $next.addClass( 'wi-move' ) 224 | .data( 'dir', 'left' ) 225 | .css( styleStart ); 226 | 227 | if( !self.supportTransitions ) { 228 | 229 | self._onTransEnd( $next ); 230 | 231 | } 232 | 233 | }, 20 ); 234 | 235 | } 236 | 237 | this.current = idx; 238 | 239 | }, 240 | // public method: returns total number of items 241 | getItemsCount : function() { 242 | 243 | return this.itemsCount; 244 | 245 | }, 246 | // public method: shows next item 247 | next : function() { 248 | 249 | if( this.current < this.itemsCount - 1 ) { 250 | 251 | var idx = this.current + 1; 252 | this.navigate( idx ); 253 | 254 | } 255 | 256 | }, 257 | // public method: shows previous item 258 | prev : function() { 259 | 260 | if( this.current > 0 ) { 261 | 262 | var idx = this.current - 1; 263 | this.navigate( idx ); 264 | 265 | } 266 | 267 | } 268 | 269 | }; 270 | 271 | var logError = function( message ) { 272 | 273 | if ( window.console ) { 274 | 275 | window.console.error( message ); 276 | 277 | } 278 | 279 | }; 280 | 281 | $.fn.windy = function( options ) { 282 | 283 | var instance = $.data( this, 'windy' ); 284 | 285 | if ( typeof options === 'string' ) { 286 | 287 | var args = Array.prototype.slice.call( arguments, 1 ); 288 | 289 | this.each(function() { 290 | 291 | if ( !instance ) { 292 | 293 | logError( "cannot call methods on windy prior to initialization; " + 294 | "attempted to call method '" + options + "'" ); 295 | return; 296 | 297 | } 298 | 299 | if ( !$.isFunction( instance[options] ) || options.charAt(0) === "_" ) { 300 | 301 | logError( "no such method '" + options + "' for windy instance" ); 302 | return; 303 | 304 | } 305 | 306 | instance[ options ].apply( instance, args ); 307 | 308 | }); 309 | 310 | } 311 | else { 312 | 313 | this.each(function() { 314 | 315 | if ( instance ) { 316 | 317 | instance._init(); 318 | 319 | } 320 | else { 321 | 322 | instance = $.data( this, 'windy', new $.Windy( options, this ) ); 323 | 324 | } 325 | 326 | }); 327 | 328 | } 329 | 330 | return instance; 331 | 332 | }; 333 | 334 | } )( jQuery, window ); -------------------------------------------------------------------------------- /www/card/modernizr.custom.79639.js: -------------------------------------------------------------------------------- 1 | /* Modernizr 2.6.2 (Custom Build) | MIT & BSD 2 | * Build: http://modernizr.com/download/#-csstransforms-csstransforms3d-csstransitions-shiv-cssclasses-prefixed-teststyles-testprop-testallprops-prefixes-domprefixes-load 3 | */ 4 | ;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+";")+(b||""))}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.csstransforms=function(){return!!F("transform")},q.csstransforms3d=function(){var a=!!F("perspective");return a&&"webkitPerspective"in g.style&&w("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},q.csstransitions=function(){return F("transition")};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},z(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,e.prefixed=function(a,b,c){return b?F(a,b,c):F(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f 2 | 7 | 8 | 测试 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 7 | 35 | 36 | 测试 37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | 45 | 46 | 47 |
48 | 49 | -------------------------------------------------------------------------------- /www/movie.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstat/Dwke/85dc99d8250d572e111c8978e37ef753bfc0ef42/www/movie.swf -------------------------------------------------------------------------------- /www/x.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Wheeltz - CSS3 Navigational Wheel Menu 6 | 7 | 10 | 11 | 22 |
23 | 24 | 88 | 89 | 90 | 91 | 92 | 93 | --------------------------------------------------------------------------------