jquery工具箱旋轉動畫效果

jquery工具箱旋轉動畫效果

今天給大家分享一個工具箱的旋轉動畫效果,因為做GIS項目的時候所需要到,這是我在懶人之家看到的一個jquery鼠標點擊按鈕圖標旋轉彈出圖標菜單旋轉動畫。
首先,可以引用插件,但因為項目所需,我便將工具箱js的代碼改了一下,所以這里工具箱的js就不用插件,方便大家查看。

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>jquery工具箱旋轉動畫效果</title><link href="~/Content/lanrenzhijia.css" type="text/css" rel="stylesheet" />//工具箱樣式---來自懶人之家<script src="~/Content/js/jquery-1.7.2.min.js"></script>//實現jquery必要的

以上兩個是必要的插件。
這里可以寫需要彈出多少個的小圖標,再去js設置,這里我需要到六個小圖標。

// 工具箱<div class="PathInner" id="PathMenu" style="float:right;position: absolute;right: 140px;bottom: 150px;"><div class="PathMain"><div class="Tmain" onclick="PathRun();"><div class="rotate"><span class="cover"></span></div></div></div><div class="PathItem"><a class="link" href="#" title=""><span class="item" style="background-image: url('../../Content/img/Ruler.png'); " onclick="mapStadiometry()"></span></a></div><div class="PathItem"><a class="link" href="#" title=""><span class="item" style="background-image: url('../../Content/img/Measure_Crop_32px_530009_easyicon.net.png');" onclick="mapMetry()"></span></a></div><div class="PathItem"><a class="link" href="#" title=""><span class="item" style="background-image: url('../../Content/img/round.png');" onclick="YuanXing()"></span></a></div><div class="PathItem"><a class="link" href="#" title=""><span class="item" style="background-image: url('../../Content/img/moment_icn_pic.png');" onclick="JuXing()"></span></a></div><div class="PathItem"><a class="link" href="#" title=""><span class="item" style="background-image: url('../../Content/img/multilateral.png');" onclick="JiHe()"></span></a></div><div class="PathItem"><a class="link" href="#" title=""><span class="item" style="background-image: url('../../Content/img/weixingtu.PNG');" onclick="QingChu()"></span></a></div></div>

下面是js的代碼:

  @*工具箱動畫*@<script>var PathStatus = 0;var angle = Math.PI / ((-3.38 - 0.9) * 0.8);var mainButton = [{ 'bg': '../Content/images/bg-2x.png', 'css': '', 'cover': '../Content/images/bg-2x.png', 'html': '<span class="cover"></span>' },{ 'bg': '', 'css': '', 'cover': '', 'html': '', 'angle': -405, 'speed': 200 }];var Radius = 60;		//小圖出來的半徑var Offset = 40;		//小圖出來后的偏移量var Path = 2;		//出現方式,1:左上,2:左下,3:右上,4:右下var OutSpeed = 80;		//小圖出現的速度var OutIncr = 80;		//小圖出來的旋轉var OffsetSpeed = 200;		//小圖出來的旋轉速度var InSpeed = 480;		//小圖進去的速度var InIncr = -80;		//小圖進去的旋轉function PathRun() {var PathMenu = $('#PathMenu');var PathItems = PathMenu.children('.PathItem').slice(0, 6);if (PathStatus == 0) {var Count = PathItems.size();PathItems.each(function (SP) {var ID = $(this).index();if (ID == 1) {var X = Radius;var Y = 0;var X1 = X + Offset;var Y1 = Y;} else if (ID == Count) {var X = 0;var Y = Radius;var X1 = X;var Y1 = Y + Offset;} else {var X = Math.cos(angle * (ID - 1)) * Radius;var Y = Math.sin(angle * (ID - 1)) * Radius;var X1 = X + Offset;var Y1 = Y + Offset;}if (Path == 2) {Y = -Y;Y1 = -Y1;} else if (Path == 3) {X = -X;Y = -Y;X1 = -X1;Y1 = -Y1;} else if (Path == 4) {X = -X;X1 = -X1;}$(this).children().children().animate({ rotate: 720 }, 600);$(this).animate({ left: X1, bottom: Y1 }, OutSpeed + SP * OutIncr, function () {$(this).animate({ left: X, bottom: Y }, OffsetSpeed);});});if (mainButton[1]['angle']) {$(PathMenu.children('.PathMain').find('.rotate')).animate({ rotate: mainButton[1]['angle'] }, mainButton[1]['speed']);}if (mainButton[1]['bg'] != '') $(this).children().css('background-image', 'url(' + mainButton[1]['bg'] + ')')if (mainButton[1]['css'] != '') $(this).children().css(mainButton[1]['css']);if (mainButton[1]['cover'] != '') $(this).children().children().css('background-image', 'url(' + mainButton[1]['cover'] + ')');if (mainButton[1]['html'] != '') $(this).children().html(mainButton[1]['html']);PathStatus = 1;} else if (PathStatus == 1) {PathItems.each(function (SP) {if (parseInt($(this).css('left')) == 0) {X1 = 0;} else {if (Path <= 2) {X1 = parseInt($(this).css('left')) + Offset;} else if (Path >= 3) {X1 = parseInt($(this).css('left')) - Offset;}}if (parseInt($(this).css('bottom')) == 0) {Y1 = 0;} else {if (Path == 3 || Path == 2) {Y1 = parseInt($(this).css('bottom')) - Offset;} else if (Path == 1 || Path == 4) {Y1 = parseInt($(this).css('bottom')) + Offset;}}$(this).children().children().animate({ rotate: 0 }, 600);$(this).animate({ left: X1, bottom: Y1 }, OffsetSpeed, function () {$(this).animate({ left: 0, bottom: 0 }, InSpeed + SP * InIncr);});});if (mainButton[1]['angle']) {$(PathMenu.children('.PathMain').find('.rotate')).animate({ rotate: 0 }, mainButton[1]['speed']);}if (mainButton[0]['bg'] != '') $(this).children().css('background-image', 'url(' + mainButton[0]['bg'] + ')')if (mainButton[0]['css'] != '') $(this).children().css(mainButton[0]['css']);if (mainButton[0]['cover'] != '') $(this).children().children().css('background-image', 'url(' + mainButton[0]['cover'] + ')');if (mainButton[0]['html'] != '') $(this).children().html(mainButton[0]['html']);PathStatus = 0;}}</script>

