中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

html5滑動刪除,html5清除浮動

html5怎么實現(xiàn)頁面左右滑動(下圖區(qū)域),可以左右滑動但不需要換頁

1、創(chuàng)建兩個html文件,一個test一個test2。

溫泉網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

2、打開test頁面,在里面創(chuàng)建一個div,并給其添加onmousedown與move方法。

3、打開后我們發(fā)現(xiàn)是一個棕綠的頁面。

4、定義兩個變量,startx為鼠標(biāo)按下的坐標(biāo),endx為鼠標(biāo)移動的坐標(biāo)。

5、實現(xiàn)鼠標(biāo)點(diǎn)擊執(zhí)行的down方法,在里面通過clientX獲得鼠標(biāo)按下坐標(biāo),并賦值給startx。

6、接著在實現(xiàn)鼠標(biāo)移動的move方法,獲得鼠標(biāo)移動的坐標(biāo),并通過startx與endx相減判斷是否向左邊滑動大于30的距離,是的話就切換到test2頁面。

7、現(xiàn)在我們打開test頁面,向左滑動會提示切換頁面(這個可以去除),確定后就切換到了test2頁面,向右滑動切換的方法同理。

寫一個js向左滑動刪除 交互特效的插件 刪除事件怎么添加

使用了h5的touchmove等事件,以及用js動態(tài)改變css3的translate屬性來達(dá)到動畫效果:

!DOCTYPE html

html lang="en"

head

meta charset="UTF-8"

meta name="viewport" id="viewport" content="width=device-width, initial-scale=1"

titlehtml5向左滑動刪除特效/title

style

* {

padding: 0;

margin: 0;

list-style: none;

}

header {

background: #f7483b;

border-bottom: 1px solid #ccc

}

header h2 {

text-align: center;

line-height: 54px;

font-size: 16px;

color: #fff

}

.list-ul {

overflow: hidden

}

.list-li {

line-height: 60px;

border-bottom: 1px solid #fcfcfc;

position: relative;

padding: 0 12px;

color: #666;

background: #f2f2f2;

-webkit-transform: translateX(0px);

}

.btn {

position: absolute;

top: 0;

right: -80px;

text-align: center;

background: #ffcb20;

color: #fff;

width: 80px

}

/style

script

/*

* 描述:html5蘋果手機(jī)向左滑動刪除特效

*/

window.addEventListener('load', function() {

var initX; //觸摸位置

var moveX; //滑動時的位置

var X = 0; //移動距離

var objX = 0; //目標(biāo)對象位置

window.addEventListener('touchstart', function(event) {

event.preventDefault();

var obj = event.target.parentNode;

if (obj.className == "list-li") {

initX = event.targetTouches[0].pageX;

objX = (obj.style.WebkitTransform.replace(/translateX\(/g, "").replace(/px\)/g, "")) * 1;

}

if (objX == 0) {

window.addEventListener('touchmove', function(event) {

event.preventDefault();

var obj = event.target.parentNode;

if (obj.className == "list-li") {

moveX = event.targetTouches[0].pageX;

X = moveX - initX;

if (X = 0) {

obj.style.WebkitTransform = "translateX(" + 0 + "px)";

} else if (X 0) {

var l = Math.abs(X);

obj.style.WebkitTransform = "translateX(" + -l + "px)";

if (l 80) {

l = 80;

obj.style.WebkitTransform = "translateX(" + -l + "px)";

}

}

}

});

} else if (objX 0) {

window.addEventListener('touchmove', function(event) {

event.preventDefault();

var obj = event.target.parentNode;

if (obj.className == "list-li") {

moveX = event.targetTouches[0].pageX;

X = moveX - initX;

if (X = 0) {

var r = -80 + Math.abs(X);

obj.style.WebkitTransform = "translateX(" + r + "px)";

if (r 0) {

r = 0;

obj.style.WebkitTransform = "translateX(" + r + "px)";

}

} else { //向左滑動

obj.style.WebkitTransform = "translateX(" + -80 + "px)";

}

}

});

}

})

window.addEventListener('touchend', function(event) {

event.preventDefault();

var obj = event.target.parentNode;

if (obj.className == "list-li") {

objX = (obj.style.WebkitTransform.replace(/translateX\(/g, "").replace(/px\)/g, "")) * 1;

if (objX -40) {

obj.style.WebkitTransform = "translateX(" + 0 + "px)";

objX = 0;

} else {

obj.style.WebkitTransform = "translateX(" + -80 + "px)";

objX = -80;

}

}

})

})

