What's New
In JavaScript?
wesbos.com@wesbos
├── .gitignore ├── .vscode └── settings.json ├── _code.styl ├── _deps.styl ├── demos ├── breathe │ └── index.html ├── error-handling │ └── error.html ├── examples.js ├── gum │ ├── index.html │ └── scripts.js ├── intersection-observer.html ├── intersection-observer │ ├── index.html │ └── scripts.js ├── pip │ ├── index.html │ └── scripts.js ├── resize-observer │ ├── index.html │ ├── scripts.js │ └── video-player.html └── webpayment │ ├── applepay.html │ ├── index.html │ └── package-lock.json ├── fonts ├── PureHeartSVG-Regular.otf ├── bavro-regular-webfont.eot ├── bavro-regular-webfont.svg ├── bavro-regular-webfont.ttf ├── bavro-regular-webfont.woff └── bavro-regular-webfont.woff2 ├── gulpfile.js ├── image-downloader.js ├── images ├── 1.jpg ├── 10.jpg ├── 11.jpg ├── 12.jpg ├── 13.jpg ├── 14.jpg ├── 15.jpg ├── 16.jpg ├── 17.jpg ├── 18.jpg ├── 19.jpg ├── 2.jpg ├── 20.jpg ├── 21.jpg ├── 22.jpg ├── 23.jpg ├── 24.jpg ├── 25.jpg ├── 26.jpg ├── 27.jpg ├── 28.jpg ├── 29.jpg ├── 3.jpg ├── 30.jpg ├── 31.jpg ├── 4.jpg ├── 5.jpg ├── 6.jpg ├── 7.jpg ├── 8.jpg ├── 9.jpg ├── Twitter_logo_white.png ├── applepay.mp4 ├── babel.svg ├── canada-flag.png ├── commandline.png ├── cover.png ├── css-next-logo.svg ├── fgHm.png ├── flexbox.png ├── gum.mp4 ├── hackerYou-logomark.png ├── intersection-observer.mp4 ├── intersection-observer2.mp4 ├── laptop-sticker.jpg ├── meta.mp4 ├── paymentRequest.mp4 ├── resize-video-player.mp4 ├── resizeObserver.mp4 ├── screenshots │ ├── fffe.png │ ├── ffjT.png │ ├── ffjW.png │ ├── ffls.png │ ├── ffq2.png │ ├── ffsj.png │ ├── ffvp.png │ ├── ffxI.png │ ├── fg1n.png │ ├── fg83.png │ ├── fgCZ.png │ ├── fgCq.png │ ├── fgHO.png │ ├── fgHm.png │ ├── fgIK.png │ ├── fgLW.png │ ├── fgUE.png │ ├── fgWF.png │ ├── fgWl.png │ ├── fgXl.png │ ├── fgYU.png │ ├── fgbG.png │ ├── fgbJ.png │ ├── fgbo.png │ ├── fgbz.png │ ├── fgck.gif │ ├── fgdA.png │ ├── fgfW.png │ ├── fgfo.gif │ ├── fgfu.png │ ├── fggs.png │ ├── fgh5.png │ ├── fgiQ.png │ ├── fgir.png │ ├── fgl6.png │ ├── fgmB.gif │ ├── fgmT.png │ ├── fgnB.png │ ├── fgnM.png │ ├── fgnc.png │ ├── fgrF.png │ ├── fgrg.png │ ├── fgsY.png │ ├── fgtC.png │ ├── fgvC.gif │ ├── fgx0.png │ ├── fgyV.png │ ├── fgz3.png │ ├── fgzX.png │ ├── fgzX2.png │ ├── fgzh.png │ ├── fgzk.png │ ├── fh01.png │ ├── fh0F.png │ ├── fh13.png │ ├── fh1U.gif │ ├── fh2l.png │ ├── fh59.png │ ├── fh6L.png │ ├── fh8u.png │ ├── fhAQ.gif │ ├── fhAe.png │ ├── fhDp.png │ ├── fhEM.png │ ├── mufS.png │ ├── muk4.png │ ├── mul6.png │ ├── mupq.png │ ├── musk.png │ ├── mv6R.png │ ├── mv93.png │ ├── mvHv.png │ ├── mvLf.png │ ├── mvMC.png │ ├── mvNc.png │ ├── mvNd.png │ ├── mvPr.png │ ├── mvSI.png │ ├── mvbJ.png │ ├── mvjO.png │ ├── mvjp.png │ ├── mvlO.png │ ├── mvvk.png │ ├── mvxm.png │ ├── mw1Y.gif │ ├── mw55.png │ ├── mw88.png │ └── mw8s.png ├── sticky.mp4 ├── uglify.png ├── viewport.mp4 └── webmart.webm ├── index.html ├── index.jade ├── package-lock.json ├── package.json ├── prettify.js ├── readme.md ├── scripts.js ├── slides.js ├── styles.css └── styles.styl /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .DS_Store 3 | talk.js 4 | talk.md -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.enabledLanguageIds": [ 3 | "c", 4 | "cpp", 5 | "csharp", 6 | "go", 7 | "handlebars", 8 | "jade", 9 | "javascript", 10 | "javascriptreact", 11 | "json", 12 | "latex", 13 | "markdown", 14 | "php", 15 | "plaintext", 16 | "python", 17 | "restructuredtext", 18 | "text", 19 | "typescript", 20 | "typescriptreact", 21 | "yml" 22 | ] 23 | } -------------------------------------------------------------------------------- /_code.styl: -------------------------------------------------------------------------------- 1 | yellow = #FFDD00 2 | 3 | // Cobalt2 Prettyify Styles by Wes Bos 4 | 5 | pre .str, code .str { color: #39D905; } /* string - green */ 6 | pre .kwd, code .kwd { color: yellow; } /* keyword - dark pink */ 7 | pre .com, code .com { color: #0088FF; font-style: italic; } /* comment - gray */ 8 | pre .typ, code .typ { color: #0088FF; } /* type - light blue */ 9 | pre .lit, code .lit { color: #0088FF; } /* literal - blue */ 10 | pre .pun, code .pun { color: #FF9D00; } /* punctuation - white */ 11 | pre .pln, code .pln { color: #fff; } /* plaintext - white */ 12 | pre .tag, code .tag { color: #89bdff; } /* html/xml tag - light blue */ 13 | pre .atn, code .atn { color: #bdb76b; } /* html/xml attribute name - khaki */ 14 | pre .atv, code .atv { color: #65B042; } /* html/xml attribute value - green */ 15 | pre .dec, code .dec { color: #3387CC; } /* decimal - blue */ 16 | 17 | pre.prettyprint, code.prettyprint { 18 | background-color: #193549 19 | border-radius: 2px; 20 | border 0 21 | font-size 55px 22 | line-height 1.7 23 | text-align left 24 | } 25 | 26 | code 27 | background none 28 | font-family 'Operator Mono', monospace; 29 | font-weight 400 30 | 31 | pre.prettyprint { 32 | width: 95%; 33 | margin: 1em auto; 34 | padding: 10px; 35 | white-space: pre-wrap; 36 | border 3px solid #1F4662 37 | } 38 | 39 | 40 | /* Specify class=linenums on a pre to get line numbering */ 41 | ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE; } /* IE indents via margin-left */ 42 | li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none } 43 | /* Alternate shading for lines */ 44 | li.L1,li.L3,li.L5,li.L7,li.L9 { } 45 | 46 | @media print { 47 | pre .str, code .str { color: #060; } 48 | pre .kwd, code .kwd { color: #006; font-weight: bold; } 49 | pre .com, code .com { color: #600; font-style: italic; } 50 | pre .typ, code .typ { color: #404; font-weight: bold; } 51 | pre .lit, code .lit { color: #044; } 52 | pre .pun, code .pun { color: #440; } 53 | pre .pln, code .pln { color: #000; } 54 | pre .tag, code .tag { color: #006; font-weight: bold; } 55 | pre .atn, code .atn { color: #404; } 56 | pre .atv, code .atv { color: #060; } 57 | } 58 | -------------------------------------------------------------------------------- /_deps.styl: -------------------------------------------------------------------------------- 1 | /* 2 | Google HTML5 slides template 3 | 4 | Authors: Luke Mahé (code) 5 | Marcin Wichary (code and design) 6 | 7 | Dominic Mazzoni (browser compatibility) 8 | Charles Chen (ChromeVox support) 9 | 10 | URL: http://code.google.com/p/html5slides/ 11 | */ 12 | 13 | /* Framework */ 14 | 15 | 16 | html { 17 | height: 100%; 18 | } 19 | 20 | body { 21 | margin: 0; 22 | padding: 0; 23 | display: block !important; 24 | height: 100%; 25 | min-height: 740px; 26 | overflow-x: hidden; 27 | overflow-y: auto; 28 | } 29 | 30 | .slides { 31 | width: 100%; 32 | height: 100%; 33 | left: 0; 34 | top: 0; 35 | color:#f21818; 36 | background:; 37 | position: absolute; 38 | -webkit-transform: translate3d(0, 0, 0); 39 | } 40 | 41 | 42 | /* 43 | Slide Widths 44 | */ 45 | 46 | w = 1920px 47 | // h = 1080px 48 | h = 1107px 49 | h = 1130px 50 | 51 | // w = 1920px 52 | // h = 1440px 53 | 54 | .slides > article { 55 | display: block; 56 | position: absolute; 57 | overflow: hidden; 58 | width w 59 | height h 60 | margin-left: -(w / 2); 61 | margin-top: -(h / 2); 62 | 63 | left: 50%; 64 | top: 50%; 65 | border-radius 5px; 66 | padding: 0; 67 | background-color: none; 68 | transition: all 0.3s ease-out; 69 | justify-content center 70 | flex-direction column 71 | & > * { 72 | display block 73 | clear both 74 | min-width 100% 75 | flex-wrap wrap 76 | } 77 | & > img { 78 | min-width: 0; 79 | display: block; 80 | margin: 0 auto 81 | } 82 | 83 | } 84 | 85 | .slide-area { 86 | z-index: 1000; 87 | 88 | position: absolute; 89 | left: 0; 90 | top: 0; 91 | width: 150px; 92 | height: 100%; 93 | left: 0; 94 | top: 0; 95 | cursor: pointer; 96 | tap-highlight-color: transparent; 97 | 98 | } 99 | #prev-slide-area { 100 | 101 | } 102 | #next-slide-area { 103 | right 0 104 | left auto 105 | } 106 | .slides.layout-widescreen #prev-slide-area, 107 | .slides.layout-faux-widescreen #prev-slide-area { 108 | margin-left: -650px; 109 | } 110 | .slides.layout-widescreen #next-slide-area, 111 | .slides.layout-faux-widescreen #next-slide-area { 112 | margin-left: 500px; 113 | } 114 | 115 | /* Slides */ 116 | 117 | .slides > article { 118 | display: none; 119 | text-align: center; 120 | } 121 | .slides > article.far-past { 122 | display: block; 123 | transform: translate(-4000px); 124 | display none; 125 | } 126 | .slides > article.past { 127 | display: flex; 128 | transform: scale(0.5) translate(-(w + (0))px); 129 | opacity: 0.3; 130 | display: none; 131 | 132 | } 133 | .slides > article.current { 134 | display: flex; 135 | transform: translate(0); 136 | z-index 10 137 | } 138 | .slides > article.next { 139 | display: flex; 140 | transform: scale(0.5) translate((w + (0))px); 141 | opacity: 0.3; 142 | display: none; 143 | } 144 | .slides > article.far-next { 145 | display: flex; 146 | transform: translate(4000px); 147 | display none; 148 | } 149 | 150 | 151 | /* Styles for slides */ 152 | 153 | .slides > article { 154 | color: #6C818F; 155 | font-size: 30px; 156 | letter-spacing: -1px; 157 | } 158 | 159 | b { 160 | font-weight: 600; 161 | } 162 | 163 | .blue { 164 | color: rgb(0, 102, 204); 165 | } 166 | .yellow { 167 | color: rgb(255, 211, 25); 168 | } 169 | .green { 170 | color: #29E254; 171 | } 172 | .red { 173 | color: rgb(255, 0, 0); 174 | } 175 | .black { 176 | color: black; 177 | } 178 | .white { 179 | color: white; 180 | } 181 | 182 | a { 183 | color: #FFDD00; 184 | } 185 | 186 | ::-moz-selection { background: #FFDD00; } 187 | ::selection { background: #FFDD00; } 188 | 189 | 190 | p { 191 | margin: 0; 192 | padding: 0; 193 | } 194 | p:first-child { 195 | margin-top: 0; 196 | } 197 | 198 | body { 199 | // font-family: inconsolata, courier; 200 | font-family: 'Open Sans', sans-serif; 201 | } 202 | h1 { 203 | font-size: 60px; 204 | padding: 0; 205 | margin: 0; 206 | color: white; 207 | } 208 | 209 | h2 { 210 | font-size: 45px; 211 | line-height: 45px; 212 | 213 | bottom: 150px; 214 | 215 | padding: 0; 216 | margin: 0; 217 | font-weight: 600; 218 | color:white; 219 | letter-spacing: -2px; 220 | } 221 | 222 | h2 a { 223 | text-decoration: none; 224 | } 225 | 226 | h3 { 227 | font-size: 20px; 228 | line-height: 36px; 229 | padding: 0 0 10px 0; 230 | margin: 0; 231 | padding-right: 40px; 232 | font-weight: 600; 233 | letter-spacing: -1px; 234 | color:#EAEAEA; 235 | } 236 | 237 | .half { 238 | width:350px; 239 | float:left; 240 | } 241 | 242 | .button:hover { 243 | color:#fff; 244 | background:#392C44; 245 | } 246 | 247 | pre.half { 248 | width: 400px; 249 | font-size:17px; 250 | } 251 | 252 | p.small { 253 | color:#000; 254 | font-size:18px; 255 | } 256 | article.fill h3 { 257 | background: rgba(255, 255, 255, .75); 258 | padding-top: .2em; 259 | padding-bottom: .3em; 260 | margin-top: -.2em; 261 | margin-left: -60px; 262 | padding-left: 60px; 263 | margin-right: -60px; 264 | padding-right: 60px; 265 | } 266 | 267 | h4 { 268 | margin:0; 269 | } 270 | 271 | 272 | .center { 273 | text-align:center; 274 | } 275 | 276 | .center h3 { 277 | font-size:100px; 278 | margin-top:220px; 279 | } 280 | ul { 281 | list-style: none; 282 | margin: 0; 283 | padding: 0; 284 | 285 | margin-top: 40px; 286 | 287 | margin-left: .75em; 288 | } 289 | ul:first-child { 290 | margin-top: 0; 291 | } 292 | ul ul { 293 | margin-top: .5em; 294 | } 295 | li { 296 | padding: 0; 297 | margin: 0; 298 | 299 | margin-bottom: .5em; 300 | } 301 | li::before { 302 | content: '·'; 303 | 304 | width: .75em; 305 | margin-left: -.75em; 306 | 307 | position: absolute; 308 | } 309 | 310 | pre { 311 | 312 | font-size: 20px; 313 | line-height: 28px; 314 | padding: 5px 10px; 315 | 316 | letter-spacing: -1px; 317 | 318 | margin-top: 20px; 319 | margin-bottom: 20px; 320 | 321 | color: black; 322 | background: rgb(240, 240, 240); 323 | border: 1px solid rgb(224, 224, 224); 324 | box-shadow: inset 0 2px 6px rgba(0, 0, 0, .1); 325 | 326 | overflow: hidden; 327 | } 328 | 329 | code { 330 | font-size: 95%; 331 | font-family: 'Droid Sans Mono', 'Courier New', monospace; 332 | display: inline-block; 333 | background rgba(255,255,255,0.2); 334 | padding 10px 335 | border-radius 4px; 336 | font-weight 600 337 | } 338 | 339 | iframe { 340 | width: 100%; 341 | height: 620px; 342 | background: white; 343 | border: 1px solid rgb(192, 192, 192); 344 | margin: -1px; 345 | /*box-shadow: inset 0 2px 6px rgba(0, 0, 0, .1);*/ 346 | } 347 | 348 | img { 349 | max-width: 100%; 350 | max-height:570px; 351 | } 352 | 353 | h3 + iframe { 354 | margin-top: 40px; 355 | height: 540px; 356 | } 357 | 358 | article.fill iframe { 359 | position: absolute; 360 | left: 0; 361 | top: 0; 362 | width: 100%; 363 | height: 100%; 364 | 365 | border: 0; 366 | margin: 0; 367 | 368 | border-radius: 10px; 369 | -o-border-radius: 10px; 370 | -moz-border-radius: 10px; 371 | -webkit-border-radius: 10px; 372 | 373 | z-index: -1; 374 | } 375 | 376 | article.fill img { 377 | position: absolute; 378 | left: 0; 379 | top: 0; 380 | min-width: 100%; 381 | min-height: 100%; 382 | 383 | border-radius: 10px; 384 | -o-border-radius: 10px; 385 | -moz-border-radius: 10px; 386 | -webkit-border-radius: 10px; 387 | 388 | z-index: -1; 389 | } 390 | img.centered { 391 | margin: 0 auto; 392 | display: block; 393 | } 394 | 395 | table { 396 | width: 100%; 397 | border-collapse: collapse; 398 | margin-top: 40px; 399 | } 400 | th { 401 | font-weight: 600; 402 | text-align: left; 403 | } 404 | td, 405 | th { 406 | border: 1px solid rgb(224, 224, 224); 407 | padding: 5px 10px; 408 | vertical-align: top; 409 | } 410 | 411 | .source { 412 | position: absolute; 413 | left: 60px; 414 | top: 644px; 415 | padding-right: 175px; 416 | 417 | font-size: 15px; 418 | letter-spacing: 0; 419 | line-height: 18px; 420 | } 421 | 422 | q { 423 | display: block; 424 | font-size: 60px; 425 | line-height: 72px; 426 | 427 | margin-left: 20px; 428 | 429 | margin-top: 100px; 430 | margin-right: 150px; 431 | } 432 | q::before { 433 | content: '“'; 434 | 435 | position: absolute; 436 | display: inline-block; 437 | margin-left: -2.1em; 438 | width: 2em; 439 | text-align: right; 440 | 441 | font-size: 90px; 442 | color: rgb(192, 192, 192); 443 | } 444 | q::after { 445 | content: '”'; 446 | 447 | position: absolute; 448 | margin-left: .1em; 449 | 450 | font-size: 90px; 451 | color: rgb(192, 192, 192); 452 | } 453 | div.author { 454 | text-align: right; 455 | font-size: 40px; 456 | 457 | margin-top: 20px; 458 | margin-right: 150px; 459 | } 460 | div.author::before { 461 | content: '—'; 462 | } 463 | 464 | /* Size variants */ 465 | 466 | article.smaller p, 467 | article.smaller ul { 468 | font-size: 20px; 469 | line-height: 24px; 470 | letter-spacing: 0; 471 | } 472 | article.smaller table { 473 | font-size: 20px; 474 | line-height: 24px; 475 | letter-spacing: 0; 476 | } 477 | article.smaller pre { 478 | font-size: 15px; 479 | line-height: 20px; 480 | letter-spacing: 0; 481 | } 482 | article.smaller q { 483 | font-size: 40px; 484 | line-height: 48px; 485 | } 486 | article.smaller q::before, 487 | article.smaller q::after { 488 | font-size: 60px; 489 | } 490 | 491 | /* Builds */ 492 | 493 | .build > * { 494 | transition: opacity 0.2s ease-in-out 0.2s; 495 | } 496 | 497 | .to-build { 498 | opacity: 0; 499 | } 500 | -------------------------------------------------------------------------------- /demos/breathe/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 46 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 47 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 48 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
49 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 51 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 52 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 53 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
54 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 56 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 57 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 58 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
59 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 61 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 62 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 63 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
64 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 66 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 67 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 68 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
69 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 71 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 72 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 73 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
74 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 76 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 77 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 78 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
79 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 81 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 82 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 83 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
84 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 86 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 87 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 88 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
89 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 91 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 92 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 93 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
94 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 96 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 97 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 98 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
99 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 101 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 102 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 103 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
104 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 106 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 107 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 108 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
109 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 111 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 112 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 113 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
114 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 116 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 117 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 118 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
119 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 121 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 122 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 123 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
124 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 126 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 127 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 128 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
129 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 131 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 132 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 133 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
134 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 136 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 137 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 138 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
139 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 141 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 142 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 143 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
144 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 146 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 147 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 148 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
149 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 151 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 152 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 153 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
154 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 156 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 157 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 158 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
159 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 161 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 162 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 163 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
164 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 166 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 167 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 168 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
169 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 171 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 172 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 173 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
174 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 176 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 177 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 178 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
179 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 181 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 182 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 183 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
184 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 186 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 187 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 188 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
189 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 191 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 192 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 193 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
194 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 196 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 197 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 198 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
199 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 201 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 202 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 203 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
204 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 206 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 207 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 208 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
209 |Lorem ipsum dolor, sit amet consectetur adipisicing elit. Voluptatum sed officia neque praesentium, reprehenderit amet 211 | tenetur, porro ipsum vitae nisi aliquid, ea corporis doloremque exercitationem consectetur inventore quam laboriosam 212 | nemo. Cupiditate sapiente, reiciendis suscipit consequuntur accusamus nihil. Minus inventore, atque dicta voluptatem 213 | numquam molestias reiciendis, ad aliquid reprehenderit tenetur ex?
214 |6 | // ${JSON.stringify(entries[0].contentRect, null, ' ')} 7 | //`; 8 | // } 9 | 10 | // const observer = new ResizeObserver(callback); 11 | 12 | // // get some elements to observe 13 | // const element = document.querySelector('.resize'); 14 | // observer.observe(element); 15 | 16 | function callback(entries, observer) { 17 | 18 | entries[0].target.innerHTML = ` 19 |
20 | ${JSON.stringify(entries[0].contentRect, null, ' ')} 21 |`; 22 | } 23 | 24 | const observer = new ResizeObserver(callback); 25 | 26 | // get some elements to observe 27 | const element = document.querySelector('.resize'); 28 | observer.observe(element); 29 | -------------------------------------------------------------------------------- /demos/resize-observer/video-player.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Video 001
144 |This is the video Desc
145 | 01:21 146 |Video 002
149 |This is the video Desc
150 | 02:22 151 |Video 003
154 |This is the video Desc
155 | 03:23 156 |Video 004
159 |This is the video Desc
160 | 04:24 161 |Video 005
164 |This is the video Desc
165 | 05:25 166 |Video 006
169 |This is the video Desc
170 | 06:26 171 |Video 007
174 |This is the video Desc
175 | 07:27 176 |Video 008
179 |This is the video Desc
180 | 08:28 181 |Video 009
184 |This is the video Desc
185 | 09:29 186 |Video 010
189 |This is the video Desc
190 | 10:210 191 |Video 011
194 |This is the video Desc
195 | 11:211 196 |Video 012
199 |This is the video Desc
200 | 12:212 201 |Video 013
204 |This is the video Desc
205 | 13:213 206 |Video 014
209 |This is the video Desc
210 | 14:214 211 |Video 015
214 |This is the video Desc
215 | 15:215 216 |Video 016
219 |This is the video Desc
220 | 16:216 221 |Video 017
224 |This is the video Desc
225 | 17:217 226 |Video 018
229 |This is the video Desc
230 | 18:218 231 |Video 019
234 |This is the video Desc
235 | 19:219 236 |Video 020
239 |This is the video Desc
240 | 20:220 241 |Video 021
244 |This is the video Desc
245 | 21:221 246 |Video 022
249 |This is the video Desc
250 | 22:222 251 |Video 023
254 |This is the video Desc
255 | 23:223 256 |Video 024
259 |This is the video Desc
260 | 24:224 261 |Video 025
264 |This is the video Desc
265 | 25:225 266 |Video 026
269 |This is the video Desc
270 | 26:226 271 |Video 027
274 |This is the video Desc
275 | 27:227 276 |Video 028
279 |This is the video Desc
280 | 28:228 281 |Video 029
284 |This is the video Desc
285 | 29:229 286 |Video 030
289 |This is the video Desc
290 | 30:230 291 |Video 031
294 |This is the video Desc
295 | 31:231 296 |Video 032
299 |This is the video Desc
300 | 32:232 301 |Video 033
304 |This is the video Desc
305 | 33:233 306 |Video 034
309 |This is the video Desc
310 | 34:234 311 |Video 035
314 |This is the video Desc
315 | 35:235 316 |Video 036
319 |This is the video Desc
320 | 36:236 321 |Video 037
324 |This is the video Desc
325 | 37:237 326 |Video 038
329 |This is the video Desc
330 | 38:238 331 |Video 039
334 |This is the video Desc
335 | 39:239 336 |Video 040
339 |This is the video Desc
340 | 40:240 341 |Video 041
344 |This is the video Desc
345 | 41:241 346 |Video 042
349 |This is the video Desc
350 | 42:242 351 |Video 043
354 |This is the video Desc
355 | 43:243 356 |Video 044
359 |This is the video Desc
360 | 44:244 361 |Video 045
364 |This is the video Desc
365 | 45:245 366 |Video 046
369 |This is the video Desc
370 | 46:246 371 |Video 047
374 |This is the video Desc
375 | 47:247 376 |Video 048
379 |This is the video Desc
380 | 48:248 381 |Video 049
384 |This is the video Desc
385 | 49:249 386 |Video 050
389 |This is the video Desc
390 | 50:250 391 |