摘要:代碼如下原生調用該文件中加入這一行代碼參數參數時間調用該文件加入這一行代碼中引入綁定到實例原型上組件中調用鄙人創建了一個群,供大家學習交流,希望和大家合作愉快,互相幫助,交流學習,以下為群二維碼
代碼如下:
const slider = (function() { var Slider = {}; // the constructed function,timeManager,as such that"s a manager about managing the setInterval function TimerManager() { this.timers = []; this.args = []; this.isTimerRun = false; } // if the element can"t has the property of TimerManage what represented the constructor function,repeated creating a constructed function TimerManager.makeTimerManage = function(element) { if ( !element.TimerManage || element.TimerManage.constructor !== TimerManager ) { element.TimerManage = new TimerManager(); } }; // That"s order to create the method what add the timer TimerManager.prototype.add = function(timer, args) { this.timers.push(timer); this.args.push(args); this.timerRun(); }; // called the method is order to run the timer by ordering TimerManager.prototype.timerRun = function() { if (!this.isTimerRun) { var timer = this.timers.shift(), args = this.args.shift(); if (timer && args) { this.isTimerRun = true; timer(args[0], args[1]); } } }; // let it run the next timer TimerManager.prototype.next = function() { this.isTimerRun = false; this.timerRun(); }; function slideUp(element, time) { if (element.offsetHeight > 0) { var totalHeight = element.offsetHeight; var currentHeight = totalHeight; var reduceValue = totalHeight / (time / 10); element.style.transition = "height " + time + " ms"; element.style.overflow = "hidden"; var timer = setInterval(function() { currentHeight -= reduceValue; element.style.height = currentHeight + "px"; if (currentHeight <= 0) { clearInterval(timer); element.style.display = "none"; element.style.height = totalHeight + "px"; if ( element.TimerManage && element.TimerManage.constructor === TimerManager ) { element.TimerManage.next(); } } }, 10); } else { if ( element.TimerManage && element.TimerManage.constructor === TimerManager ) { element.TimerManage.next(); } } } function slideDown(element, time) { if (element.offsetHeight <= 0) { element.style.display = "block"; element.style.transition = "height" + time + " ms"; element.style.overflow = "hidden"; var totalHeight = element.offsetHeight; var currentHeight = 0; element.style.height = "0px"; var addValue = totalHeight / (time / 10); var timer = setInterval(function() { currentHeight += addValue; element.style.height = currentHeight + "px"; if (currentHeight >= totalHeight) { clearInterval(timer); element.style.height = totalHeight + "px"; if ( element.TimerManage && element.TimerManage.constructor === TimerManager ) { element.TimerManage.next(); } } }, 10); } else { if ( element.TimerManage && element.TimerManage.constructor === TimerManager ) { element.TimerManage.next(); } } } // the interface about slideUp method Slider.slideUp = function(element) { TimerManager.makeTimerManage(element); element.TimerManage.add(slideUp, arguments); return this; }; // the interface about slideDown method Slider.slideDown = function(element) { TimerManager.makeTimerManage(element); element.TimerManage.add(slideDown, arguments); return this; }; return Slider; })();
原生調用:
//該js文件中加入這一行代碼 window.slider = slider; //參數1,dom,參數2:時間 slider.slideDown(document.queryselector(),time); slider.slideUp(document.queryselector(),time);
vue.js調用:
//該js文件加入這一行代碼 export default slider; main.js中引入: import slider from "slider.js"; //綁定到Vue實例原型上 Vue.prototype.slider = slider; //組件中調用 this.slider(this.$refs,time);
鄙人創建了一個QQ群,供大家學習交流,希望和大家合作愉快,互相幫助,交流學習,以下為群二維碼:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/114239.html
摘要:代碼如下原生調用該文件中加入這一行代碼參數參數時間調用該文件加入這一行代碼中引入綁定到實例原型上組件中調用鄙人創建了一個群,供大家學習交流,希望和大家合作愉快,互相幫助,交流學習,以下為群二維碼 代碼如下: const slider = (function() { var Slider = {}; // the constructed function,timeManager,...
摘要:設計的宗旨是,,即倡導寫更少的代碼,做更多的事情。它封裝常用的功能代碼,提供一種簡便的設計模式,優化文檔操作事件處理動畫設計和交互。 今日任務 使用JQuery完成頁面定時彈出廣告 定時器: ? setInterval clearInterval ? setTimeout clearTimeout 顯示: img.style.display = bloc...
摘要:設計的宗旨是,,即倡導寫更少的代碼,做更多的事情。它封裝常用的功能代碼,提供一種簡便的設計模式,優化文檔操作事件處理動畫設計和交互。 今日任務 使用JQuery完成頁面定時彈出廣告 定時器: ? setInterval clearInterval ? setTimeout clearTimeout 顯示: img.style.display = bloc...
摘要:設計的宗旨是,,即倡導寫更少的代碼,做更多的事情。它封裝常用的功能代碼,提供一種簡便的設計模式,優化文檔操作事件處理動畫設計和交互。 今日任務 使用JQuery完成頁面定時彈出廣告 定時器: ? setInterval clearInterval ? setTimeout clearTimeout 顯示: img.style.display = bloc...
摘要:相對論極大地改變了人類對宇宙和自然的常識性觀念,提出了同時的相對性四維時空彎曲時空等全新的概念。狹義相對性原理是相對論的兩個基本假定,在目前實驗的觀測下,物體的運動與相對論是吻合很好的,所以目前普遍認為相對論是正確的理論。 7. jQuery 里的事件機制 javascript和HTML之間的交互是通過用戶和瀏覽器操作頁面時引發的事件來處理的。jQuery不僅提供了更加優雅的事件處理...
閱讀 3510·2021-11-25 09:43
閱讀 1266·2021-09-08 09:45
閱讀 2642·2021-09-07 09:59
閱讀 1501·2021-08-09 13:45
閱讀 3338·2019-08-30 15:54
閱讀 696·2019-08-29 18:35
閱讀 513·2019-08-29 17:18
閱讀 991·2019-08-29 14:10