<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>おみくじ</title> <link rel="stylesheet" href="styles.css"> <style> body { background : #e0e0e0; text-align: center; font-size: 16px; color: #fff; font-family: Arial, sans-serif; } #result { margin: 30px auto; width: 180px; height: 180px; border-radius: 50%; line-height: 180px; font-size: 48px; font-weight: bold; background: #f44336; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); } #btn { margin: 0 auto; width: 200px; padding: 5px; border-radius: 5px; background: #00aaff; box-shadow: 0 4px 0 #0088cc; cursor: pointer; } #btn:hover{ opacity: 0.8; } #btn.pushed{ margin-top: 32px; box-shadow: 0 2px 0 #0088cc; } </style> </head> <body> <div id="result">?</div> <div id="btn">あなたの運勢は?</div> <script> (function(){ "use strict"; document.getElementById('btn').addEventListener('click', function(){ var results = ['大吉','中吉','小吉','凶']; var result = Math.floor(Math.random() * results.length); document.getElementById('result').innerHTML = results[result]; }); document.getElementById('btn').addEventListener('mousedown', function(){ this.className = 'pushed'; }); document.getElementById('btn').addEventListener('mouseup', function(){ this.className = ''; }); })(); </script> </body> </html>
Month: November 2016
JavaScript 基礎
JavaScriptのドキュメントはMDNのサイトでよく参照することができます。
MDN JavaScript
即時関数:直ぐに実行されます。
<script> (function(name){ console.log("hello" + name); })("tom"); </script>
<script> (function()){ var x = 10; y = 20; console.log(x + y); }(); </script>
setInterval
var i = 0; function show(){ console.log(i++) } setInterval(function(){ show(); }, 1000);
setTimeout
var i = 0; function show(){ console.log(i++); setTimeout(function(){ show(); }, 1000); }show();
オブジェクト
var user = { email: "yamada@gmail.com", score: 80 }; console.log(user.email)
オブジェクト2
var user = { email: "yamada@gmail.com", score: 80, greet: function(name){ console.log("hello, " + name); } }; user.greet("sato");
Arrayオブジェクト
var a = new Array(100, 300, 200); console.log(a.length);
Math
console.log(Math.PI); console.log(Math.ceil(5.3)); console.log(Math.floor(5.3)); console.log(Math.round(5.3));
三項演算子
a = (条件) ? b : c;
よく使うもの
console.log(window.outerHeight); window.location.href = "http://google.com" document(DOM) var e = document.getElementById('msg'); e.textContent = 'Hello'; e.style.color = 'red';
CSS メディアクエリによるレスポンシブル対応
h1, h2, p, img, ul{ margin:0; } body { font-family: Arial, Verdana, sans-serif; margin:0 auto; width: 95%; } #header { background: red; } #footer { background: green; } #container { } #main { background: orange; } #sub { background: yellow; } #footerNavLink{ float: right; } #headerNav ul { list-style: none; overflow: hidden; } #headerNav li { float: left; width: 33%; text-align: center; } img { max-width: 100%; } .movie { position: relative; height: 0; padding-top: 56.25%; } iframe { height: 100%; position: absolute; left:0; top:0; width:100%; } /* スマホ */ #headerNav{ display: none; } /* タブレット */ @media screen and (min-width: 480px){ #footerNavLink { display: none; } #headerNav{ display: block; } #footerNav { display: none; } } /* PC */ @media screen and (min-width: 768px){ #container { overflow: hidden; } #main { float: left; width: 78.0612245%; } #sub { float: right; width: 20.4081633%; } }
Bootstrap tooltip, popover
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Bootstrap Practice</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container" style="padding:20px 0"> <p><a href="#" data-toggle="tooltip" title="説明">this</a> and <a href="#" data-toggle="popover" title="説明" data-content="さらに説明">that</a>.</p> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> <script> $(function(){ $("[data-toggle=tooltip]").tooltip({ placement: 'bottom' }); $("[data-toggle=popover]").popover(); }); </script> </body> </html>
Bootstrap クリッカブルタブメニュー
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Bootstrap Practice</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container" style="padding:20px 0"> <ul class="nav nav-tabs" style="margin-bottom:15px"> <li class="active"><a href="#home" data-toggle="tab">Home</a></li> <li><a href="#about" data-toggle="tab">About</a></li> </ul> <div class="tab-content"> <div class="tab-pane active" id="home">ほーむだよ</div> <div class="tab-pane" id="about">aboutだよ</div> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html>
Bootstrap modalウィンドウ
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Bootstrap Practice</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container" style="padding:20px 0"> <a data-toggle="modal" href="#myModal" class="btn btn-primary">show me</a> <div class="modal fade" id="myModal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button class="close" data-dismiss="modal">×</button> <h4 class="modal-title">my modal</h4> </div> <div class="modal-body"> こんにちは! </div> <div class="modal-footer"> <button class="btn btn-primary">OK!</button> </div> </div> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html>
Bootstrap progress-bar
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Bootstrap Practice</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container" style="padding:20px 0"> <div class="progress"> <div class="progress-bar progress-bar-primary" style="width:60%"></div> </div> <div class="progress progress-striped active"> <div class="progress-bar progress-bar-info" style="width:60%"></div> </div> <div class="progress progress-striped active"> <div class="progress-bar progress-bar-info" style="width:30%"></div> <div class="progress-bar progress-bar-primary" style="width:20%"></div> <div class="progress-bar progress-bar-warning" style="width:10%"></div> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html>
Bootstrap label, badge, alert, pannel
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Bootstrap Practice</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container" style="padding:20px 0"> <p>product a <span class="label label-primary">NEW!</span></p> <p>Inbox <span class="badge">5</span></p> <p>Inbox <span class="badge"></span></p> <div class="alert alert-info"> <button class="close" data-dismiss="alert">×</button> おしらせ </div> <div class="panel panel-primary"> <div class="panel-heading"> お知らせ </div> <div class="panel-body"> こんにちは! </div> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html>
Bootstrap navbar レスポンシブル対応
トグルボタンを追加します。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Bootstrap Practice</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <nav class="navbar navbar-default navbar-fixed-top"> <div class="navbar-header"> <button class="navbar-toggle" data-toggle="collapse" data-target=".target"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="">Hello world</a> </div> <div class="collapse navbar-collapse target"> <ul class="nav navbar-nav"> <li class="active"><a href="">link1</a></li> <li><a href="">link2</a></li> </ul> <ul class="nav navbar-nav navbar-right"> <li><a href="">link3</a></li> </ul> </div> </nav> <div class="container" style="padding:20px 0"> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html>
Bootstrap navbar
ヘッダー固定はnavbar-fixed-topのclassを追加します。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Bootstrap Practice</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <nav class="navbar navbar-default navbar-fixed-top"> <div class="navbar-header"> <a class="navbar-brand" href="">Hello world</a> </div> <ul class="nav navbar-nav"> <li class="active"><a href="">link1</a></li> <li><a href="">link2</a></li> </ul> <ul class="nav navbar-nav navbar-right"> <li><a href="">link3</a></li> </ul> </nav> <div class="container" style="padding:20px 0"> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> <p>こんにちは</p> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html>