week14 - stayjay/wp109b GitHub Wiki
<!DOCTYPE html>
<html>
<head>
<style>
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
.dropdown-content a:hover {background-color: #f1f1f1}
.dropdown:hover .dropdown-content {
display: block;
}
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
</style>
</head>
<body>
<h2>Dropdown Menu</h2>
<p>Move the mouse over the button to open the dropdown menu.</p>
<div class="dropdown">
<button class="dropbtn">Dropdown</button>
<div class="dropdown-content">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
<p><strong>Note:</strong> We use href="#" for test links. In a real web site this would be URLs.</p>
</body>
</html>
Dropdown Menu
Move the mouse over the button to open the dropdown menu.
Dropdown
Note: We use href="#" for test links. In a real web site this would be URLs.
CSS
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
}
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f1f1f1;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
.dropdown-content a:hover {background-color: #ddd}
.dropdown:hover .dropdown-content {
display: block;
}
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
html的部分
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="dropdown.css"/>
</head>
<body>
<h2>Hoverable Dropdown</h2>
<p>Move the mouse over the button to open the dropdown menu.</p>
<div class="dropdown">
<button class="dropbtn">Dropdown</button>
<div class="dropdown-content">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
</body>
</html>
功能和原例一樣
提出JS的部分 paje.js
const page = {}
page.home = `
<h1>這是首頁!</h1>
<a href="http://tw.youtube.com">YouTube</a>
`
page.login = `
<h1>這是登入頁!</h1>
<Button>Login</Button>
`
page.logout = `
<h1>這是登出頁!</h1>
<Button>Logout</Button>
`
page.signin = `
<h1>這是註冊頁!</h1>
<Button>Signin</Button>
`
ui.js
const ui = {}
ui.html = function (path, html) {
document.querySelector(path).innerHTML = html
}
ui.show = function (html) {
ui.html('#main', html)
}
將 jQuery 添加到您的網頁 有幾種方法可以在您的網站上開始使用 jQuery。你可以:
從 jQuery.com 下載 jQuery 庫 包含來自 CDN 的 jQuery,例如 Google 下載 jQuery 有兩個版本的 jQuery 可供下載:
生產版本 - 這是用於您的實時網站,因為它已被縮小和壓縮 開發版本 - 這是用於測試和開發(未壓縮和可讀代碼) 兩個版本都可以從jQuery.com下載。
jQuery 庫是單個 JavaScript 文件,您可以使用 HTML<script>標記引用它(請注意,該<script>標記應位於該
部分內):<head>
<script src="jquery-3.5.1.min.js"></script>
</head>
如果您不想自己下載和託管 jQuery,您可以從 CDN(內容交付網絡)中包含它。
谷歌是一個託管 jQuery 的人的例子:
谷歌 CDN:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
使用 Google 提供的託管 jQuery 的一大優勢:
許多用戶在訪問另一個站點時已經從 Google 下載了 jQuery。因此,當他們訪問您的網站時,它將從緩存中加載,從而縮短加載時間。此外,大多數 CDN 將確保一旦用戶從中請求文件,它將從最接近他們的服務器提供服務,這也導致更快的加載時間。
jQuery 動畫 - animate() 方法 jQueryanimate()方法用於創建自定義動畫。
句法:
$(selector).animate({params},speed,callback);
必需的 params 參數定義了要動畫化的 CSS 屬性。
可選的速度參數指定效果的持續時間。它可以採用以下值:“慢”、“快”或毫秒。
可選的回調參數是動畫完成後要執行的函數。
以下示例演示了該animate()方法的簡單使用;它將一個
例子
$("button").click(function(){
$("div").animate({left: '250px'});
});
默認情況下,所有 HTML 元素都有一個靜態位置,不能移動。 要操作位置,請記住首先將元素的 CSS 位置屬性設置為相對、固定或絕對!
請注意,可以同時對多個屬性進行動畫處理:
例子
$("button").click(function(){
$("div").animate({
left: '250px',
opacity: '0.5',
height: '150px',
width: '150px'
});
});
是否可以使用 animate() 方法操作所有 CSS 屬性?
是的,幾乎!但是,有一件重要的事情要記住:當與 animate() 方法一起使用時,所有屬性名稱都必須是駝峰式的:您需要編寫 paddingLeft 而不是 padding-left、marginRight 而不是 margin-right,等等。
此外,核心 jQuery 庫中不包含彩色動畫。 如果您想為顏色設置動畫,則需要從 jQuery.com下載 Color Animations 插件。
也可以定義相對值(該值是相對於元素的當前值)。這是通過將 += 或 -= 放在值前面來完成的:
例子
$("button").click(function(){
$("div").animate({
left: '250px',
height: '+=150px',
width: '+=150px'
});
});
您甚至可以將屬性的動畫值指定為“ show”、“ hide”或“ toggle”:
例子
$("button").click(function(){
$("div").animate({
height: 'toggle'
});
});
默認情況下,jQuery 帶有動畫隊列功能。
這意味著,如果您依次編寫多個animate()調用,jQuery 會使用這些方法調用創建一個“內部”隊列。然後它一個一個地運行動畫調用。
因此,如果您想依次執行不同的動畫,我們可以利用隊列功能:
示例 1
$("button").click(function(){
var div = $("div");
div.animate({height: '300px', opacity: '0.4'}, "slow");
div.animate({width: '300px', opacity: '0.8'}, "slow");
div.animate({height: '100px', opacity: '0.4'}, "slow");
div.animate({width: '100px', opacity: '0.8'}, "slow");
});
下面的例子首先將
示例 2
$("button").click(function(){
var div = $("div");
div.animate({left: '100px'}, "slow");
div.animate({fontSize: '3em'}, "slow");
});