實現效果如下:

點擊小圖標彈出,再點擊小圖標進去隱藏。

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443394.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443394.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443394.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

.NET短信接口驗證

.NET短信接口驗證 之前遇到的一個問題&#xff0c;因為沒有接觸過&#xff0c;所以自己上網查閱過資料也向他人請教以及老師&#xff0c;.NET短信接口調用&#xff0c;其實&#xff0c;網上有許多免費的短信接口平臺&#xff0c;但也是有限度的&#xff0c;如果發送的數量過多…

密碼判斷

.NET(C#)密碼判斷 當我們需要對密碼進行判斷的時候&#xff0c;可以不使用提示框模態框的方法&#xff0c;用圖片顯示判斷密碼正確與否也是比較美觀的&#xff0c;也實為方便&#xff0c;這也是老師提供一種方法。 首先&#xff0c;我們需要把樣式鋪墊好&#xff1a; <div…

身份證正則判斷

身份證正則判斷 今天分享的是身份證的正則判斷&#xff0c;在很多時候需要到&#xff0c;所以在這里記錄下來。之前做正則判斷的時候&#xff0c;有一些小瑕疵&#xff0c;判斷不夠全面&#xff0c;正則判斷&#xff0c;結構緊湊&#xff0c;全面的判斷很重要&#xff0c;所以…

Oracle 單行函數

學習Oracle 單行函數&#xff1a; 包括字符函數&#xff0c;數值函數&#xff0c;日期函數&#xff0c;轉換函數&#xff0c;通用函數。 dual是一個”偽表”&#xff0c;可以用來測試函數和表達式。 1&#xff0c; 字符函數 包括大小寫控制函數&#xff0c;字符控制函數。 大小…

Oracle 多表查詢 --笛卡爾集--左連接--右連接--1999 語法--滿外連接

Oracle 多表查詢總結 笛卡爾集現象&#xff1a; 笛卡爾集會在下面條件下產生: – 省略連接條件 – 連接條件無效 – 所有表中的所有行互相連接 為了避免笛卡爾集&#xff0c; 可以在where加入有效的連接條件。 Oracle 連接&#xff1a; 使用連接在多個表中查詢數據。 在wher…

Oracle 數據庫-分組函數總結

Oracle 分組函數 分組函數作用于一組數據&#xff0c;并對一組函數返回一個值。 組函數類型&#xff1a; avg&#xff0c;count&#xff0c;max&#xff0c;min&#xff0c;sum 可以對數值型數據使用avg和sum函數。 select avg(salary),min(salary),max(salary),sum(salary)…

在notepad++中配置java編譯環境

在notepad中配置java編譯環境 &#xff08;1&#xff09;首先&#xff0c;下載安裝了Notepad&#xff0c;在菜單欄那里找到Plugin Manager&#xff0c;有一些版本是沒有中文的&#xff0c;所有只有Plugin Manager&#xff0c;如果連Plugin Manager都沒有&#xff0c;你則需要去…

Java 基礎數據類型

Java 基礎數據類型 Java的兩大數據類型&#xff1a;基本數據類型、引用類型。 Java語言提供了八種基本數據類型。六種數字類型&#xff08;四個整數型&#xff0c;兩個浮點型&#xff09;&#xff0c;一種字符類型&#xff0c;還有一種布爾型。 整形&#xff1a;byte&#xf…

Java獲取系統時間

Java獲取系統時間 Java獲取系統時間 在java 中&#xff0c;有很多種方法都可以獲取到系統的當前時間&#xff0c;但也需要到對應的類&#xff0c;不同的類自然有不同的方法。這里為大家介紹獲取系統當前時間的四種方式。 1&#xff0e; 通過Calendar類來獲取當前時間 需要引用…

Java單例模式的幾種實現方式

Java單例模式的幾種實現方式 在Java 中&#xff0c;單例類只能有一個實例&#xff0c;必須創建自己的唯一實例&#xff0c;單例類必須給所有其他對象提供這一實例。Java 單例模式有很多種實現方式&#xff0c;在這里給大家介紹單例模式其中的幾種。分別是餓漢式&#xff0c;懶…

Java 中抽象類與接口

Java 抽象類&#xff1a; 在面向對象的概念中&#xff0c;所有的對象都是通過類來描繪的&#xff0c;但是反過來&#xff0c;并不是所有的類都是用來描繪對象的&#xff0c;如果一個類中沒有包含足夠的信息來描繪一個具體的對象&#xff0c;這個類就是抽象類。 抽象類不能創建…

Java 中的進程與線程的實現

了解進程與線程&#xff1a; 進程&#xff1a; 當一個程序進入內存運行時&#xff0c;即變成一個進程。進程是處于運行過程 中的程序&#xff0c;并且具有一定的獨立功能&#xff0c;進程是系統進行資源分配和調度的一個獨立單 位一般而言&#xff0c;進程包含如下三個特征&…

Java集合工具類:Collections

Java提供了一個操作Set、List和Map等集合的工具類&#xff1a;Collections&#xff0c;該工具類里 提供了大量方法對集合元素進行排序、查詢和修改等操作&#xff0c;還提供了對集合對象實現同步控制等方法。 一、 排序操作 如下示例&#xff1a; public class CollectionsSor…

Java異常處理throws/throw

Java的異常被分為兩大類&#xff1a;Checked異常和Runtime異常&#xff08;運行時異常&#xff09;。 ? Runtime異常&#xff1a;所有的RuntimeException類及其子類的實例&#xff1b; ? Checked異常&#xff1a;不是RuntimeException類及其子類的異常實例。 只有Java語言提供…

JDBC 連接MYSQL數據庫

1. 加載驅動 Class.forName("com.mysql.jdbc.Driver");com.mysql.jdbc 包名 Driver 驅動名&#xff0c;驅動包需要引入進來 mysql com.mysql.jdbc.Driveroracle oracle.jdbc.driver.OracleDriversqlserver com.microsoft.sqlserver.jdbc.SQLServerDriver …

JSP 之輸出九九乘法表

JSP是一種建立在Servlet規范提供的功能之上的動態網頁技術&#xff0c;允許在網頁文件中嵌入java代碼和jsp標記。Java 服務器頁面 (Java Server Page &#xff0c;JSP) 擴展名為 .jsp。 1&#xff0e;jsp的執行過程 Jsp文件在用戶第一次請求時,會被編譯成Servlet,然后由這個Se…

Java 重寫與重載

方法的重寫&#xff1a; 重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫, 返回值和形參都不能改變。 重寫的好處在于子類可以根據需要&#xff0c;定義特定于自己的行為。 也就是說子類能夠根據需要實現父類的方法。 重寫方法不能拋出新的檢查異常或者比被重寫方法申…

Java新增

在實踐項目中我們有可能需要做到新增功能&#xff0c;新增一張表&#xff0c;或是新增多張表。這里我新增的是一張表。 這里主要描述DAO層與Servlet 層&#xff1a; DAO 層&#xff1a; public class UserDaoImpl implements UserDao {private Connection con null;private P…

JSP根據狀態動態改變數據表格按鈕

有時候在開發的過程中會遇到需要根據狀態ID 來動態改變數據表格的按鈕&#xff0c;下面我主要講述兩種表格根據ID改變按鈕的方式。 下面這種我是用EL 表達式獲取表格中的值&#xff1a; <table class"table table-striped table-bordered table-hover" id"s…

Java 模糊查詢

在學習Java 這門語言過程中&#xff0c;會遇到無數的知識點與錯誤&#xff0c;最重要的是我們能夠在茫茫的代碼中找到突破口&#xff0c;并用心去汲取精華。 在很多時候我們會用到模糊查詢&#xff0c;這里是我在編碼過程中用到的模糊查詢。 JSP &#xff1a; <input value…