/script

/head

body

header

h2消息列表/h2

/header

section class="list"

ul class="list-ul"

li id="li" class="list-li"

div class="con"

你的快遞到了,請到樓下簽收

/div

div class="btn"刪除/div

/li

li class="list-li"

div class="con"

哇,你在干嘛,快點(diǎn)來啊就等你了

/div

div class="btn"刪除/div

/li

/ul

/section

/body

/html

HTML5重點(diǎn)內(nèi)容總結(jié)

一、 HTML5新增的標(biāo)簽

(1)header nav main? footer? section article hgroup? figure figcaption? aside?

video? audio canvas

? ? ? ? ? ? (2)如何讓新標(biāo)簽兼容低版本瀏覽器:? html5shiv.js

二、 HTML5新增的表單控件

一、表單控件的新屬性

? ? ? ? input type="text"? placeholder=""? required? autofocus? pattern="abc"

二、新增的表單控件

(1)input type="email"

(2)input type="url"

? (3)數(shù)字控件:? type="number"

? (4)? 滑動組件:? type="range"

? (5)? 拾色器:? ? ? type="color"

? (6)? 日期控件:? ? type="date"

三、本地存儲

1、 三種本地存儲 :? cookie webStorage(localStorage? sessionStorage)

2、localStorage的API

? (1)寫入:? localStorage.setItem(鍵,值);? //值只能是字符串

? localStorage.user = "123" localStorage["user"] = "123"

? (2)讀取? var user = localStorage.getItem("user")

? ? ? ? ? ? ? var user = localStorage.user;

? ? (3)刪除:? localStorage.removeItem("user")? ? localStorage.clear()

? ? (4)修改:? localStorage.setItem("user","890")

3、sessionStorage的API

sessionStorage.setItem(鍵,值);

? ? sessionStorage.getItem(鍵);

? ? sessionStorage.removeItem(鍵);

sessionStorage.clear();

**********重點(diǎn)**********

? 4、cookie webStorage(localStorage? sessionStorage)三者的區(qū)別

四、離線存儲

(1) *.manifest? (*.appcache)?

? ? ? index.html? html manifest="*.manifest"

(2) 理解離線存儲的更新方式

五、移動端的布局思路:

1、設(shè)備像素比(倍率)? 邏輯像素尺寸 (360px? 320px? 375px? 414px)

? ? ? ? window.devicePixelRatio

? ? 2、 meta name="viewport" content="width=device-width,maximum-

scale=1.0,minimum-scale=1.0,initial-scale=1.0,user-scalable=no""

3、使用rem單位

六、地理定位

if (navigator.geolocation){?

? ? ? ? navigator.geolocation.getCurrentPosition(success,error,{

? ? ? ? ? ? timeout: 5000

? ? ? ? });

? ? ? ? function success(pos){

? ? ? ? ? ? 緯度:? pos.coords.latitute

? ? ? ? ? ? 經(jīng)度:? pos.coords.longtitude

? ? ? ? }

? ? }

? ? navigator.geolocation.watchPosition(success);

七、地理定位和百度地圖API的結(jié)合

八、視頻,音頻? video autoplay="autoplay" controls="controls" loop="loop" poster=""

preload="preload"? audio

九、移動端事件:?

(1) ontouchstart? ontouchmove? ontouchend

(2) 如何判斷是否為移動端:? if ("ontouchstart" in document){}

? ? (3) 移動端事件的事件對象及常用屬性

