久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

使用js實(shí)現(xiàn)碰撞檢測的方法-創(chuàng)新互聯(lián)

本篇文章為大家展示了使用js 實(shí)現(xiàn)碰撞檢測的方法,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

云巖ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

代碼實(shí)例

<div id="box" ></div>
<div id="box2" ></div>

(function () {
	var dragging = false
	var boxX, boxY, mouseX, mouseY, offsetX, offsetY
	var box = document.getElementById('box')
	var box2 = document.getElementById('box2')
	var box2X, box2Y

	// 鼠標(biāo)按下的動(dòng)作
	box.onmousedown = down
	// 鼠標(biāo)的移動(dòng)動(dòng)作
	document.onmousemove = move
	// 釋放鼠標(biāo)的動(dòng)作
	document.onmouseup = up

	// 鼠標(biāo)按下后的函數(shù),e為事件對(duì)象
	function down(e) {
		dragging = true
		
		// 獲取元素所在的坐標(biāo)
		boxX = box.offsetLeft
		boxY = box.offsetTop

		// 獲取元素box2所在的坐標(biāo)
		box2X = box2.offsetLeft
		box2Y = box2.offsetTop

		// 獲取鼠標(biāo)所在的坐標(biāo)
		mouseX = parseInt(getMouseXY(e).x)
		mouseY = parseInt(getMouseXY(e).y)

		// 鼠標(biāo)相對(duì)元素左和上邊緣的坐標(biāo)
		offsetX = mouseX - boxX
		offsetY = mouseY - boxY
	}

	// 鼠標(biāo)移動(dòng)調(diào)用的函數(shù)
	function move(e){
		if (dragging) {
			// 獲取移動(dòng)后的元素的坐標(biāo)
			var x = getMouseXY(e).x - offsetX
			var y = getMouseXY(e).y - offsetY

			// 計(jì)算可移動(dòng)位置的大小, 保證元素不會(huì)超過可移動(dòng)范圍
			var width = document.documentElement.clientWidth - box.offsetWidth
			var height = document.documentElement.clientHeight - box.offsetHeight

			// min方法保證不會(huì)超過右邊界,max保證不會(huì)超過左邊界
			x = Math.min(Math.max(0, x), width)
			y = Math.min(Math.max(0, y), height)

			// 給元素及時(shí)定位
			box.style.left = x + 'px'
			box.style.top = y + 'px'

			// 碰撞檢測
			// x坐標(biāo)值的范圍判斷,y坐標(biāo)值的范圍判斷
			var judge_x = (x >= box2X - box2.offsetWidth) && (x <= box2X + box2.offsetWidth)
			var judge_y = (y >= box2Y - box2.offsetHeight) && (y <= box2Y + box2.offsetHeight)
			if (judge_x && judge_y) {
				console.log("碰撞到")
			}
		}
	}

	// 釋放鼠標(biāo)的函數(shù)
	function up(e){
		dragging = false
	}

	// 函數(shù)用于獲取鼠標(biāo)的位置
	function getMouseXY(e){
		var x = 0, y = 0
		e = e || window.event
		
		if (e.pageX) {
			x = e.pageX
			y = e.pageY
		} else {
			x = e.clientX + document.body.scrollLeft - document.body.clientLeft
			y = e.clientY + document.body.scrollTop - document.body.clientTop
		}
		return {
			x: x,
			y: y
		}
	}
})()

當(dāng)前名稱:使用js實(shí)現(xiàn)碰撞檢測的方法-創(chuàng)新互聯(lián)
文章位置:http://www.sd-ha.com/article28/dojpjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)建站公司、軟件開發(fā)網(wǎng)站策劃、網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)

廣告

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

微信小程序開發(fā)