123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855 |
- (function webpackUniversalModuleDefinition(root, factory) {
- if(typeof exports === 'object' && typeof module === 'object')
- module.exports = factory();
- else if(typeof define === 'function' && define.amd)
- define([], factory);
- else if(typeof exports === 'object')
- exports["vueSeamlessScroll"] = factory();
- else
- root["vueSeamlessScroll"] = factory();
- })(typeof self !== 'undefined' ? self : this, function() {
- return /******/ (function(modules) { // webpackBootstrap
- /******/ // The module cache
- /******/ var installedModules = {};
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/
- /******/ // Check if module is in cache
- /******/ if(installedModules[moduleId]) {
- /******/ return installedModules[moduleId].exports;
- /******/ }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = installedModules[moduleId] = {
- /******/ i: moduleId,
- /******/ l: false,
- /******/ exports: {}
- /******/ };
- /******/
- /******/ // Execute the module function
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
- /******/
- /******/ // Flag the module as loaded
- /******/ module.l = true;
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/ }
- /******/
- /******/
- /******/ // expose the modules object (__webpack_modules__)
- /******/ __webpack_require__.m = modules;
- /******/
- /******/ // expose the module cache
- /******/ __webpack_require__.c = installedModules;
- /******/
- /******/ // define getter function for harmony exports
- /******/ __webpack_require__.d = function(exports, name, getter) {
- /******/ if(!__webpack_require__.o(exports, name)) {
- /******/ Object.defineProperty(exports, name, {
- /******/ configurable: false,
- /******/ enumerable: true,
- /******/ get: getter
- /******/ });
- /******/ }
- /******/ };
- /******/
- /******/ // getDefaultExport function for compatibility with non-harmony modules
- /******/ __webpack_require__.n = function(module) {
- /******/ var getter = module && module.__esModule ?
- /******/ function getDefault() { return module['default']; } :
- /******/ function getModuleExports() { return module; };
- /******/ __webpack_require__.d(getter, 'a', getter);
- /******/ return getter;
- /******/ };
- /******/
- /******/ // Object.prototype.hasOwnProperty.call
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
- /******/
- /******/ // __webpack_public_path__
- /******/ __webpack_require__.p = "";
- /******/
- /******/ // Load entry module and return exports
- /******/ return __webpack_require__(__webpack_require__.s = 1);
- /******/ })
- /************************************************************************/
- /******/ ([
- /* 0 */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- __webpack_require__(4)();
- var arrayEqual = __webpack_require__(5);
- var copyObj = __webpack_require__(6);
- exports.default = {
- name: 'vue-seamless-scroll',
- data: function data() {
- return {
- xPos: 0,
- yPos: 0,
- delay: 0,
- copyHtml: '',
- height: 0,
- width: 0,
- realBoxWidth: 0 };
- },
- props: {
- data: {
- type: Array,
- default: function _default() {
- return [];
- }
- },
- classOption: {
- type: Object,
- default: function _default() {
- return {};
- }
- }
- },
- computed: {
- leftSwitchState: function leftSwitchState() {
- return this.xPos < 0;
- },
- rightSwitchState: function rightSwitchState() {
- return Math.abs(this.xPos) < this.realBoxWidth - this.width;
- },
- leftSwitchClass: function leftSwitchClass() {
- return this.leftSwitchState ? '' : this.options.switchDisabledClass;
- },
- rightSwitchClass: function rightSwitchClass() {
- return this.rightSwitchState ? '' : this.options.switchDisabledClass;
- },
- leftSwitch: function leftSwitch() {
- return {
- position: 'absolute',
- margin: this.height / 2 + 'px 0 0 -' + this.options.switchOffset + 'px',
- transform: 'translate(-100%,-50%)'
- };
- },
- rightSwitch: function rightSwitch() {
- return {
- position: 'absolute',
- margin: this.height / 2 + 'px 0 0 ' + (this.width + this.options.switchOffset) + 'px',
- transform: 'translateY(-50%)'
- };
- },
- float: function float() {
- return this.isHorizontal ? { float: 'left', overflow: 'hidden' } : { overflow: 'hidden' };
- },
- pos: function pos() {
- return {
- transform: 'translate(' + this.xPos + 'px,' + this.yPos + 'px)',
- transition: 'all ' + this.ease + ' ' + this.delay + 'ms',
- overflow: 'hidden'
- };
- },
- defaultOption: function defaultOption() {
- return {
- step: 1,
- limitMoveNum: 5,
- hoverStop: true,
- direction: 1,
- openTouch: true,
- singleHeight: 0,
- singleWidth: 0,
- waitTime: 1000,
- switchOffset: 30,
- autoPlay: true,
- navigation: false,
- switchSingleStep: 134,
- switchDelay: 400,
- switchDisabledClass: 'disabled',
- isSingleRemUnit: false };
- },
- options: function options() {
- return copyObj({}, this.defaultOption, this.classOption);
- },
- navigation: function navigation() {
- return this.options.navigation;
- },
- autoPlay: function autoPlay() {
- if (this.navigation) return false;
- return this.options.autoPlay;
- },
- scrollSwitch: function scrollSwitch() {
- return this.data.length >= this.options.limitMoveNum;
- },
- hoverStopSwitch: function hoverStopSwitch() {
- return this.options.hoverStop && this.autoPlay && this.scrollSwitch;
- },
- canTouchScroll: function canTouchScroll() {
- return this.options.openTouch;
- },
- isHorizontal: function isHorizontal() {
- return this.options.direction > 1;
- },
- baseFontSize: function baseFontSize() {
- return this.options.isSingleRemUnit ? parseInt(window.getComputedStyle(document.documentElement, null).fontSize) : 1;
- },
- realSingleStopWidth: function realSingleStopWidth() {
- return this.options.singleWidth * this.baseFontSize;
- },
- realSingleStopHeight: function realSingleStopHeight() {
- return this.options.singleHeight * this.baseFontSize;
- },
- step: function step() {
- var singleStep = void 0;
- var step = this.options.step;
- if (this.isHorizontal) {
- singleStep = this.realSingleStopWidth;
- } else {
- singleStep = this.realSingleStopHeight;
- }
- if (singleStep > 0 && singleStep % step > 0) {
- console.error('如果设置了单步滚动,step需是单步大小的约数,否则无法保证单步滚动结束的位置是否准确。~~~~~');
- }
- return step;
- }
- },
- methods: {
- reset: function reset() {
- this._cancle();
- this._initMove();
- },
- leftSwitchClick: function leftSwitchClick() {
- if (!this.leftSwitchState) return;
- if (Math.abs(this.xPos) < this.options.switchSingleStep) {
- this.xPos = 0;
- return;
- }
- this.xPos += this.options.switchSingleStep;
- },
- rightSwitchClick: function rightSwitchClick() {
- if (!this.rightSwitchState) return;
- if (this.realBoxWidth - this.width + this.xPos < this.options.switchSingleStep) {
- this.xPos = this.width - this.realBoxWidth;
- return;
- }
- this.xPos -= this.options.switchSingleStep;
- },
- _cancle: function _cancle() {
- cancelAnimationFrame(this.reqFrame || '');
- },
- touchStart: function touchStart(e) {
- var _this = this;
- if (!this.canTouchScroll) return;
- var timer = void 0;
- var touch = e.targetTouches[0];var _options = this.options,
- waitTime = _options.waitTime,
- singleHeight = _options.singleHeight,
- singleWidth = _options.singleWidth;
- this.startPos = {
- x: touch.pageX,
- y: touch.pageY
- };
- this.startPosY = this.yPos;
- this.startPosX = this.xPos;
- if (!!singleHeight && !!singleWidth) {
- if (timer) clearTimeout(timer);
- timer = setTimeout(function () {
- _this._cancle();
- }, waitTime + 20);
- } else {
- this._cancle();
- }
- },
- touchMove: function touchMove(e) {
- if (!this.canTouchScroll || e.targetTouches.length > 1 || e.scale && e.scale !== 1) return;
- var touch = e.targetTouches[0];
- var direction = this.options.direction;
- this.endPos = {
- x: touch.pageX - this.startPos.x,
- y: touch.pageY - this.startPos.y
- };
- event.preventDefault();
- var dir = Math.abs(this.endPos.x) < Math.abs(this.endPos.y) ? 1 : 0;
- if (dir === 1 && direction < 2) {
- this.yPos = this.startPosY + this.endPos.y;
- } else if (dir === 0 && direction > 1) {
- this.xPos = this.startPosX + this.endPos.x;
- }
- },
- touchEnd: function touchEnd() {
- var _this2 = this;
- if (!this.canTouchScroll) return;
- var timer = void 0;
- var direction = this.options.direction;
- this.delay = 50;
- if (direction === 1) {
- if (this.yPos > 0) this.yPos = 0;
- } else if (direction === 0) {
- var h = this.realBoxHeight / 2 * -1;
- if (this.yPos < h) this.yPos = h;
- } else if (direction === 2) {
- if (this.xPos > 0) this.xPos = 0;
- } else if (direction === 3) {
- var w = this.realBoxWidth * -1;
- if (this.xPos < w) this.xPos = w;
- }
- if (timer) clearTimeout(timer);
- timer = setTimeout(function () {
- _this2.delay = 0;
- _this2._move();
- }, this.delay);
- },
- enter: function enter() {
- if (this.hoverStopSwitch) this._stopMove();
- },
- leave: function leave() {
- if (this.hoverStopSwitch) this._startMove();
- },
- _move: function _move() {
- if (this.isHover) return;
- this._cancle();
- this.reqFrame = requestAnimationFrame(function () {
- var _this3 = this;
- var h = this.realBoxHeight / 2;
- var w = this.realBoxWidth / 2;var _options2 = this.options,
- direction = _options2.direction,
- waitTime = _options2.waitTime;
- var step = this.step;
- if (direction === 1) {
- if (Math.abs(this.yPos) >= h) {
- this.$emit('ScrollEnd');
- this.yPos = 0;
- }
- this.yPos -= step;
- } else if (direction === 0) {
- if (this.yPos >= 0) {
- this.$emit('ScrollEnd');
- this.yPos = h * -1;
- }
- this.yPos += step;
- } else if (direction === 2) {
- if (Math.abs(this.xPos) >= w) {
- this.$emit('ScrollEnd');
- this.xPos = 0;
- }
- this.xPos -= step;
- } else if (direction === 3) {
- if (this.xPos >= 0) {
- this.$emit('ScrollEnd');
- this.xPos = w * -1;
- }
- this.xPos += step;
- }
- if (this.singleWaitTime) clearTimeout(this.singleWaitTime);
- if (!!this.realSingleStopHeight) {
- if (Math.abs(this.yPos) % this.realSingleStopHeight < step) {
- this.singleWaitTime = setTimeout(function () {
- _this3._move();
- }, waitTime);
- } else {
- this._move();
- }
- } else if (!!this.realSingleStopWidth) {
- if (Math.abs(this.xPos) % this.realSingleStopWidth < step) {
- this.singleWaitTime = setTimeout(function () {
- _this3._move();
- }, waitTime);
- } else {
- this._move();
- }
- } else {
- this._move();
- }
- }.bind(this));
- },
- _initMove: function _initMove() {
- var _this4 = this;
- this.$nextTick(function () {
- var switchDelay = _this4.options.switchDelay;
- var autoPlay = _this4.autoPlay,
- isHorizontal = _this4.isHorizontal;
- _this4._dataWarm(_this4.data);
- _this4.copyHtml = '';
- if (isHorizontal) {
- _this4.height = _this4.$refs.wrap.offsetHeight;
- _this4.width = _this4.$refs.wrap.offsetWidth;
- var slotListWidth = _this4.$refs.slotList.offsetWidth;
- if (autoPlay) {
- slotListWidth = slotListWidth * 2 + 1;
- }
- _this4.$refs.realBox.style.width = slotListWidth + 'px';
- _this4.realBoxWidth = slotListWidth;
- }
- if (autoPlay) {
- _this4.ease = 'ease-in';
- _this4.delay = 0;
- } else {
- _this4.ease = 'linear';
- _this4.delay = switchDelay;
- return;
- }
- if (_this4.scrollSwitch) {
- var timer = void 0;
- if (timer) clearTimeout(timer);
- _this4.copyHtml = _this4.$refs.slotList.innerHTML;
- setTimeout(function () {
- _this4.realBoxHeight = _this4.$refs.realBox.offsetHeight;
- _this4._move();
- }, 0);
- } else {
- _this4._cancle();
- _this4.yPos = _this4.xPos = 0;
- }
- });
- },
- _dataWarm: function _dataWarm(data) {
- if (data.length > 100) {
- console.warn('\u6570\u636E\u8FBE\u5230\u4E86' + data.length + '\u6761\u6709\u70B9\u591A\u54E6~,\u53EF\u80FD\u4F1A\u9020\u6210\u90E8\u5206\u8001\u65E7\u6D4F\u89C8\u5668\u5361\u987F\u3002');
- }
- },
- _startMove: function _startMove() {
- this.isHover = false;
- this._move();
- },
- _stopMove: function _stopMove() {
- this.isHover = true;
- if (this.singleWaitTime) clearTimeout(this.singleWaitTime);
- this._cancle();
- }
- },
- mounted: function mounted() {
- this._initMove();
- },
- watch: {
- data: function data(newData, oldData) {
- this._dataWarm(newData);
- if (!arrayEqual(newData, oldData)) {
- this.reset();
- }
- },
- autoPlay: function autoPlay(bol) {
- if (bol) {
- this.reset();
- } else {
- this._stopMove();
- }
- }
- },
- beforeCreate: function beforeCreate() {
- this.reqFrame = null;
- this.singleWaitTime = null;
- this.isHover = false;
- this.ease = 'ease-in';
- },
- beforeDestroy: function beforeDestroy() {
- this._cancle();
- clearTimeout(this.singleWaitTime);
- }
- };
- /***/ }),
- /* 1 */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- var _myClass = __webpack_require__(2);
- var _myClass2 = _interopRequireDefault(_myClass);
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- _myClass2.default.install = function (Vue) {
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- Vue.component(options.componentName || _myClass2.default.name, _myClass2.default);
- };
- if (typeof window !== 'undefined' && window.Vue) {
- Vue.component(_myClass2.default.name, _myClass2.default);
- }
- exports.default = _myClass2.default;
- /***/ }),
- /* 2 */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_myClass_vue__ = __webpack_require__(0);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_myClass_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_myClass_vue__);
- /* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_myClass_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_myClass_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_f52f2968_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_myClass_vue__ = __webpack_require__(7);
- var disposed = false
- var normalizeComponent = __webpack_require__(3)
- /* script */
- /* template */
- /* template functional */
- var __vue_template_functional__ = false
- /* styles */
- var __vue_styles__ = null
- /* scopeId */
- var __vue_scopeId__ = null
- /* moduleIdentifier (server only) */
- var __vue_module_identifier__ = null
- var Component = normalizeComponent(
- __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_myClass_vue___default.a,
- __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_f52f2968_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_myClass_vue__["a" /* default */],
- __vue_template_functional__,
- __vue_styles__,
- __vue_scopeId__,
- __vue_module_identifier__
- )
- Component.options.__file = "src/components/myClass.vue"
- /* hot reload */
- if (false) {(function () {
- var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
- if (!hotAPI.compatible) return
- module.hot.accept()
- if (!module.hot.data) {
- hotAPI.createRecord("data-v-f52f2968", Component.options)
- } else {
- hotAPI.reload("data-v-f52f2968", Component.options)
- }
- module.hot.dispose(function (data) {
- disposed = true
- })
- })()}
- /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
- /***/ }),
- /* 3 */
- /***/ (function(module, exports) {
- /* globals __VUE_SSR_CONTEXT__ */
- // IMPORTANT: Do NOT use ES2015 features in this file.
- // This module is a runtime utility for cleaner component module output and will
- // be included in the final webpack user bundle.
- module.exports = function normalizeComponent (
- rawScriptExports,
- compiledTemplate,
- functionalTemplate,
- injectStyles,
- scopeId,
- moduleIdentifier /* server only */
- ) {
- var esModule
- var scriptExports = rawScriptExports = rawScriptExports || {}
- // ES6 modules interop
- var type = typeof rawScriptExports.default
- if (type === 'object' || type === 'function') {
- esModule = rawScriptExports
- scriptExports = rawScriptExports.default
- }
- // Vue.extend constructor export interop
- var options = typeof scriptExports === 'function'
- ? scriptExports.options
- : scriptExports
- // render functions
- if (compiledTemplate) {
- options.render = compiledTemplate.render
- options.staticRenderFns = compiledTemplate.staticRenderFns
- options._compiled = true
- }
- // functional template
- if (functionalTemplate) {
- options.functional = true
- }
- // scopedId
- if (scopeId) {
- options._scopeId = scopeId
- }
- var hook
- if (moduleIdentifier) { // server build
- hook = function (context) {
- // 2.3 injection
- context =
- context || // cached call
- (this.$vnode && this.$vnode.ssrContext) || // stateful
- (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
- // 2.2 with runInNewContext: true
- if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
- context = __VUE_SSR_CONTEXT__
- }
- // inject component styles
- if (injectStyles) {
- injectStyles.call(this, context)
- }
- // register component module identifier for async chunk inferrence
- if (context && context._registeredComponents) {
- context._registeredComponents.add(moduleIdentifier)
- }
- }
- // used by ssr in case component is cached and beforeCreate
- // never gets called
- options._ssrRegister = hook
- } else if (injectStyles) {
- hook = injectStyles
- }
- if (hook) {
- var functional = options.functional
- var existing = functional
- ? options.render
- : options.beforeCreate
- if (!functional) {
- // inject component registration as beforeCreate hook
- options.beforeCreate = existing
- ? [].concat(existing, hook)
- : [hook]
- } else {
- // for template-only hot-reload because in that case the render fn doesn't
- // go through the normalizer
- options._injectStyles = hook
- // register for functioal component in vue file
- options.render = function renderWithStyleInjection (h, context) {
- hook.call(context)
- return existing(h, context)
- }
- }
- }
- return {
- esModule: esModule,
- exports: scriptExports,
- options: options
- }
- }
- /***/ }),
- /* 4 */
- /***/ (function(module, exports) {
- /**
- * @desc AnimationFrame简单兼容hack
- */
- var animationFrame = function animationFrame() {
- window.cancelAnimationFrame = function () {
- return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame || function (id) {
- return window.clearTimeout(id);
- };
- }();
- window.requestAnimationFrame = function () {
- return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {
- return window.setTimeout(callback, 1000 / 60);
- };
- }();
- };
- module.exports = animationFrame;
- /***/ }),
- /* 5 */
- /***/ (function(module, exports) {
- /**
- * @desc 判断数组是否相等
- * @param {arr1,arr2}
- * @return {Boolean}
- */
- var arrayEqual = function arrayEqual(arr1, arr2) {
- if (arr1 === arr2) return true;
- if (arr1.length !== arr2.length) return false;
- for (var i = 0; i < arr1.length; ++i) {
- if (arr1[i] !== arr2[i]) return false;
- }
- return true;
- };
- module.exports = arrayEqual;
- /***/ }),
- /* 6 */
- /***/ (function(module, exports) {
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
- /**
- * @desc 深浅合并拷贝
- */
- function copyObj() {
- if (!Array.isArray) {
- Array.isArray = function (arg) {
- return Object.prototype.toString.call(arg) === '[object Array]';
- };
- }
- var name = void 0,
- options = void 0,
- src = void 0,
- copy = void 0,
- copyIsArray = void 0,
- clone = void 0,
- i = 1,
- target = arguments[0] || {},
- // 使用||运算符,排除隐式强制类型转换为false的数据类型
- deep = false,
- len = arguments.length;
- if (typeof target === 'boolean') {
- deep = target;
- target = arguments[1] || {};
- i++;
- }
- if ((typeof target === 'undefined' ? 'undefined' : _typeof(target)) !== 'object' && typeof target !== 'function') {
- target = {};
- }
- // 如果arguments.length === 1 或typeof arguments[0] === 'boolean',且存在arguments[1],则直接返回target对象
- if (i === len) {
- return target;
- }
- for (; i < len; i++) {
- //所以如果源对象中数据类型为Undefined或Null那么就会跳过本次循环,接着循环下一个源对象
- if ((options = arguments[i]) != null) {
- // 如果遇到源对象的数据类型为Boolean, Number for in循环会被跳过,不执行for in循环// src用于判断target对象是否存在name属性
- for (name in options) {
- // src用于判断target对象是否存在name属性
- src = target[name];
- // 需要复制的属性当前源对象的name属性
- copy = options[name];
- // 判断copy是否是数组
- copyIsArray = Array.isArray(copy);
- // 如果是深复制且copy是一个对象或数组则需要递归直到copy成为一个基本数据类型为止
- if (deep && copy && ((typeof copy === 'undefined' ? 'undefined' : _typeof(copy)) === 'object' || copyIsArray)) {
- if (copyIsArray) {
- copyIsArray = false;
- // 如果目标对象存在name属性且是一个数组
- // 则使用目标对象的name属性,否则重新创建一个数组,用于复制
- clone = src && Array.isArray(src) ? src : [];
- } else {
- // 如果目标对象存在name属性且是一个对象则使用目标对象的name属性,否则重新创建一个对象,用于复制
- clone = src && (typeof src === 'undefined' ? 'undefined' : _typeof(src)) === 'object' ? src : {};
- }
- // 深复制,所以递归调用copyObject函数
- // 返回值为target对象,即clone对象
- // copy是一个源对象
- target[name] = copyObj(deep, clone, copy);
- } else if (copy !== undefined) {
- // 浅复制,直接复制到target对象上
- target[name] = copy;
- }
- }
- }
- }
- return target;
- }
- module.exports = copyObj;
- /***/ }),
- /* 7 */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- var render = function() {
- var _vm = this
- var _h = _vm.$createElement
- var _c = _vm._self._c || _h
- return _c("div", { ref: "wrap" }, [
- _vm.navigation
- ? _c(
- "div",
- {
- class: _vm.leftSwitchClass,
- style: _vm.leftSwitch,
- on: { click: _vm.leftSwitchClick }
- },
- [_vm._t("left-switch")],
- 2
- )
- : _vm._e(),
- _vm._v(" "),
- _vm.navigation
- ? _c(
- "div",
- {
- class: _vm.rightSwitchClass,
- style: _vm.rightSwitch,
- on: { click: _vm.rightSwitchClick }
- },
- [_vm._t("right-switch")],
- 2
- )
- : _vm._e(),
- _vm._v(" "),
- _c(
- "div",
- {
- ref: "realBox",
- style: _vm.pos,
- on: {
- mouseenter: _vm.enter,
- mouseleave: _vm.leave,
- touchstart: _vm.touchStart,
- touchmove: _vm.touchMove,
- touchend: _vm.touchEnd
- }
- },
- [
- _c(
- "div",
- { ref: "slotList", style: _vm.float },
- [_vm._t("default")],
- 2
- ),
- _vm._v(" "),
- _c("div", {
- style: _vm.float,
- domProps: { innerHTML: _vm._s(_vm.copyHtml) }
- })
- ]
- )
- ])
- }
- var staticRenderFns = []
- render._withStripped = true
- var esExports = { render: render, staticRenderFns: staticRenderFns }
- /* harmony default export */ __webpack_exports__["a"] = (esExports);
- if (false) {
- module.hot.accept()
- if (module.hot.data) {
- require("vue-hot-reload-api") .rerender("data-v-f52f2968", esExports)
- }
- }
- /***/ })
- /******/ ])["default"];
- });
|