? ? ? e.touches[0].clientX? e.touches[0].clientY? e.touches[0].target

? (4) 移動端常見問題及解決方案:

a、 click事件 300ms的延遲:? 1zepto的tap事件? (2) fastclick.js

b、 zepto的tap事件有點(diǎn)透問題 :? (1) fastclick.js

? ? (5) zepto的touch模塊:? tap? singleTap? doubleTap? longTap?

? ? ? ? ? ? swipeLeft? swipeRight? swipeUp? swipeDown

十、swiper.js的使用? (參考官網(wǎng))

十一、 canvas

(1)? canvas width="600" id="can"/canvas? ? 300*150

? (2)? var can = document.getElementById("can");

? var cxt = can.getContext("2d");

cxt.beginPath();

cxt.moveTo(100,200);

cxt.lineTo(200,400);

? ? ? ? ? cxt.strokeStyle = '#f00';

cxt.stroke();

? ? ? ? ? ? ? cxt.clearRect(0,0,200,300);

? ? ? ? ? ? ? context.globalCompositeOperation="destination-out";? (了解)

如何實現(xiàn)列表滑動刪除按鈕

使用Ionic這種框架偉大的地方在于用戶界面元素默認(rèn)準(zhǔn)備好了,意味著你可以設(shè)計更好的app而不需要很強(qiáng)的用戶體檢設(shè)計背景,而且讓你可以更容易實現(xiàn)這些模式。

這篇教程將展示如何使用Ionic2添加一個簡單的刪除按鈕到列表,當(dāng)用戶滑動列表項到左邊的時候。這是一個處理刪除列表數(shù)據(jù)時候常用的模式。本教程將涵蓋創(chuàng)建這個滑動刪除按鈕所需要的一切。

刪除例子

1.創(chuàng)建Ionic2應(yīng)用

通過以下命令行語句創(chuàng)建新的Ionic2應(yīng)用:

ionic start ionic2-delete blank --v2

這里我使用了–v2標(biāo)志位,為了告訴Ionic命令行我們創(chuàng)建的是Ionic2項目。

2.準(zhǔn)備列表數(shù)據(jù)

我們需要一些維護(hù)數(shù)據(jù),因此要建立一些試驗數(shù)據(jù)。創(chuàng)建我們項目的blank模版默認(rèn)建立了一個Home組件,這個教程我們就在此基礎(chǔ)上修改。

既然Ionic2還很新,我將這些步驟盡量闡述詳細(xì),下面我們看看app/home/home.js文件:

import {Page} from 'ionic/ionic'

倫理片

@Page({

templateUrl: 'app/home/home.html',

})

export class HomePage {

constructor() {}

}

constructor 方法在組件創(chuàng)建是執(zhí)行,因此我們在這里準(zhǔn)備試驗數(shù)據(jù)。你可能已經(jīng)注意到我們已經(jīng)給這個組件定義了模版,隨后將展示如何在模版中使用在這里添加的數(shù)據(jù)。

home.js 文件修改如下:

import {Page} from 'ionic/ionic'

@Page({

templateUrl: 'app/home/home.html',

})

export class HomePage {

constructor() {

this.items = [

{title: 'item1'},

{title: 'item2'},

{title: 'item3'},

{title: 'item4'},

{title: 'item5'},

{title: 'item6'}

];

}

}

現(xiàn)在我們有一些數(shù)據(jù)可以刪除了。

3.修改主頁(HOME)的模版

接下來我們編輯home.html來建立模版?,F(xiàn)在的模版是包含一些創(chuàng)建ion-card的代碼,而我們要用ion-list來代替:

修改 home.html如下:

ion-navbar *navbar

ion-title

Home

/ion-title

/ion-navbar

ion-content

ion-list

ion-item

I'm just a plain old item in a list...

/ion-item

/ion-list

/ion-content

這只是創(chuàng)建了只有一個單項的列表,接著我們將添加滑動元素。

繼續(xù)修改home.html如下:

