! function(a, b) { a.SCS = { version: "1.0.0" }, SCS.defaults = { navArr: [{ title: "鐪?, id: "scs_items_prov" }, { title: "甯?, id: "scs_items_city" }, { title: "鍖?, id: "scs_items_dist" }], skinCss: "", onOk: function(a, b) {}, onCancel: function() {} }, SCS.init = function(a) { var a = b.extend({}, SCS.defaults, a), c = "", d = a.navArr; c += '
', d.forEach(function(a) { c += '
' }), c += '
鍙栨秷
纭畾
', b("#cascade_scroll_selects").remove(), b("body").append(c); var e = b("#cascade_scroll_selects"); e.find(".scs_dialog").slideDown(300), e.find(".scs_cover").click(function() { e.find(".scs_dialog").slideUp(200, function() { e.remove() }) }), e.find(".scs_btn_ok").click(function() { var c = "", d = ""; b("#cascade_scroll_selects").find(".scs_selected").each(function(a) { var e = b(this); 0 != a ? (c += "-" + e.attr("data-val"), d += " " + e.html()) : (c = e.attr("data-val"), d = e.html()) }), a.onOk(c, d), e.find(".scs_dialog").slideUp(200, function() { e.remove() }) }), e.find(".scs_btn_cancel").click(function() { a.onCancel(), e.find(".scs_dialog").slideUp(200, function() { e.remove() }) }) }, SCS.destroy = function(a) { "function" == typeof a && a(); var c = b("#cascade_scroll_selects"); c.find(".scs_dialog").slideUp(200, function() { c.remove() }) }, SCS.scrollCascadeSelect = function(a) { function c(a) { m = !0, p = o = a.pageY, s = (new Date).getTime(), q = parseInt(h.css("webkitTransform").split(",").pop().replace( " ", "").replace(")", "")), i.addEventListener("mousemove", d), i.addEventListener("mouseup", e), i.addEventListener( "mouseleave", f) } function d(a) { m && (w = (a.pageY - v) / ((new Date).getTime() - u), p = a.pageY, r = q + p - o, h.css({ "-webkit-transition": "-webkit-transform 0s ease-out", "-webkit-transform": "translate3d(0, " + r + "px, 0)" }), v = p, u = (new Date).getTime(), n = !1) } function e(b) { if (t = (new Date).getTime(), Math.abs(p - o) > 5 && t - s > 20) { var c = w, g = c > 0 ? .5 * c * c / .001 : -.5 * c * c / .001, j = Math.abs(c) / .001; r = parseInt(h.css("webkitTransform").split(",").pop().replace(" ", "").replace(")", "")), r += g; var k = r % 40; Math.abs(k) >= 20 ? r += 0 > k ? -1 * (40 + k) : 40 - k : r -= k, r > 80 ? r = 80 : r < -1 * (h.attr("data-height") - 120) && (r = -1 * (h.attr("data-height") - 120)), h.css({ "-webkit-transition": "-webkit-transform " + j / 1e3 + "s ease-out", "-webkit-transform": "translate3d(0, " + r + "px, 0)" }), l.selectedIndex = Math.abs((r - 80) / -40), setTimeout(function() { h.find(".scs_item").removeClass("scs_selected").eq(l.selectedIndex).addClass("scs_selected"), a.onChange(l.getSelectedItem(), l.selectedIndex) }, j) } else n = !0; m = !1, o = 0, p = 0, q = 0, r = 0, s = t = 0, v = w = 0, i.removeEventListener("mousemove", d), i.removeEventListener( "mouseup", e), i.removeEventListener("mouseleave", f) } function f(b) { if (m) if (t = (new Date).getTime(), Math.abs(p - o) > 5 && t - s > 20) { var c = w, g = c > 0 ? .5 * c * c / .001 : -.5 * c * c / .001, j = Math.abs(c) / .001; r = parseInt(h.css("webkitTransform").split(",").pop().replace(" ", "").replace(")", "")), r += g, residue = r % 40, Math.abs(residue) >= 20 ? r += residue < 0 ? -1 * (40 + residue) : 40 - residue : r -= residue, r > 80 ? r = 80 : r < -1 * (h.attr("data-height") - 120) && (r = -1 * (h.attr("data-height") - 120)), h.css({ "-webkit-transition": "-webkit-transform " + j / 1e3 + "s ease-out", "-webkit-transform": "translate3d(0, " + r + "px, 0)" }), l.selectedIndex = Math.abs((r - 80) / -40), setTimeout(function() { h.find(".scs_item").removeClass("scs_selected").eq(l.selectedIndex).addClass("scs_selected"), a.onChange(l.getSelectedItem(), l.selectedIndex) }, j) } else n = !0; m = !1, o = 0, p = 0, q = 0, r = 0, s = t = 0, v = w = 0, i.removeEventListener("mousemove", d), i.removeEventListener( "mouseup", e), i.removeEventListener("mouseleave", f) } var g = { el: void 0, dataArr: [], startIndex: 0, onInit: function(a, b) {}, onChange: function(a, b) {} }, a = b.extend({}, g, a), h = b(a.el), i = h.get(0), j = a.dataArr, k = a.startIndex, l = this, m = !1, n = !1, o = 0, p = 0, q = 0, r = q, s = 0, t = 0, u = (new Date).getTime(), v = 0, w = 0, x = !0; try { ontouchstart } catch (y) { x = !1 } l.selectedIndex = k, l.getSelectedItem = function() { return j[this.selectedIndex] }, x ? (i.addEventListener("touchstart", function(a) { p = o = a.changedTouches[0].pageY, s = (new Date).getTime(), q = parseInt(h.css("webkitTransform").split(",").pop() .replace(" ", "").replace(")", "")), w = 0 }, !1), i.addEventListener("touchmove", function(a) { event.preventDefault(), w = (a.changedTouches[0].pageY - v) / ((new Date).getTime() - u), p = a.changedTouches[0] .pageY, r = q + p - o, h.css({ "-webkit-transition": "-webkit-transform 0s ease-out", "-webkit-transform": "translate3d(0, " + r + "px, 0)" }), v = p, u = (new Date).getTime() }, !1), i.addEventListener("touchend", function(b) { if (t = (new Date).getTime(), Math.abs(p - o) > 5 && t - s > 50) { var c = w, d = c > 0 ? .5 * c * c / .001 : -.5 * c * c / .001, e = Math.abs(c) / .001; r = parseInt(h.css("webkitTransform").split(",").pop().replace(" ", "").replace(")", "")), r += d; var f = r % 40; Math.abs(f) >= 20 ? r += 0 > f ? -1 * (40 + f) : 40 - f : r -= f, r > 80 ? r = 80 : r < -1 * (h.attr( "data-height") - 120) && (r = -1 * (h.attr("data-height") - 120)), h.css({ "-webkit-transition": "-webkit-transform " + e / 1e3 + "s ease-out", "-webkit-transform": "translate3d(0, " + r + "px, 0)" }), l.selectedIndex = Math.abs((r - 80) / -40), setTimeout(function() { h.find(".scs_item").removeClass("scs_selected").eq(l.selectedIndex).addClass("scs_selected"), a.onChange(l.getSelectedItem(), l.selectedIndex), n = !1 }, e) } else n = !0; o = 0, p = 0, q = 0, r = 0, s = t = 0, v = w = 0 }, !1)) : i.addEventListener("mousedown", c), h.on("click", ".scs_item", function(c) { if (n) { var d = b(this), e = d.position().top, f = 80 - e; h.css({ "-webkit-transition": "-webkit-transform 0s ease-out", "-webkit-transform": "translate3d(0, " + f + "px, 0)" }), h.find(".scs_item").removeClass("scs_selected"), d.addClass("scs_selected"), l.selectedIndex = Math.abs((f - 80) / -40), a.onChange(l.getSelectedItem(), l.selectedIndex), havedClick = !1 } }), l.render = function(a, b, c) { var d = "", e = b || 0, f = 80 - 40 * e; return void 0 == a ? void h.html(d) : (a.forEach(function(a, b) { d += e != b ? '
' + a.val + "
" : '
' + a.val + "
" }), h.html(d), h.attr("data-height", 40 * a.length), h.css("-webkit-transform", "translate3d(0, " + f + "px, 0)"), h.css("transform", "translate3d(0, " + f + "px, 0)"), l.selectedIndex = e, j = a, void("function" == typeof c && c())) }; var z = function() { l.render(j, k), a.onInit(l.getSelectedItem(), l.selectedIndex) }; z() } }(this, jQuery);