jQuery實(shí)現(xiàn)點(diǎn)擊水紋波動(dòng)動(dòng)畫(huà)
來(lái)源:易賢網(wǎng) 閱讀:1818 次 日期:2016-07-08 14:08:00
溫馨提示:易賢網(wǎng)小編為您整理了“jQuery實(shí)現(xiàn)點(diǎn)擊水紋波動(dòng)動(dòng)畫(huà)”,方便廣大網(wǎng)友查閱!

今天要為大家紹一款由jquery實(shí)現(xiàn)的鼠標(biāo)單擊出現(xiàn)水波特效。用鼠標(biāo)點(diǎn)擊頁(yè)面,你可以看到頁(yè)面不斷出面水波紋效果。然后水波紋漸漸消失。效果非常不錯(cuò)

jQuery點(diǎn)擊水紋波動(dòng)動(dòng)畫(huà)原理:

1.在需要實(shí)現(xiàn)水波紋效果的標(biāo)簽中添加<XXX class="ripple-wrapper"></XXX>

2.代碼會(huì)定位 鼠標(biāo)相對(duì) 與 標(biāo)簽的位置,以鼠標(biāo)點(diǎn)為圓心畫(huà)圓

3.圓的半徑 可以自定義(默認(rèn)為標(biāo)簽的最大寬或高度)

4.圓點(diǎn)顏色,和動(dòng)畫(huà)時(shí)間等可以自行修改內(nèi)部代碼,或直接 調(diào)用 $().css({})方法 進(jìn)行覆蓋

ripple-wrapper.js

$(function(){

  $(".ripple-wrapper").css(

    {

  "position": " absolute",

  "top": " 0",

  "left": " 0",

  "z-index": " 1",

  "width": " 100%",

  "height": " 100%",

  "overflow": " hidden",

  "border-radius": " inherit",

  "pointer-events": " none"

  });

    $(".ripple-wrapper").parent().click(function(e){

     var ripple_obj=$(this).find(".ripple-wrapper");

     if(ripple_obj.find("div").length){ripple_obj.find("div").remove();}

     ripple_obj.prepend("<div></div>");

     var ripple_div=ripple_obj.find("div");

     ripple_div.css(

       {

  "display": " block",

  "background": " rgba(255, 255, 255, 0.7)",

  "border-radius": " 50%",

  "position": " absolute",

  "-webkit-transform": " scale(0)",

  "transform": " scale(0)",

  "opacity": " 1",

  "transition": " all 0.7s",

  "-webkit-transition": " all 0.7s",

  "-moz-transition": " all 0.7s",

  "-o-transition": " all 0.7s",

  "z-index": " 1",

  "overflow": " hidden",

  "pointer-events": " none"

    });

     var R= parseInt(ripple_obj.outerWidth());/*默認(rèn)半徑為ripple-wrapper寬*/

     if(parseInt(ripple_obj.outerWidth())<parseInt(ripple_obj.outerHeight())){

         R= parseInt(ripple_obj.outerHeight());/*如果高度大于寬半徑為ripp,le-wrapper高*/

     }

      ripple_div.css({"width":(R*2)+"px","height":(R*2)+"px","top": (e.pageY -ripple_obj.offset().top - R)+'px', "left": ( e.pageX -ripple_obj.offset().left -R)+'px',"transform":"scale(1)", "-webkit-transform":"scale(1)","opacity":"0"});;

    }); 

    });

HTML

<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8">

  <title>Document</title>

  <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js"></script>

  <script src="ripple-wrapper.js"></script> 

  <style>

    .ck {

      cursor: pointer;

      display: block;

      padding: 1em;

      text-decoration: none;

      width: 200px;

      height: 20px;

      position: relative;

      overflow: hidden; 

      color: #fff;

    }

  </style>

</head>

<body >

  <div class="ck" style="background: #5f5f5f">

    點(diǎn)一下

    <div class="ripple-wrapper"></div>

  </div> 

</body>

</html>

演示圖

名單

未封裝代碼

<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8">

  <title>Document</title>

  <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js"></script>

  <style>

    .ck {

      background: #ffab91;

      display: block;

      padding: 1em;

      text-decoration: none;

      width: 200px;

      height: 20px;

      position: relative;

      overflow: hidden;

    }

    .ck .bd {

      background: rgba(0, 0, 0,0.8);

      border-radius: 50%;

      width: 0px;

      height: 0px;

      position: absolute;

       -webkit-transform: scale(0);

       transform: scale(0);

       opacity: 1;

    }

    .dh {

      animation: ldm 0.8s ;

      -moz-animation: ldm 0.8s ;

      -o-animation: ldm 0.8s ;

      -webkit-animation: ldm 0.8s  ;

    }

    @-webkit-keyframes ldm {

      100% {

        -webkit-transform: scale(1);

        opacity: 0

      }

    }

    @keyframes ldm {

       100% {

        -webkit-transform: scale(1);

        opacity: 0

      }

    }

  </style>

</head>

<body style=" background: #aaab91;">

  <div class="ck">

    <span class="bd"></span> adasdsd

  </div>

  <script>

    $(".ck").click(function(e){

       $(this).find(".bd").removeClass("dh");

      var R=6;

      R= parseInt($(this).outerWidth());

      if(parseInt($(this).outerWidth())<parseInt($(this).outerHeight())){

        R= parseInt($(this).outerHeight());

      }

      $(this).find(".bd").css({"width":(R*2)+"px","height":(R*2)+"px"});

    $(this).find(".bd").css({"left":(e.pageX-$(this).position().left-R)+"px","top":(e.pageY-$(this).position().top-R)+"px" });

    // $(this).find(".bd").css({"left":(e.pageX-$(this).position().left-R/2 )+"px","top":(e.pageY-$(this).position().top-R/2 )+"px" });

    $(this).find(".bd").addClass("dh");

    });

  </script>

</body>

</html>

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
咨詢(xún)QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)