ion-navbar *navbar

ion-title

Home

/ion-title

/ion-navbar

ion-content

ion-list

ion-item-sliding

ion-item

Swipe me to the left

/ion-item

ion-item-options

button danger (click)="removeItem()"icon trash/icon Delete/button

/ion-item-options

/ion-item-sliding

/ion-list

/ion-content

通過上下對比,你應(yīng)該看到:我們用ion-item-sliding替換了ion-item 。這允許我們創(chuàng)建一個ion-item-options 部件,當(dāng)用戶滑動列表元素時,它將顯示出來。

這段代碼還創(chuàng)建了一個刪除按鈕,當(dāng)ion-item-options部件顯示出來時,可以點(diǎn)擊按鈕,這時會觸發(fā)類中定義的removeItem (暫無,接下來添加)。另外,我們不止是一個單項,我們要為我們創(chuàng)建的數(shù)組的每一個數(shù)據(jù)創(chuàng)建滑動項,這里我使用ng-for。

還是修改home.html如下:

ion-navbar *navbar

ion-title

Home

/ion-title

/ion-navbar

ion-content

ion-list

ion-item-sliding *ng-for="#item of items"

ion-item

{{item.title}}

/ion-item

ion-item-options

button danger (click)="removeItem(item)"icon trash/icon Delete/button

/ion-item-options

/ion-item-sliding

/ion-list

/ion-content

現(xiàn)在我們循環(huán)在類中定義的items數(shù)組的每個item項,然后為每個項創(chuàng)建一個 ion-item-sliding指令。注意我們使用的是#item而不是item。這將創(chuàng)建一個本地引用到迭代獲得的item,這讓我們可以使用 { {item.title} } 輸出標(biāo)題,它還允許我們傳遞item的引用到我們的 removeItem 函數(shù)。

我們現(xiàn)在有了一個列表包含所有數(shù)據(jù),用戶可以滑動并顯示出一個delete按鈕?,F(xiàn)在剩下的是當(dāng)用戶點(diǎn)擊時做點(diǎn)什么事。因此我們設(shè)置一個簡單監(jiān)聽以便調(diào)用方法從我們先前創(chuàng)建的測試數(shù)據(jù)中刪除一項。

4.創(chuàng)建方法刪除數(shù)據(jù)

現(xiàn)在我們?nèi)サ?home.js 文件編寫方法處理數(shù)據(jù)刪除。當(dāng)前但刪除按鈕被點(diǎn)擊時傳送一個數(shù)據(jù)項給 removeItem。類似的,你可以非常容易的實現(xiàn)例如刪除、編輯、分享、播放動畫等你需要的東西,不僅是刪除。

修改 home.js 如下:

import {Page} from 'ionic/ionic'

@Page({

templateUrl: 'app/home/home.html',

})

export class HomePage {

constructor() {

this.items = [

{title: 'item1'},

{title: 'item2'},

{title: 'item3'},

{title: 'item4'},

{title: 'item5'},

{title: 'item6'}

];

}

removeItem(item){

for(i = 0; i this.items.length; i++) {

if(this.items[i] == item){

this.items.splice(i, 1);

}

}

}

}

現(xiàn)在你向左側(cè)滑動列表項,然后點(diǎn)擊刪除按鈕,它就會從列表中刪除。就像下面這樣:

刪除例子

5.添加一個編輯按鈕

這里將不會將Edit按鈕的全過程走一遍,但是你可以輕易擴(kuò)展活動項并添加編輯按鈕,如下所示:

ion-item-options

button primaryEdit/button

button danger (click)="removeItem(item)"icon trash/icon Delete/button

/ion-item-options

現(xiàn)在滑動時你有兩個按鈕了,看下面:

添加編輯按鈕

然后你可以編寫Edit按鈕的點(diǎn)擊事件了,具體取決于你的需求。

html5點(diǎn)擊刪除按鈕去刪除table中的一行為什么沒有反應(yīng)?

?script?type="text/javascript"

