国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

js鼠標跟隨運動效果

2024-05-06 16:35:45
字體:
供稿:網(wǎng)友

本文實例為大家分享了js鼠標跟隨效果展示的具體代碼,供大家參考,具體內(nèi)容如下

1、使用命令創(chuàng)建基本結(jié)構(gòu)ul.cursorPlay#cursorPlay>li*12>a>img+div>span
2、給span標簽添加字段
3、設置基本的樣式

  • cursorPlay的寬度 992px,高度600px
  • cursorPlay li背景為白色,內(nèi)邊距為8px,外邊距5px,顯示浮動為左浮動
  • cursorPlay li a,cursorPlay li a img顯示為塊狀并且為相對布局
  • cursorPlay li a添加overflow:hidden
  • cursorPlay li a div為絕對布局,寬度和高度均為100%,設置背景顏色為rgba

4、js添加動態(tài)效果(方向0,1,2,3分別為上,右,下,左)

1、給綁定鼠標進入或者出去的事件

$("#cursorPlay li").on("mouseenter mouseleave",function(event){var evType = event.type;var direction = getDir($(this), {x: event.pageX,y: event.pageY});//  console.log("evtype:"+evType+",dir:"+direction);moveTo($(this),direction, evType);});

2、使用getDir獲取鼠標移動的方向,coordinates坐標

計算鼠標劃入畫出方向函數(shù)(搜索關(guān)鍵詞“jquery計算鼠標劃入劃出方向”)

direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;function getDir($el, coordinates){var w = $el.width(),h = $el.height(),x = (coordinates.x - $el.offset().left - (w / 2)) * (w > h ? (h / w) : 1),y = (coordinates.y - $el.offset().top - (h / 2)) * (h > w ? (w / h) : 1),direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;return direction;}

3、添加移動函數(shù)moveTo,三個參數(shù)分別為選擇器,方向,鼠標劃入畫出類型,通過判斷鼠標劃入類型,來自定義選擇器初始位置,然后重定義css樣式,當鼠標劃出時再重定義每個方向上的位置

function moveTo($el, direction, type){  var $layer = $el.find("div");  var coord = {};  if(type === "mouseenter"){    switch(direction){     case 0 :   $layer.css("top","-100%").css("left","0px");break;    case 1 : $layer.css("left","100%").css("top","0px");break;    case 2 : $layer.css("top","100%").css("left","0px");break;    case 3 : $layer.css("left","-100%").css("top","0px");break;  }    coord = {left:0,top:0}  }else{  switch(direction){    case 0 : coord = {left:0,top:'-100%'};break;    case 1 : coord = {left:'100%',top:0};break;    case 2 : coord = {left:0,top:'100%'};break;    case 3 : coord = {left:'-100%',top:0};break;  }}$layer.animate(coord,300);} 

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 方城县| 金门县| 鸡西市| 大荔县| 高邮市| 太仓市| 达孜县| 清水河县| 龙泉市| 大英县| 武威市| 连城县| 囊谦县| 伊春市| 沂源县| 通道| 肃宁县| 周宁县| 闸北区| 衡阳市| 嘉兴市| 宽城| 尉氏县| 乌恰县| 关岭| 新兴县| 达州市| 乌兰察布市| 青龙| 马公市| 洛浦县| 霍邱县| 西乌珠穆沁旗| 通山县| 麦盖提县| 邹平县| 阿克苏市| 衡阳市| 巴东县| 安平县| 宣恩县|