本文實例講述了JS實現動畫兼容性的transition和transform方法。分享給大家供大家參考,具體如下:
今天在開發純手工js打造圖片滾動效果的時候,遇到一件不愉快的兼容事件。
之前js設置圖片滾動動畫效果如下:
var addSlideStyle = function(time, leftWidth) { time = time || 0; leftWidth = leftWidth || 0; return 'transition: all ' + time + 's ease-in-out; transform: translate3d(' + leftWidth + 'px, 0px, 0px);'; };
使用如下:
slideUlObj.style = addSlideStyle();
以上使用js設置style樣式的方式實現,在pc端顯示的各種好,可以自動滾動,一到手機上面各種不兼容就出來了。在addSlideStyle裡面添加-webkit-前綴也沒有得以解決。
於是乎,各種搜索原來是mobile的兼容問題,改成js設置動畫:
var setTransition = function(obj, time) { time = time || 0; var style = 'all ' + time + 's ease-in-out'; obj.style.webkitTransition = style; obj.style.transition = style; }; var setTransform = function(obj, leftWidth) { leftWidth = leftWidth || 0; var style = 'translate3d(' + leftWidth + 'px, 0px, 0px)'; obj.style.webkitTransform = style; obj.style.transform = style; }; var setAnimate = function(obj, time, leftWidth) { setTransition(obj, time); setTransform(obj, leftWidth); };
調用如下:
setAnimate(slideUlObj);
知識小科普:其中設置各種浏覽器兼容性格式如下
webkitProperty MozProperty msProperty OProperty property
調用如下:
element.style.webkitTransform = ""; element.style.MozTransform = ""; element.style.msTransform = ""; element.style.OTransform = ""; element.style.transform = "";
更多關於JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript圖形繪制技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。