久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

    <bdo id='aRdsZ'></bdo><ul id='aRdsZ'></ul>
<i id='aRdsZ'><tr id='aRdsZ'><dt id='aRdsZ'><q id='aRdsZ'><span id='aRdsZ'><b id='aRdsZ'><form id='aRdsZ'><ins id='aRdsZ'></ins><ul id='aRdsZ'></ul><sub id='aRdsZ'></sub></form><legend id='aRdsZ'></legend><bdo id='aRdsZ'><pre id='aRdsZ'><center id='aRdsZ'></center></pre></bdo></b><th id='aRdsZ'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='aRdsZ'><tfoot id='aRdsZ'></tfoot><dl id='aRdsZ'><fieldset id='aRdsZ'></fieldset></dl></div>
  • <small id='aRdsZ'></small><noframes id='aRdsZ'>

      <tfoot id='aRdsZ'></tfoot>
        <legend id='aRdsZ'><style id='aRdsZ'><dir id='aRdsZ'><q id='aRdsZ'></q></dir></style></legend>
      1. 帶有 jquery.animate() 的 CSS 旋轉跨瀏覽器

        CSS rotation cross browser with jquery.animate()(帶有 jquery.animate() 的 CSS 旋轉跨瀏覽器)
      2. <legend id='LkldJ'><style id='LkldJ'><dir id='LkldJ'><q id='LkldJ'></q></dir></style></legend>

            • <bdo id='LkldJ'></bdo><ul id='LkldJ'></ul>

              <tfoot id='LkldJ'></tfoot>
              1. <small id='LkldJ'></small><noframes id='LkldJ'>

                  <tbody id='LkldJ'></tbody>

                  <i id='LkldJ'><tr id='LkldJ'><dt id='LkldJ'><q id='LkldJ'><span id='LkldJ'><b id='LkldJ'><form id='LkldJ'><ins id='LkldJ'></ins><ul id='LkldJ'></ul><sub id='LkldJ'></sub></form><legend id='LkldJ'></legend><bdo id='LkldJ'><pre id='LkldJ'><center id='LkldJ'></center></pre></bdo></b><th id='LkldJ'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='LkldJ'><tfoot id='LkldJ'></tfoot><dl id='LkldJ'><fieldset id='LkldJ'></fieldset></dl></div>
                  本文介紹了帶有 jquery.animate() 的 CSS 旋轉跨瀏覽器的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我正在創建一個跨瀏覽器兼容的旋轉 (ie9+),我在 jsfiddle 中有以下代碼

                  I'm working on creating a cross-browser compatible rotation (ie9+) and I have the following code in a jsfiddle

                  $(document).ready(function () { 
                      DoRotate(30);
                      AnimateRotate(30);
                  });
                  
                  function DoRotate(d) {
                  
                      $("#MyDiv1").css({
                            '-moz-transform':'rotate('+d+'deg)',
                            '-webkit-transform':'rotate('+d+'deg)',
                            '-o-transform':'rotate('+d+'deg)',
                            '-ms-transform':'rotate('+d+'deg)',
                            'transform': 'rotate('+d+'deg)'
                       });  
                  }
                  
                  function AnimateRotate(d) {
                  
                          $("#MyDiv2").animate({
                            '-moz-transform':'rotate('+d+'deg)',
                            '-webkit-transform':'rotate('+d+'deg)',
                            '-o-transform':'rotate('+d+'deg)',
                            '-ms-transform':'rotate('+d+'deg)',
                            'transform':'rotate('+d+'deg)'
                       }, 1000); 
                  }
                  

                  CSS 和 HTML 非常簡單,僅用于演示:

                  The CSS and HTML are really simple and just for demo:

                  .SomeDiv{
                      width:50px;
                      height:50px;       
                      margin:50px 50px;
                      background-color: red;}
                  
                  <div id="MyDiv1" class="SomeDiv">test</div>
                  <div id="MyDiv2" class="SomeDiv">test</div>
                  

                  旋轉在使用 .css() 時有效,但在使用 .animate() 時無效;為什么會這樣?有辦法解決嗎?

                  The rotation works when using .css() but not when using .animate(); why is that and is there a way to fix it?

                  謝謝.

                  推薦答案

                  目前尚無法使用 jQuery 制作 CSS-Transforms 動畫.你可以這樣做:

                  CSS-Transforms are not possible to animate with jQuery, yet. You can do something like this:

                  function AnimateRotate(angle) {
                      // caching the object for performance reasons
                      var $elem = $('#MyDiv2');
                  
                      // we use a pseudo object for the animation
                      // (starts from `0` to `angle`), you can name it as you want
                      $({deg: 0}).animate({deg: angle}, {
                          duration: 2000,
                          step: function(now) {
                              // in the step-callback (that is fired each step of the animation),
                              // you can use the `now` paramter which contains the current
                              // animation-position (`0` up to `angle`)
                              $elem.css({
                                  transform: 'rotate(' + now + 'deg)'
                              });
                          }
                      });
                  }
                  

                  您可以在此處閱讀有關 step-callback 的更多信息:http://api.jquery.com/動畫/#step

                  You can read more about the step-callback here: http://api.jquery.com/animate/#step

                  http://jsfiddle.net/UB2XR/23/

                  而且,順便說一句:您不需要為 jQuery 1.7+ 的 css3 轉換添加前綴

                  And, btw: you don't need to prefix css3 transforms with jQuery 1.7+

                  您可以將其包裝在一個 jQuery 插件中,讓您的生活更輕松:

                  You can wrap this in a jQuery-plugin to make your life a bit easier:

                  $.fn.animateRotate = function(angle, duration, easing, complete) {
                    return this.each(function() {
                      var $elem = $(this);
                  
                      $({deg: 0}).animate({deg: angle}, {
                        duration: duration,
                        easing: easing,
                        step: function(now) {
                          $elem.css({
                             transform: 'rotate(' + now + 'deg)'
                           });
                        },
                        complete: complete || $.noop
                      });
                    });
                  };
                  
                  $('#MyDiv2').animateRotate(90);
                  

                  http://jsbin.com/ofagog/2/edit

                  我對其進行了一些優化,以使 easingdurationcomplete 的順序無關緊要.

                  I optimized it a bit to make the order of easing, duration and complete insignificant.

                  $.fn.animateRotate = function(angle, duration, easing, complete) {
                    var args = $.speed(duration, easing, complete);
                    var step = args.step;
                    return this.each(function(i, e) {
                      args.complete = $.proxy(args.complete, e);
                      args.step = function(now) {
                        $.style(e, 'transform', 'rotate(' + now + 'deg)');
                        if (step) return step.apply(e, arguments);
                      };
                  
                      $({deg: 0}).animate({deg: angle}, args);
                    });
                  };
                  

                  更新 2.1

                  感謝 matteo誰注意到完整-callback 中的this-context 存在問題.如果通過 binding 在每個節點上使用 jQuery.proxy 的回調來修復它.

                  Update 2.1

                  Thanks to matteo who noted an issue with the this-context in the complete-callback. If fixed it by binding the callback with jQuery.proxy on each node.

                  我在 Update 2 之前已將版本添加到代碼中.

                  I've added the edition to the code before from Update 2.

                  如果您想要執行諸如來回切換旋轉之類的操作,這是一個可能的修改.我只是在函數中添加了一個 start 參數并替換了這一行:

                  This is a possible modification if you want to do something like toggle the rotation back and forth. I simply added a start parameter to the function and replaced this line:

                  $({deg: start}).animate({deg: angle}, args);
                  

                  如果有人知道如何使其對所有用例更通用,無論他們是否想設置起始學位,請進行適當的編輯.

                  If anyone knows how to make this more generic for all use cases, whether or not they want to set a start degree, please make the appropriate edit.

                  主要有兩種方法可以達到預期的結果.但首先,讓我們看一下論據:

                  Mainly you've two ways to reach the desired result. But at the first, let's take a look on the arguments:

                  jQuery.fn.animateRotate(角度、持續時間、緩動、完成)

                  除了角度"之外,它們都是可選的并且回退到默認的jQuery.fn.animate-properties:

                  Except of "angle" are all of them optional and fallback to the default jQuery.fn.animate-properties:

                  duration: 400
                  easing: "swing"
                  complete: function () {}
                  

                  第一個

                  這種方式比較短,但是傳入的參數越多看起來就有點不清楚了.

                  1st

                  This way is the short one, but looks a bit unclear the more arguments we pass in.

                  $(node).animateRotate(90);
                  $(node).animateRotate(90, function () {});
                  $(node).animateRotate(90, 1337, 'linear', function () {});
                  

                  第二次

                  如果參數超過三個,我更喜歡使用對象,所以我最喜歡這種語法:

                  2nd

                  I prefer to use objects if there are more than three arguments, so this syntax is my favorit:

                  $(node).animateRotate(90, {
                    duration: 1337,
                    easing: 'linear',
                    complete: function () {},
                    step: function () {}
                  });
                  

                  這篇關于帶有 jquery.animate() 的 CSS 旋轉跨瀏覽器的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Browser waits for ajax call to complete even after abort has been called (jQuery)(即使在調用 abort (jQuery) 之后,瀏覽器也會等待 ajax 調用完成)
                  XMLHttpRequest cannot load, No #39;Access-Control-Allow-Origin#39; header is present on the requested resource(XMLHttpRequest 無法加載,請求的資源上不存在“Access-Control-Allow-Origin標頭) - IT屋-程序員軟件開發技術分
                  What is the difference between XMLHttpRequest, jQuery.ajax, jQuery.post, jQuery.get(XMLHttpRequest、jQuery.ajax、jQuery.post、jQuery.get 有什么區別)
                  Can onprogress functionality be added to jQuery.ajax() by using xhrFields?(可以使用 xhrFields 將 onprogress 功能添加到 jQuery.ajax() 嗎?)
                  Show a progress bar for downloading files using XHR2/AJAX(顯示使用 XHR2/AJAX 下載文件的進度條)
                  How can I open a JSON file in JavaScript without jQuery?(如何在沒有 jQuery 的情況下在 JavaScript 中打開 JSON 文件?)

                  • <legend id='Nr9gG'><style id='Nr9gG'><dir id='Nr9gG'><q id='Nr9gG'></q></dir></style></legend>
                        <tbody id='Nr9gG'></tbody>
                      • <bdo id='Nr9gG'></bdo><ul id='Nr9gG'></ul>

                          <i id='Nr9gG'><tr id='Nr9gG'><dt id='Nr9gG'><q id='Nr9gG'><span id='Nr9gG'><b id='Nr9gG'><form id='Nr9gG'><ins id='Nr9gG'></ins><ul id='Nr9gG'></ul><sub id='Nr9gG'></sub></form><legend id='Nr9gG'></legend><bdo id='Nr9gG'><pre id='Nr9gG'><center id='Nr9gG'></center></pre></bdo></b><th id='Nr9gG'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='Nr9gG'><tfoot id='Nr9gG'></tfoot><dl id='Nr9gG'><fieldset id='Nr9gG'></fieldset></dl></div>

                          <small id='Nr9gG'></small><noframes id='Nr9gG'>

                          <tfoot id='Nr9gG'></tfoot>

                            主站蜘蛛池模板: 成人夜晚看av | 欧美精品国产精品 | 欧美日韩高清在线观看 | 欧美精三区欧美精三区 | 国产精品99久久久久久久vr | 九色在线视频 | 日韩精品 | 国产精品成人一区二区三区吃奶 | 欧美一级做性受免费大片免费 | 欧美激情在线精品一区二区三区 | 日日干天天操 | 99re国产| 亚洲精品美女视频 | 91精品国产综合久久香蕉麻豆 | 一区二区免费 | 国产乱xxav | 国产精品不卡 | 日本三级全黄三级三级三级口周 | 欧美色综合一区二区三区 | 日韩欧美国产精品一区二区 | 成人欧美一区二区三区黑人孕妇 | 日韩在线观看一区二区三区 | 日韩中文一区二区三区 | caoporn视频| 久草在线影 | 国产高清免费在线 | 欧美在线观看一区二区 | 久草视频在线播放 | 人操人免费视频 | 欧美精品在欧美一区二区少妇 | 狠狠久久| 9久久婷婷国产综合精品性色 | 91精品国产91久久综合桃花 | 成人在线免费网站 | 中文在线播放 | 伊人99| 拍真实国产伦偷精品 | 久久久国产一区二区三区四区小说 | 成人亚洲精品 | 91文字幕巨乱亚洲香蕉 | 特级毛片 |