使用js實現輪播圖旋轉木馬效果?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
創新互聯是一家集網站建設,稱多企業網站建設,稱多品牌網站建設,網站定制,稱多網站建設報價,網絡營銷,網絡優化,稱多網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。思路:給定一個數組,儲存每張圖片的位置,旋轉將位置進行替換
左旋轉:將數組第一個數據刪除,然后添加到數組的最后
右旋轉:將數組最后一個數據刪除,然后添加到數組的開頭
先附上效果圖,再來實現

接下來就是最主要的,封裝原生js動畫函數
//封裝函數獲取任意一個元素的任意屬性的值(兼容ie8)
function getStyle(element, attr) {
return window.getComputedStyle ? window.getComputedStyle(element, null)[attr] : element.currentStyle[attr];
}
//封裝js變速動畫
function animate(element, json, fn) {
//每次啟動定時器之前先停止
clearInterval(element.tmId);
element.tmId = setInterval(function () {
var flag = true;
//遍歷對象中的每個屬性
for (var attr in json) {
//執行透明度動畫
if (attr == "opacity") {
//獲取當前元素的屬性值
var current = parseInt(getStyle(element, attr)*100);
//獲取目標值
var target = json[attr]*100;
//移動的步數
var step = (target - current) / 10;
step = step > 0 ? Math.ceil(step) : Math.floor(step);
//移動后的值
current += step;
element.style[attr] = current / 100;
} else if (attr == "zIndex") {
//改變層級屬性
element.style[attr] = json[attr];
} else {
//獲取當前元素的屬性值
var current = parseInt(getStyle(element, attr));
//獲取目標值
var target = json[attr];
//移動的步數
var step = (target - current) / 10;
step = step > 0 ? Math.ceil(step) : Math.floor(step);
//移動后的值
current += step;
element.style[attr] = current + "px";
if (current != target) {
flag = false;
}
}
}
if (flag) {
clearInterval(element.tmId);
//如果有回調函數就調用
if (fn) fn();
}
// 測試
// console.log("目標:" + target + "/當前:" + current + "/步數:" + step);
}, 20);
}
網頁標題:使用js實現輪播圖旋轉木馬效果-創新互聯
網頁URL:http://www.yijiale78.com/article12/cegsgc.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、網站建設、品牌網站制作、網站排名、網站設計、網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