<html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="format-detection" content="telephone=no, email=no"> <title>snowflake</title> <script type="text/javascript" src="http://w3school.com.cn/jquery/jquery-1.11.1.min.js"></script> <style type="text/css"> body { padding: 0; margin: 0; background-color: #333; font-size: 14px; color: #BCBCBC; } input { border: solid 0px #DDD; border-radius: 5px; padding: 5px 10px; width: 120px; } button { border: solid 0px #CCC; border-radius: 5px; background-color: #FFF; padding: 5px 10px; } #sky { width: 100%; max-width: 640px; height: 100%; background-color: #A39; margin: 0 auto; position: relative; overflow: hidden; } .snowflake { width: 50px; height: 50px; border-radius: 50px; background-color: rgba(255, 255, 255, 0.5); position: absolute; top: 10px; left: 100px; display: inline-block; transition: top 2s; -moz-transition: top 2s;/* Firefox 4 */ -webkit-transition: top 2s;/* Safari 和 Chrome */ -o-transition: top 2s; transition-timing-function: cubic-bezier(0.25,0.1,0.25,1); -moz-transition-timing-function: cubic-bezier(0.25,0.1,0.25,1); -webkit-transition-timing-function: cubic-bezier(0.25,0.1,0.25,1); -o-transition-timing-function: cubic-bezier(0.25,0.1,0.25,1); } #operate { text-align: right; } #operate div { margin: 10px; } </style></head><body> <div id="sky"></div> <div id="operate"> <div> <label>下雪频率(ms): <input name="rate" type="number" min="1" /></label> </div> <div> <label>融化时间(ms): <input name="melt" type="number" min="0" /></label> </div> <div> <button id="start-or-stop" onclick="startOrStop()">start</button> </div> </div> <script type="text/javascript"> var $sky = $('#sky'); var maxTop = $sky.height() - 5;// 地面高度值(px) var rate = 60;// 飘落频率(ms) var flakeSize = 10;// 单片雪花宽高值(px) var melt = 2000;// 融化时间(ms) // 初始化雪花 function snowflake(size, alpha, top, left) { var s = document.createElement('div'); $(s).css({ 'width': size, 'height': size, 'border-radius': size, 'background-color': 'rgba(255,255,255,' + alpha + ')', 'top': -50, 'left': left, }).addClass('snowflake'); return s; } // 雪花飘落并融化 function dift($s) { $s.css('top', maxTop + (flakeSize - $s.width()) / 2); setTimeout(function() { $s.remove(); }, 2000 + melt); } // 开始动画 var animateId = -1; var it = false; function start() { if(!it) { it = setInterval(function() { // 初始化雪花 var id = 's_' + (++animateId); var size = Math.random() * flakeSize + 2; var alpha = Math.random() * 0.7 + 0.1; var left = Math.random() * $(window).width(); var s = snowflake(size, alpha, 0, left); var $s = $(s).attr('id', id); $sky.get(0).appendChild(s); // 雪花飘落 setTimeout(function() { dift($s); }, 100); if(animateId > 10000) {// 避免越界 animateId = 0; } }, rate); $('#start-or-stop').html('stop'); } } start(); // 停止动画 function stop() { clearInterval(it); it = false; $('#start-or-stop').html('start'); } // 开始或暂停动画 function startOrStop() { if(!it) { start(); } else { stop(); } } // 重启动画 function restart() { stop(); start(); } $(function() { // 监听rate输入框 var minRate = 1, maxRate = 3000; $('input[name="rate"]').val(rate).on('change', function() { rate = parseInt($(this).val()); if(rate < minRate) { rate = minRate; $(this).val(rate); } else if(rate > maxRate) { rate = maxRate; $(this).val(rate); } restart(); }).prop({ min: minRate, max: maxRate }); // 监听melt输入框 var minMalt = 0, maxMelt = 100000; $('input[name="melt"]').val(melt).on('change', function() { melt = parseInt($(this).val()); if(melt < minMalt) { melt = minMalt; $(this).val(melt); } else if(melt > maxMelt) { melt = maxMelt; $(this).val(melt); } restart(); }).prop({ min: minMalt, max: maxMelt }); }); </script></body></html>

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック



