文介紹了網(wǎng)頁編程中的按鈕使用方法。按鈕是網(wǎng)頁中最常用的控件之一,點(diǎn)擊后會(huì)觸發(fā)某些程序。即使沒有學(xué)習(xí)過編程,大家也應(yīng)該知道按鈕的概念。按鈕的最大功能是點(diǎn)擊后觸發(fā)程序。這篇文章主要介紹了如何在網(wǎng)頁中插入按鈕,并講解了按鈕的屬性和使用方法。
先來看看今天的實(shí)例效果。頁面被分為三部分:按鈕、按鈕和按鈕的共有屬性。
首先是普通按鈕,點(diǎn)擊后文本框的內(nèi)容發(fā)生了變化,但頁面并沒有刷新。接著是重置按鈕,點(diǎn)擊后文本框的內(nèi)容恢復(fù)到初始狀態(tài),但頁面仍然沒有刷新。提交按鈕點(diǎn)擊后,頁面重新加載,提交了表單中的內(nèi)容。
接著是按鈕,點(diǎn)擊后文本框的內(nèi)容發(fā)生了變化,但頁面沒有刷新。按鈕包含一個(gè)圖片且為灰色狀態(tài),無法點(diǎn)擊。
現(xiàn)在來看看實(shí)現(xiàn)的代碼。
輸入和按鈕的寫法非常相似,這里只展示了最基本的寫法。對(duì)于初學(xué)者來說,看一眼就明白了。
按鈕有三個(gè)類型:普通、重置和提交。按鈕的名稱和值會(huì)提交到服務(wù)器端。
提交時(shí)提交的是按鈕的值。ID和name是控制按鈕的命名。
點(diǎn)擊按鈕時(shí)會(huì)觸發(fā)onclick事件。autofocus屬性會(huì)在頁面加載完成后自動(dòng)獲取焦點(diǎn)。
disabled屬性可以設(shè)置按鈕是否可用,不設(shè)置時(shí)默認(rèn)可用。
form屬性用于設(shè)置提交到哪個(gè)URL、是否繞過驗(yàn)證、以及表單的相關(guān)設(shè)置。
相關(guān)屬性的優(yōu)先級(jí)高于在表單中設(shè)置的屬性。
以上就是今天的分享內(nèi)容,希望對(duì)大家有所幫助。import和button在網(wǎng)頁中插入按鈕的功能是相同的,兩者的外觀也沒有明顯的區(qū)別,但是它們的屬性設(shè)置卻存在一定的重疊。
為什么需要這兩個(gè)標(biāo)簽?zāi)兀慷⒗锇桶蜆?biāo)簽是HTML 5中新增加的標(biāo)簽,它的必要性體現(xiàn)在哪里呢?同學(xué)們要注意,阿里巴巴標(biāo)簽不是input,它不是一個(gè)封閉的標(biāo)簽,而是一個(gè)唯一的標(biāo)簽,可以包含文字或其他標(biāo)簽。
例如,可以使用阿里巴巴標(biāo)簽來插入圖片。注意,由于用戶使用的瀏覽器不同,底層的type值是必須填寫的,絕對(duì)不能使用默認(rèn)值。
今天的分享就到這里,希望各位同學(xué)能夠認(rèn)真練習(xí),做到不看視頻也能夠正確地寫出代碼。所有的案例和相關(guān)文檔都可以向我索取,下期再見,想學(xué)編程就關(guān)注我吧。
在遇到公祭日或其它特殊日子的時(shí)候,我們需要將我們的網(wǎng)站、小程序變成灰色(黑白)模式,如果是在網(wǎng)頁端比較簡(jiǎn)單,只需設(shè)置*、html最外層標(biāo)簽的樣式設(shè)置filter: grayscale(100%)即可。但是在小程序中如果直接設(shè)置page的樣式的話會(huì)導(dǎo)致小程序內(nèi)使用flex失效,布局出現(xiàn)錯(cuò)位的情況。
如何解決錯(cuò)位問題?以及如何通過服務(wù)端動(dòng)態(tài)控制灰色模式開關(guān)請(qǐng)看下文。
注:此方式無法控制非自定義導(dǎo)航欄顏色,如想要實(shí)現(xiàn)更完美的效果,請(qǐng)配合使用自定義導(dǎo)航欄。
原生小程序前端設(shè)置灰色模式:
wxml
<view class="grayscale">
<view class="content"></view>
...小程序代碼
</view>
wxss
.grayscale .content,
.grayscale text,
.grayscale button {
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
}
第三方UI組件/庫(如:vant)
.grayscale .van-goods-action,
.grayscale .van-submit-bar,
.grayscale .van-swipe-cell {
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
}
切忌直接設(shè)置
page {
filter: grayscale(100%);
}
小結(jié):簡(jiǎn)單來說,就是把樣式控制明確到具體的標(biāo)簽。
接下來講我們利用小程序的數(shù)據(jù)預(yù)拉取來實(shí)現(xiàn)動(dòng)態(tài)開關(guān)。
之所以選擇使用數(shù)據(jù)預(yù)拉取來控制,是因?yàn)榛疑J讲⒉皇俏覀內(nèi)粘_\(yùn)營所需,如果單獨(dú)封裝到一個(gè)請(qǐng)求中去,會(huì)造成不必要的資源浪費(fèi),而且數(shù)據(jù)預(yù)拉取會(huì)在用戶每次訪問小程序的時(shí)候都會(huì)執(zhí)行一次,所以能夠保證盡可能實(shí)時(shí)獲取到最新的狀態(tài),但是因?yàn)楸旧硪彩钱惒秸?qǐng)求,所以無法100%保證頁面加載完之前,就能夠?qū)崟r(shí)響應(yīng),所以返回的class并沒有直接設(shè)置在全局變量globalData中,而是先存到本地存儲(chǔ)Storage里,當(dāng)我們?cè)谛〕绦蚝笈_(tái)關(guān)閉數(shù)據(jù)預(yù)拉取后,小程序端便不會(huì)再去請(qǐng)求相關(guān)接口,這樣就做到了隨時(shí)控制開關(guān)的效果了。
app.js
App({
onLaunch: async function (options) {
// 此處用于服務(wù)端鑒權(quán),可根據(jù)自身情況設(shè)置
wx.setBackgroundFetchToken({
token: 'grayscale'
})
wx.onBackgroundFetchData((res) => {
if(res.fetchedData && res.fetchedData.class) {
wx.setStorageSync('class', res.fetchedData.class);
}
})
},
globalData: {
grayscale: wx.getStorageSync("class").grayscale || ""
}
})
需要灰色模式的wxml
<view class="{{grayscale}}">
<view class="content"></view>
...小程序代碼
</view>
需要灰色模式的js
const app = getApp()
Page({
data: {
grayscale: app.globalData.class.grayscale
}
})
服務(wù)端(node.js)接收到微信推送的get請(qǐng)求后返回?cái)?shù)據(jù)
ctx.body = {
class: {
grayscale: "grayscale"
}
}
PS:以上方案僅供參考,當(dāng)前方案在微信開發(fā)者工具中因緩存問題無法實(shí)時(shí)控制,iOS端基本上是沒什么大問題,如果其它更好的方案可自行處理。
人人都是產(chǎn)品經(jīng)理【起點(diǎn)學(xué)院】,BAT實(shí)戰(zhàn)派產(chǎn)品總監(jiān)手把手系統(tǒng)帶你學(xué)產(chǎn)品、學(xué)運(yùn)營。
產(chǎn)品設(shè)計(jì)時(shí)細(xì)節(jié)是產(chǎn)品經(jīng)理最頭疼的問題,一個(gè)button,一個(gè)鏈接都要考慮太多的細(xì)節(jié)問題。作者整理了常見的一些功能設(shè)計(jì)問題,一篇文章看懂這些功能設(shè)計(jì)。來學(xué)習(xí)吧。
鏈接也稱為超鏈接,所謂的超鏈接是指從一個(gè)網(wǎng)頁指向一個(gè)目標(biāo)的連接關(guān)系,這個(gè)目標(biāo)可以是另一個(gè)網(wǎng)頁,也可以是相同網(wǎng)頁上的不同位置,還可以是一個(gè)圖片,一個(gè)電子郵件地址,一個(gè)文件,甚至是一個(gè)應(yīng)用程序。而在一個(gè)網(wǎng)頁中用來超鏈接的對(duì)象,可以是一段文本或者是一個(gè)圖片。當(dāng)瀏覽者單擊已經(jīng)鏈接的文字或圖片后,鏈接目標(biāo)將顯示在瀏覽器上,并且根據(jù)目標(biāo)的類型來打開或運(yùn)行。
鏈接可以是一個(gè)字或是一段字這樣的文本,也可以是一個(gè)按鈕,一張圖片,當(dāng)你點(diǎn)擊后跳轉(zhuǎn)到另一個(gè)目標(biāo),當(dāng)你把鼠標(biāo)指針移到某個(gè)鏈接時(shí)會(huì)變成一個(gè)小手,當(dāng)然在手機(jī)上沒有這一特點(diǎn)。
文本樣式的鏈接一般在搜索引擎的網(wǎng)站呈現(xiàn)藍(lán)色字樣,大多會(huì)在下面加上下劃線以便識(shí)別,不過現(xiàn)如今考慮到不影響文本的可讀性與用戶體驗(yàn),逐漸取消了下劃線。而在一些別的網(wǎng)站考慮到界面設(shè)計(jì)風(fēng)格各方面的因素而不用藍(lán)色。
谷歌的文本鏈接是藍(lán)色,沒有下劃線
百度的文本鏈接也是藍(lán)色,關(guān)鍵詞是紅色,有下劃線
而京東的文本鏈接有灰色,有白色,有黑色
按鈕樣式的鏈接比文本樣式的更容易識(shí)別,每一個(gè)按鈕都是一樣鏈接。
按鈕樣式鏈接
圖片樣式的鏈接可以是單獨(dú)的一張圖片,也可以是文字與按鈕一起組成一張圖片,只是鼠標(biāo)指針掃過圖片的任何一個(gè)部位都會(huì)變成小手。
如桌面彈出這種游戲小窗口的圖片式鏈接
由文字/圖/按鈕樣式一起構(gòu)成的一張圖片式按鈕,鼠標(biāo)可以點(diǎn)擊圖中任何一部位
鏈接打開的方式有三種:第一種是在當(dāng)前頁面刷新跳轉(zhuǎn),國外的網(wǎng)站大多是這樣的打開式;第二種是在新標(biāo)簽頁面打開鏈接,國內(nèi)大多采用這種;第三種是提示用APP打開。當(dāng)然現(xiàn)在出現(xiàn)了一種新的打開方式,那就是二維碼掃描。
提示用美拍APP打開
按照連接路徑的不同,網(wǎng)頁中超鏈接一般分為以下3種類型:內(nèi)部鏈接,錨點(diǎn)鏈接和外部鏈接。
鏈接還可以分為動(dòng)態(tài)鏈接和靜態(tài)鏈接。動(dòng)態(tài)超鏈接指的是可以通過改變HTML代碼來實(shí)現(xiàn)動(dòng)態(tài)變化的鏈接,例如我們可以實(shí)現(xiàn)將鼠標(biāo)移動(dòng)到某個(gè)文字鏈接上,文字就會(huì)象動(dòng)畫一樣動(dòng)起來或改變顏色的效果,也可以實(shí)現(xiàn)鼠標(biāo)移到圖片上圖片就產(chǎn)生反色或朦朧等等的效果。而靜態(tài)鏈接,顧名思義,就是沒有動(dòng)態(tài)效果的鏈接。
與外部鏈接(即反向鏈接)相反,內(nèi)部鏈接是指同一網(wǎng)站域名下的內(nèi)容頁面之間互相鏈接。如頻道、欄目、終極內(nèi)容頁之間的鏈接,乃至站內(nèi)關(guān)鍵詞之間的Tag鏈接都可以歸類為內(nèi)部鏈接,因此內(nèi)部鏈接我們也可以稱之為站內(nèi)鏈接,對(duì)內(nèi)部鏈接的優(yōu)化其實(shí)就是對(duì)網(wǎng)站的站內(nèi)鏈接的優(yōu)化。
HTML中的鏈接,正確的說法應(yīng)該稱作"錨點(diǎn)",它命名錨點(diǎn)鏈接(也叫書簽鏈接)常常用于那些內(nèi)容龐大繁瑣的網(wǎng)頁,通過點(diǎn)擊命名錨點(diǎn),不僅讓我們能指向文檔,還能指向頁面里的特定段落,更能當(dāng)作"精準(zhǔn)鏈接"的便利工具,讓鏈接對(duì)象接近焦點(diǎn)。便于瀏覽者查看網(wǎng)頁內(nèi)容。類似于我們閱讀書籍時(shí)的目錄頁碼或章回提示。在需要指定到頁面的特定部分時(shí),標(biāo)記錨點(diǎn)是最佳的方法。
外部鏈接,又常被稱為:“反向鏈接”或“導(dǎo)入鏈接”,是指通過其他網(wǎng)站鏈接到你的網(wǎng)站的鏈接。
外部鏈接指的是針對(duì)搜索引擎,與其它站點(diǎn)所做的友情鏈接。高質(zhì)量的外部鏈接指:和你的網(wǎng)站建立鏈接的網(wǎng)站知名度高,訪問量大,同時(shí)相對(duì)的外部鏈接較少,有助于快速提升你的網(wǎng)站知名度和排名的其他網(wǎng)站的友情鏈接。
如果按照使用對(duì)象的不同,網(wǎng)頁中的鏈接又可以分為:文本超鏈接,圖像超鏈接,E-mail鏈接,錨點(diǎn)鏈接,多媒體文件鏈接,空鏈接等。
鏈接是一種對(duì)象,它以特殊編碼的文本或圖形的形式來實(shí)現(xiàn)鏈接,如果單擊該鏈接,則相當(dāng)于指示瀏覽器移至同一網(wǎng)頁內(nèi)的某個(gè)位置,或打開一個(gè)新的網(wǎng)頁,或打開某一個(gè)新的WWW網(wǎng)站中的網(wǎng)頁。
鏈接在交互上一般會(huì)呈現(xiàn)4種狀態(tài),即默認(rèn)狀態(tài)/懸停時(shí)狀態(tài)/點(diǎn)擊時(shí)狀態(tài)/點(diǎn)擊后狀態(tài)。比如谷哥網(wǎng)站的交互體驗(yàn)。如下圖:
點(diǎn)擊前
懸停時(shí),下面浮現(xiàn)半透明線條
點(diǎn)擊時(shí),有波紋暈開的動(dòng)態(tài)效果
點(diǎn)擊后,下面線條粗
有時(shí)候是3種狀態(tài),比如百度網(wǎng)和知乎應(yīng)用:
默認(rèn)狀態(tài)
點(diǎn)擊時(shí)鏈接變紅
點(diǎn)擊后鏈接變成紫色
IOS系統(tǒng)知乎應(yīng)用的3種狀態(tài),而在Android系統(tǒng)沒有用力點(diǎn)擊這一狀態(tài)。
默認(rèn)狀態(tài)
點(diǎn)擊狀態(tài)
用力點(diǎn)擊會(huì)彈出預(yù)覽小窗口
有些時(shí)候只有2種狀態(tài),如下圖谷歌網(wǎng):
默認(rèn)和點(diǎn)擊后狀態(tài)一樣
鼠標(biāo)懸停時(shí)出現(xiàn)下劃線
默認(rèn)狀態(tài)
點(diǎn)擊時(shí)
而有時(shí)候比如在APP里有時(shí)候就一直只有一種狀態(tài),也可以稱靜態(tài)鏈接,之前的可以稱之為動(dòng)態(tài)鏈接。在不同的使用場(chǎng)景會(huì)因?yàn)楫?dāng)時(shí)的情況選擇最合適的交互體驗(yàn)設(shè)計(jì)。有的情況下還會(huì)加上點(diǎn)擊的音效,使用戶體驗(yàn)更暢快,這在移動(dòng)端用的使用情況多一些。
總之鏈接是網(wǎng)頁不可缺少的構(gòu)成部分,每一個(gè)鏈接的呈現(xiàn)都是經(jīng)過深思熟慮的。
作者:潘瑤瓊(簡(jiǎn)書作者)
本文由 @潘瑤瓊 授權(quán)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。