function?getData()?{

var?listNo?=?document.getElementById('listNo').value;

var?batchNum?=?document.getElementById('batchNum').value;

var?classNo?=?document.getElementById('classNo').value;

var?exp?=?document.getElementById('exp').value;

var?number?=?document.getElementById('number').value;

var?per?=?[

{?listNo1:?listNo,?batchNum1:?batchNum,?classNo1:?classNo,?exp1:?exp,?number1:?number?},

];

var?tbody?=?document.getElementById('tbMain');

for?(var?i?=?0;?i??per.length;?i++)?{?//遍歷一下json數(shù)據(jù)

var?trow?=?getDataRow(per[i]);?//定義一個方法,返回tr數(shù)據(jù)

tbody.appendChild(trow);

}

}

function?getDataRow(h)?{

var?row?=?document.createElement('tr');?//創(chuàng)建行

var?listNoCell?=?document.createElement('td');?//創(chuàng)建第一列l(wèi)istNo

listNoCell.innerHTML?=?h.listNo1;?//填充數(shù)據(jù)

row.appendChild(listNoCell);?//加入行?,下面類似

var?batchNumCell?=?document.createElement('td');//創(chuàng)建第二列batchNum

batchNumCell.innerHTML?=?h.batchNum1;

row.appendChild(batchNumCell);

var?classNoCell?=?document.createElement('td');//創(chuàng)建第三列classNo

classNoCell.innerHTML?=?h.classNo1;

row.appendChild(classNoCell);

var?expCell?=?document.createElement('td');//創(chuàng)建第四列exp

expCell.innerHTML?=?h.exp1;

row.appendChild(expCell);

var?numberCell?=?document.createElement('td');//創(chuàng)建第五列number

numberCell.innerHTML?=?h.number1;

row.appendChild(numberCell);

//到這里,json中的數(shù)據(jù)已經(jīng)添加到表格中,下面為每行末尾添加刪除按鈕

var?delCell?=?document.createElement('td');//創(chuàng)建第六列,操作列

row.appendChild(delCell);

var?btnDel?=?document.createElement('input');?//創(chuàng)建一個input控件

btnDel.setAttribute('type',?'button');?//type="button"

btnDel.setAttribute('value',?'刪除');

btnDel.setAttribute('onclick',?'delete1(this)');

delCell.appendChild(btnDel);?//把刪除按鈕加入td

//刪除操作

return?row;?//返回tr數(shù)據(jù)

}

function?delete1(obj)?{

if?(confirm("確定刪除這一行嘛?"))?{

//找到按鈕所在行的節(jié)點(diǎn),然后刪掉這一行

obj.parentNode.parentNode.remove()

//?obj.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode);

//var?curRow?=?obj.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.rowIndex;

//?tbMain.deleteRow(curRow);

//btnDel?-?td?-?tr?-?tbody?-?刪除(tr)

//刷新網(wǎng)頁還原。實際操作中,還要刪除數(shù)據(jù)庫中數(shù)據(jù),實現(xiàn)真正刪除

}

};

/script

?請采納

網(wǎng)站標(biāo)題:html5滑動刪除,html5清除浮動
文章出自:http://m.rwnh.cn/article4/phpdie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、營銷型網(wǎng)站建設(shè)響應(yīng)式網(wǎng)站、全網(wǎng)營銷推廣網(wǎng)站設(shè)計、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
舒城县| 沙河市| 河曲县| 景德镇市| 崇信县| 望江县| 游戏| 吉林市| 德清县| 阳泉市| 通道| 江口县| 察隅县| 克拉玛依市| 会宁县| 天峨县| 化州市| 二连浩特市| 定安县| 嘉荫县| 晋江市| 民和| 平南县| 鄂尔多斯市| 天气| 凤阳县| 高邮市| 昆山市| 大邑县| 泸西县| 长武县| 普陀区| 右玉县| 安仁县| 瑞丽市| 清流县| 高碑店市| 昌邑市| 天台县| 英超| 三原县|