Browse Source

:feature: 触屏设备下的交互逻辑

zhanghe 6 years ago
parent
commit
ba63e86cf8
3 changed files with 32 additions and 25 deletions
  1. 29 22
      src/lib/js/FocusEngine.js
  2. 2 2
      src/stage/index/index.html
  3. 1 1
      src/stage/index/style/CourseScene.less

+ 29 - 22
src/lib/js/FocusEngine.js

@@ -52,7 +52,7 @@
 
 	// webpack入口,用于打包标签引用的build文件,引入页面后会创建全局的FocusEngine对象。
 
-	
+
 
 	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
 
@@ -68,7 +68,7 @@
 /* 1 */
 /***/ function(module, exports, __webpack_require__) {
 
-	
+
 
 	Object.defineProperty(exports, '__esModule', {
 	  value: true
@@ -326,7 +326,7 @@
 /* 3 */
 /***/ function(module, exports, __webpack_require__) {
 
-	
+
 
 	Object.defineProperty(exports, '__esModule', {
 	  value: true
@@ -690,14 +690,21 @@
 	              e.preventDefault();
 	            }
 	            if (!w.disabled && w.getDOMNode().style.visibility != 'hidden') {
-	              if (w.focused) {
-	                w.fire(new _event2['default']('ok', w, { isClick: true }));
-	              } else {
-	                var canFocus = w.getDOMNode().getAttribute('can-focus');
-	                if (canFocus != 'no') {
-	                  w.focus();
-	                }
-	              }
+                var canFocus = w.getDOMNode().getAttribute('can-focus');
+                if (canFocus != 'no') {
+                  w.focus();
+                }
+								setTimeout(function() {
+	              	w.fire(new _event2['default']('ok', w, { isClick: true }));
+								}, 50);
+	              // if (w.focused) {
+	              //   w.fire(new _event2['default']('ok', w, { isClick: true }));
+	              // } else {
+	              //   var canFocus = w.getDOMNode().getAttribute('can-focus');
+	              //   if (canFocus != 'no') {
+	              //     w.focus();
+	              //   }
+	              // }
 	            }
 	            return;
 	            // 如果找到的第一个组件不是叶子组件,则不进行操作
@@ -1265,7 +1272,7 @@
 /* 4 */
 /***/ function(module, exports, __webpack_require__) {
 
-	
+
 
 	Object.defineProperty(exports, '__esModule', {
 	  value: true
@@ -1535,7 +1542,7 @@
 /* 5 */
 /***/ function(module, exports, __webpack_require__) {
 
-	
+
 
 	Object.defineProperty(exports, '__esModule', {
 	  value: true
@@ -2019,7 +2026,7 @@
 /***/ function(module, exports, __webpack_require__) {
 
 	// requestAnimationFrame shim for Blitz
-	
+
 
 	Object.defineProperty(exports, '__esModule', {
 	  value: true
@@ -2248,7 +2255,7 @@
 	 */
 
 	// These values are established by empiricism with tests (tradeoff: performance VS precision)
-	
+
 
 	var NEWTON_ITERATIONS = 4;
 	var NEWTON_MIN_SLOPE = 0.001;
@@ -2364,7 +2371,7 @@
 /* 8 */
 /***/ function(module, exports, __webpack_require__) {
 
-	
+
 
 	Object.defineProperty(exports, '__esModule', {
 	  value: true
@@ -3390,7 +3397,7 @@
 /* 9 */
 /***/ function(module, exports, __webpack_require__) {
 
-	
+
 
 	Object.defineProperty(exports, '__esModule', {
 	  value: true
@@ -3641,11 +3648,11 @@
 	    }
 	    if (this.isSetData) {
 	      this.listDom.style.transition = '';
-	      this.listDom.style.transform = 'translateY(' + (offset + this.rect.height) + 'px)';
+	      // this.listDom.style.transform = 'translateY(' + (offset + this.rect.height) + 'px)';
 	      this.offset = offset + this.rect.height;
 	      setTimeout(function () {
 	        _this4.listDom.style.transition = 'transform ' + _this4.duration + 's ' + _this4.easing;
-	        _this4.listDom.style.transform = 'translateY(' + offset + 'px)';
+	        // _this4.listDom.style.transform = 'translateY(' + offset + 'px)';
 	        var des = -_this4.rect.height / 3;
 	        _this4.offset = offset;
 	        !_this4.isScrolling && _this4.fire(new _event2['default']('scrollstart', _this4, { des: des }));
@@ -3653,7 +3660,7 @@
 	      }, 300);
 	    } else {
 	      this.listDom.style.transition = 'transform ' + this.duration + 's ' + this.easing;
-	      this.listDom.style.transform = 'translateY(' + offset + 'px)';
+	      // this.listDom.style.transform = 'translateY(' + offset + 'px)';
 	      var des = offset - this.offset;
 	      this.offset = offset;
 	      !this.isScrolling && this.fire(new _event2['default']('scrollstart', this, { des: des }));
@@ -3707,7 +3714,7 @@
 	    for (var i = 0; i < this.childWidgets.length; i++) {
 	      var widget = this.childWidgets[i];
 	      var delay = -Math.abs(widget.col - curWidget.col) * e.des * this.delay;
-	      widget.con.style.transform = 'translateY(' + delay + 'px)';
+	      // widget.con.style.transform = 'translateY(' + delay + 'px)';
 	    }
 	  };
 
@@ -3760,4 +3767,4 @@
 	module.exports = exports['default'];
 
 /***/ }
-/******/ ]);
+/******/ ]);

+ 2 - 2
src/stage/index/index.html

@@ -3,7 +3,7 @@
 
 <head>
 	<meta charset="UTF-8">
-	<meta name="viewport" content="width=1920">
+	<meta name="viewport" content="width=1920,user-scalable=0">
 	<title>双师教学标准平台</title>
 	<link rel="stylesheet" href="../../lib/css/base.css" />
 </head>
@@ -48,7 +48,7 @@
 		}
 	</script>
 	<!-- <script src="../../lib/js/alitv-debug.min.js"></script> -->
-	<script src="../../lib/js/FocusEngine.min.js"></script>
+	<script src="../../lib/js/FocusEngine.js"></script>
 	<script src="../../lib/js/blitz.js"></script>
 	<script src="../../lib/js/moye.min.js"></script>
 	<script src="../../lib/js/TVUtil.min.js"></script>

+ 1 - 1
src/stage/index/style/CourseScene.less

@@ -189,7 +189,7 @@
 			width: 100%;
 			padding: 0.28rem 1.43rem 0;
 			margin-top: .5rem;
-			overflow: hidden;
+			overflow: scroll;
 			height: 8.8rem;
 
 			.scroll-list {