六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

HTML5完成拖拽技巧步驟詳細說明

[摘要]這篇文章主要介紹了HTML5實現拖拽功能步驟詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧問題:突然奇想,想在電影網上加一個收藏(類似于購物車的東西),可以通過拖拽圖片進行添加前提:需要了解HTML5中國Loacl Strorage(當然,其他的web存儲也行,我...
這篇文章主要介紹了HTML5實現拖拽功能步驟詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

問題:突然奇想,想在電影網上加一個收藏(類似于購物車的東西),可以通過拖拽圖片進行添加

前提:需要了解HTML5中國Loacl Strorage(當然,其他的web存儲也行,我用的是Local Stroage)

解決:這里主要重點強調關于進行拖拽功能的細節,具體html和css就自己慢慢弄吧

  1. 首先這里先是對收藏按鈕進行點擊顯示新的p框(存放收藏的電影),二次點擊隱藏p框,這里不做過多介紹

  2. 為可以進行拖拽的圖片進行設置屬性:draggable屬性和ondragstart事件

var pic_list=document.getElementsByClassName("middle_content")[0];
	var pic_list_li=pic_list.getElementsByTagName("li");
	for(var i=0;i<pic_list_li.length;i++){
		var image=pic_list_li[i].getElementsByTagName("img")[0];
		image.setAttribute("draggable",true);
		image.ondragstart=drag;

我這里的代碼就是獲取所選要拖拽圖片的父元素,然后進行遍歷,將每一個img都設置屬性和事件

3.分別編寫進行拖拽時的函數和拖拽完成的函數

//設置拖拽效果
function drag(e){
	e=e  event;
	e.dataTransfer.effectAllowed = "copy";
	//IE需通過服務器訪問方式,FF、chrome支持本地方式進行訪問
	e.dataTransfer.setData("text", e.target.src);			//IE兼容寫法
	//e.dataTransfer.setData("text/plain", e.target.src);	//標準寫法
}

“copy”那就是字面意思,復制一份當然的data,當然還有其他的屬性值,這里就不做進一步解釋

//拖拽釋放效果
function drop(e){
	//方式拖拽事件傳播
	allowDrop(e);
	//從拖拽事件中獲取數據
	var data=e.dataTransfer.getData("text");
	//e.target.id=="dropdown",表示目標對象是p(dropdown)
	//e.target.parentNode.id=="dropdown"表示目標對象是dropdown的直接子元素UL
	//e.target.parentNode.parentNode.id=="dropdown" 表示目標對象是UL中的LI
	//e.target.parentNode.parentNode.parentNode.id=="dropdown"表示目標對是<a>元素
	//e.target.parentNode.parentNode.parentNode.parentNode.id=="dropdown"表示目標對象是<img>元素
	if(e.target.id=="dropdown"    e.target.parentNode.id=="dropdown" 
		   e.target.parentNode.parentNode.id=="dropdown" 
		   e.target.parentNode.parentNode.parentNode.id=="dropdown" 
		   e.target.parentNode.parentNode.parentNode
			.parentNode.id=="dropdown"){
		//從localStorage中嘗試根據Src讀取數據
		var newFilms=readFromStorage(data);
		if (newFilms==null){
			films.filmsSrc=data;
		}
		//把處理后的商品信息存儲到localStorage
		localStorage.setItem(data, JSON.stringify(films));
		//重新加載并刷新頁面中的collect
		document.getElementsByClassName("dropdown")[0].innerHTML=loadCollect();
	}
}

4.上述代碼中有關于key值讀取localstrorage的值,我將其封裝成了json對象,因為后期可能數據會增多,比如,不僅僅是加入圖片的src,還有可能是有關圖片的介紹,例如,導演,演員,簡介之類的信息,這時,用json對象會相對于更好一些

所有需要將讀取的localstroage值封裝成json對象

//根據key讀取localStorage的值并封裝成JSON
function readFromStorage(key){
	var jsonStr=localStorage.getItem(key);
	var newFilms=JSON.parse(jsonStr);
	return newFilms;
}

5。其實在這里,這個拖拽的功能就相當于是實現了

相關推薦:

原生js實現拖拽功能基本思路

如何在vue中實現拖拽功能

WPF實現拖拽功能

以上就是HTML5實現拖拽功能步驟詳解的詳細內容,更多請關注php中文網其它相關文章!


網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。




主站蜘蛛池模板: 又硬又粗又长又爽免费看 | 亚洲伊人久久大香线蕉综合图片 | 日韩精品视频美在线精品视频 | 色婷婷一区二区三区四区成人网 | 色香色香欲天天天影视综合网 | 亚洲精品91大神在线观看 | 午夜国产精品不卡在线观看 | 亚洲色网址 | 欧洲一区 | 日韩欧美小视频 | 四虎精品影院永久在线播放 | 中日韩一线二线三线视频 | 台湾美性中文娱乐网 | 青娱在线 | 亚洲狼网站狼狼鲁亚洲下载 | 在线免费h视频 | 一级做a爰性色毛片免费 | 亚欧乱色视频小说 | 亚洲欧美成人 | 天天干天天做天天射 | 天天舔天天 | 日韩一级片在线播放 | 日本性网| 青春久草 | 啪啪免费网站 | 欧美最猛性 | 午夜视频在线免费看 | 亚洲欧美风情 | 热久久中文字幕 | 日本欧美人xxxxx在线观看 | 王者天下第五季在线观看 | 日日摸夜夜添夜夜爽免费视频 | 五月激情五月婷婷 | 无人精品乱码一区二区三区 | 五月天天 | 伊人色婷婷 | 日本无卡码一区二区三区 | 五月婷婷导航 | 最新四虎4hu影库地址在线 | 四虎午夜 | 日韩在线视频导航 |