js 根據滑鼠拖動(或手機長按)旋轉
因為沒有搜尋到
,所以 自己寫了一個
廢話不多說,直接上效果圖
旋轉效果.gif
廢話不多說,直接上程式碼,順便給個數學的公式圖
.png
將公式變化為js程式碼
//得到 向量1 var x1 = (beginPointX - bgCenterX); var y1 = (beginPointY - bgCenterY); //得到 向量2 var x2 = (event.center.x - bgCenterX); var y2 = (event.center.y - bgCenterY); //計算cos =(x1x2+y1y2)/[√(x1²+y1²)*√(x2²+y2²)] var cos =( x1 * x2 + y1 * y2) /( Math.sqrt(Math.pow(x1, 2) + Math.pow(y1, 2)) * Math.sqrt(Math.pow(x2, 2) + Math.pow(y2, 2)) ); // 弧度 var radina = Math.acos(cos); // 角度 var angle = 180 / (Math.PI / radina);
控制元件的需求是根據滑鼠拖來旋轉,所以用到了Vue-touch
控制元件的 pan
事件,然後控制元件的大小固定寬高300px
, 完整的控制程式碼
panmove:function(event){ //得到 向量1 var x1 = (beginPointX - bgCenterX); var y1 = (beginPointY - bgCenterY); //得到 向量2 var x2 = (event.center.x - bgCenterX); var y2 = (event.center.y - bgCenterY); //計算cos =(x1x2+y1y2)/[√(x1²+y1²)*√(x2²+y2²)] var cos =( x1 * x2 + y1 * y2) /( Math.sqrt(Math.pow(x1, 2) + Math.pow(y1, 2)) * Math.sqrt(Math.pow(x2, 2) + Math.pow(y2, 2)) ); var radina = Math.acos(cos); console.log(radina); // 角度 var angle = 180 / (Math.PI / radina); //如果在中線左邊 就需要加 180度 if(event.center.x
作者:貓爪
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4822/viewspace-2804348/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- iOS 手勢操作:拖動、捏合、旋轉、點按、長按、輕掃、自定義iOS
- 按住滑鼠可以拖動箭頭旋轉程式碼例項
- Unity 物體根據手指拖動而轉動(可用於物體的360度展示)(手機端)Unity
- Python基礎_根據隨機數_按長度_升序或降序排序列表Python隨機排序
- echarts圖表X軸文字過長解決解決方案:根據文字長度自動旋轉Echarts
- js滑鼠拖動立方體3D運動效果JS3D
- three.js實現的3D球狀拖動旋轉效果JS3D
- 根據手機還是電腦上網自動判斷跳轉程式碼
- iPhone或將根據地點自動解鎖iPhone
- 使用RxJava實現ImageView的拖動、旋轉和縮放RxJavaView
- 360奇酷手機自動旋轉螢幕怎麼關閉 360奇酷手機自動旋轉螢幕關閉教程
- iOS手勢識別的詳細使用(拖動,縮放,旋轉,點選,手勢依賴,自定義手勢)iOS
- iOS手勢識別的詳細使用:拖動、縮放、旋轉、點選、手勢依賴、自定義手勢iOS
- JavaScript拖動滑鼠繪製矩形方框JavaScript
- JavaScript滑鼠拖動調整div大小JavaScript
- canvas 按住滑鼠拖動 繪製文字Canvas
- 根據 Promises/A+ 手寫 PromsiePromise
- react根據json格式資料動態增加domReactJSON
- 根據需要動態include不同的檔案 (轉)
- javascript div元素滑鼠拖動效果詳解JavaScript
- jQuery滑鼠拖動調整數字大小jQuery
- HTML元素拖動JSHTMLJS
- JavaScript左右拖動滑動的按鈕效果JavaScript
- js根據IP地址判斷城市JS
- jQuery隨滑鼠旋轉的圖形效果jQuery
- 滑鼠懸浮div實現旋轉效果
- Jquery實現滑鼠拖動改變div高度jQuery
- jQuery根據滑鼠進入的方位出現動畫遮罩效果jQuery動畫遮罩
- 根據字元型別和密碼長度隨機生成密碼字元型別密碼隨機
- 根據 Promises/A+規範 手寫 PromsiePromise
- win10滑鼠拖不動怎麼處理_win10滑鼠無法拖動檔案的解決方法Win10
- 根據JSON自動構建的vue篩選框元件JSONVue元件
- vueusejs實現拖動VueJS
- JS 根據彙總結果過濾JS
- js根據class值獲取元素物件JS物件
- java 之 給定固定長度根據字元長分割文件Java字元
- 根據IP頭格式 寫sniff (轉)
- CSS3滑鼠懸浮div旋轉效果CSSS3