mirror of
https://github.com/wu736139669/vczero.github.io.git
synced 2026-08-05 06:23:38 +00:00
add 推荐
This commit is contained in:
+2
-4
@@ -306,7 +306,7 @@ html body {
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
bottom: 5px;
|
||||
height: 130px;
|
||||
height: 25px;
|
||||
z-index: 10000;
|
||||
overflow: hidden;
|
||||
}
|
||||
@@ -337,9 +337,8 @@ html body {
|
||||
}
|
||||
.SN_info_tui {
|
||||
position: relative;
|
||||
margin-top: 20px;
|
||||
margin-left: 4px;
|
||||
height: 100px;
|
||||
min-height: 100px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.SN_info_tui_div {
|
||||
@@ -358,7 +357,6 @@ html body {
|
||||
}
|
||||
#SN_info_btn {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
width: 25px;
|
||||
margin-left: -12px;
|
||||
left: 50%;
|
||||
|
||||
+25
-34
@@ -189,48 +189,39 @@
|
||||
<div id="ROUTER_TPL"></div>
|
||||
</div>
|
||||
<!--信息窗-->
|
||||
<div class="SN_info">
|
||||
<div class="SN_info" style="display:none;">
|
||||
<div id="SN_info_btn">
|
||||
<i class="fa fa-bars SN_info_btn_icon" style="font-size:17px;"></i>
|
||||
</div>
|
||||
<div id="SN_TPL"></div>
|
||||
<script type="text/template" id="tpl">
|
||||
<div class="SN_info_wrapper">
|
||||
<% for(var i = 0; i < list.length; i++) { %>
|
||||
<% for(var i = 0; i < list.length; i++) {%>
|
||||
<div style="width:<%=width%>px;" class="SN_info_item sh">
|
||||
<div class="fl SN_info_tui" style="width:<%=tui_width%>px;">
|
||||
<div class="SN_info_tui_div" style="width:<%=tui_width%>px;">
|
||||
<a target="_blank">
|
||||
<i class="fa fa-star SN_info_tui_icon"></i> 那座城市 特价
|
||||
<span class="SN_info_rmb"><i class="fa fa-jpy"></i> 899</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="SN_info_tui_div" style="width:<%=tui_width%>px;">
|
||||
<a target="_blank">
|
||||
<i class="fa fa-star SN_info_tui_icon"></i> 那座城市 特价
|
||||
<span class="SN_info_rmb"><i class="fa fa-jpy"></i> 899</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="SN_info_tui_div" style="width:<%=tui_width%>px;">
|
||||
<a target="_blank">
|
||||
<i class="fa fa-star SN_info_tui_icon"></i> 那座城市 特价
|
||||
<span class="SN_info_rmb"><i class="fa fa-jpy"></i> 899</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="SN_info_tui_div" style="width:<%=tui_width%>px;">
|
||||
<a target="_blank">
|
||||
<i class="fa fa-star SN_info_tui_icon"></i> 那座城市 特价
|
||||
<span class="SN_info_rmb"><i class="fa fa-jpy"></i> 899</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="SN_info_tui_div" style="width:<%=tui_width%>px;">
|
||||
<a target="_blank">
|
||||
<i class="fa fa-star SN_info_tui_icon"></i> 那座城市 特价
|
||||
<span class="SN_info_rmb"><i class="fa fa-jpy"></i> 899</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div style="font-size:14px;font-style: italic;color:#4C4C4C;">
|
||||
<%=i+1%>
|
||||
<span style="font-style:normal;"><%=list[i].content%></span>
|
||||
</div>
|
||||
<%if(data){%>
|
||||
<%for(var n = 0; n < 5; n++){%>
|
||||
<%var k = n + i * 5; %>
|
||||
<div class="SN_info_tui_div" style="width:<%=tui_width%>px;">
|
||||
<a target="_blank">
|
||||
<i class="fa fa-star SN_info_tui_icon"></i>
|
||||
<span><%=data[k].name%></span>
|
||||
<span style="color:#999;"><%=data[k].address%></span>
|
||||
<%if(data[k].tel){%>
|
||||
<a href="tel:<%=data[k].tel%>">
|
||||
<span class="SN_info_rmb">
|
||||
<i class="fa fa-phone" style="color:#23BCFF;font-size:16px;"></i>
|
||||
</span>
|
||||
</a>
|
||||
<%}%>
|
||||
</a>
|
||||
</div>
|
||||
<%}%>
|
||||
<%}%>
|
||||
</div>
|
||||
<div class="fr SN_info_img">
|
||||
<img src="img/iio.png" />
|
||||
|
||||
@@ -32,8 +32,12 @@ define('home/dashboard', function(require, exports, module) {
|
||||
setInterval(function(){
|
||||
var val = parseInt(events.get('dashSpeed'));
|
||||
val = val + parseInt(Math.random() * 2);
|
||||
if(isNaN(val)){
|
||||
return;
|
||||
}
|
||||
gauge.set(val);
|
||||
}, 1000);
|
||||
|
||||
}else{
|
||||
charts_dash.fadeOut();
|
||||
}
|
||||
|
||||
+29
-25
@@ -9,29 +9,6 @@ define('home/events', function(require, exports, module) {
|
||||
var map = require('home/map');
|
||||
//获取路线数据
|
||||
var router = require('common/data').router[0];
|
||||
// //地图对象
|
||||
// events.set('map', map);
|
||||
// //默认路线
|
||||
// events.set('router', router);
|
||||
// //起点
|
||||
// events.set('origin', new AMap.LngLat(router[0].x, router[0].y));
|
||||
// //终点
|
||||
// events.set('destination', new AMap.LngLat(router[router.length - 1].x, router[router.length - 1].y));
|
||||
// //途经点
|
||||
// events.set('wayPoints', []);
|
||||
// //采集数据
|
||||
// events.set('disTime', []);
|
||||
// //所有点集合
|
||||
// events.set('allPoints', []);
|
||||
// //汽车点
|
||||
// events.set('carMarker', null);
|
||||
// //实时车的位置
|
||||
// events.set('realCarIndex', 0);
|
||||
// //仪表盘车速
|
||||
// events.set('dashSpeed', 0);
|
||||
// //计时器
|
||||
// events.set('realSpeedHandle', null);
|
||||
// events.set('carWatchHandle', null);
|
||||
|
||||
events.on('mapRefresh', function(){
|
||||
map.clearMap();
|
||||
@@ -66,6 +43,8 @@ define('home/events', function(require, exports, module) {
|
||||
//计时器
|
||||
events.set('realSpeedHandle', null);
|
||||
events.set('carWatchHandle', null);
|
||||
//热门推荐
|
||||
events.set('hots', []);
|
||||
});
|
||||
|
||||
|
||||
@@ -111,6 +90,31 @@ define('home/events', function(require, exports, module) {
|
||||
driving(sp, ep);
|
||||
}
|
||||
});
|
||||
|
||||
//拿到地点数据
|
||||
AMap.service(['AMap.PlaceSearch'], function(){
|
||||
var search = new AMap.PlaceSearch({
|
||||
type: '餐饮服务|购物服务|生活服务|住宿服务|风景名胜|餐饮|酒店',
|
||||
extensions: 'base'
|
||||
});
|
||||
var router = events.get('router');
|
||||
router.forEach(function(data){
|
||||
var center = new AMap.LngLat(data.x, data.y);
|
||||
search.searchNearBy('酒店|景点', center, 50000, function(status, result){
|
||||
if(result.info === 'OK'){
|
||||
var hots = events.get('hots');
|
||||
var pois = result.poiList.pois;
|
||||
var len = pois.length > 5 ? 5: pois.length;
|
||||
for(var n = 0; n < len; n++){
|
||||
hots.push(pois[n]);
|
||||
}
|
||||
events.set('hots', hots);
|
||||
}else{
|
||||
console.log('服务出错');
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
//绘制起点和终点
|
||||
@@ -224,9 +228,9 @@ define('home/events', function(require, exports, module) {
|
||||
$('#router_circle_' + i).removeClass('firebug_flash');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (Math.abs(carPos.lng - router[router.length - 1].x) < 0.01 && Math.abs(carPos.lat - router[router.length - 1].y) < 0.01) {
|
||||
clearInterval(carWatch);
|
||||
clearInterval(carWatchHandle);
|
||||
}
|
||||
|
||||
}, 500);
|
||||
|
||||
+102
-117
@@ -1,119 +1,104 @@
|
||||
define('home/info', function (require, exports, module) {
|
||||
var _ = require('lib/underscore');
|
||||
var $ = require('lib/zepto_pj');
|
||||
|
||||
//渲染数据
|
||||
var width = document.body.clientWidth;
|
||||
var wrapper = $('#SN_TPL');
|
||||
var tpl = $('#tpl').html();
|
||||
var data = {
|
||||
width: width - 20,
|
||||
tui_width: width - 140,
|
||||
list: [
|
||||
{
|
||||
name: '苏州'
|
||||
},
|
||||
{
|
||||
name: '上海'
|
||||
},
|
||||
{
|
||||
name: '南京'
|
||||
},
|
||||
{
|
||||
name: '苏州'
|
||||
},
|
||||
{
|
||||
name: '上海'
|
||||
},
|
||||
{
|
||||
name: '南京'
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
var html = _.template(tpl)(data);
|
||||
wrapper.html(html);
|
||||
|
||||
//动画特效
|
||||
var wrapperContent = $('.SN_info_wrapper');
|
||||
var wholeLength = width * data.list.length;
|
||||
wrapper.css('width', wholeLength);
|
||||
|
||||
//记录初始位置
|
||||
var startX = 0;
|
||||
wrapperContent.on('touchstart', function (e) {
|
||||
startX = e.changedTouches[0].clientX;
|
||||
});
|
||||
|
||||
wrapperContent.on('touchend', endTouch);
|
||||
|
||||
//隐藏和显示
|
||||
var SN_info_btn = $('#SN_info_btn');
|
||||
var SN_info = $('.SN_info');
|
||||
var SN_info_item = $('.SN_info_item');
|
||||
|
||||
SN_info_btn.on('click', function(){
|
||||
if(parseInt(SN_info.css('height')) > 100){
|
||||
SN_info.css('height', '25px');
|
||||
$('.SN_info_btn_icon').css('fontSize', '20px');
|
||||
SN_info_item.hide();
|
||||
}else{
|
||||
SN_info.css('height', '130px');
|
||||
SN_info_item.show();
|
||||
$('.SN_info_btn_icon').css('fontSize', '17px');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function endTouch(e){
|
||||
var dis = e.changedTouches[0].clientX - startX;
|
||||
//获取当前translate3d的位置
|
||||
var transform = wrapperContent.css('transform') || wrapperContent.css('-webkit-transform');
|
||||
var currentPos = parseInt(transform.split(',')[0].split('(')[1]);
|
||||
console.log(currentPos);
|
||||
//移动
|
||||
if (Math.abs(dis) > 20) {
|
||||
//左移
|
||||
if (dis < -20) {
|
||||
var w = 0;
|
||||
var handle = setInterval(function () {
|
||||
w += width/8;
|
||||
if (w <= width && Math.abs(currentPos) < (wholeLength - width - 10)) {
|
||||
var newX = (currentPos - w);
|
||||
wrapperContent.css('transform', 'translate3d(' + newX + 'px, 0px, 0px)');
|
||||
wrapperContent.css('-webkit-transform', 'translate3d(' + newX + 'px, 0px, 0px)');
|
||||
} else {
|
||||
clearInterval(handle);
|
||||
}
|
||||
|
||||
}, 30);
|
||||
}
|
||||
|
||||
//右移
|
||||
if (dis > 20) {
|
||||
var w = 0;
|
||||
var handle = setInterval(function () {
|
||||
w += width/8;
|
||||
if (w <= width && Math.abs(currentPos) > 10) {
|
||||
var newX = (currentPos + w);
|
||||
wrapperContent.css('transform', 'translate3d(' + newX + 'px, 0px, 0px)');
|
||||
wrapperContent.css('-webkit-transform', 'translate3d(' + newX + 'px, 0px, 0px)');
|
||||
} else {
|
||||
clearInterval(handle);
|
||||
}
|
||||
}, 30);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
define('home/info', function(require, exports, module) {
|
||||
var _ = require('lib/underscore');
|
||||
var $ = require('lib/zepto_pj');
|
||||
var router = require('common/data').router[1];
|
||||
var Events = require('lib/events');
|
||||
var info = new Events();
|
||||
var wrapper = $('#SN_TPL');
|
||||
var tpl = $('#tpl').html();
|
||||
//隐藏和显示
|
||||
var SN_info_btn = $('#SN_info_btn');
|
||||
var SN_info = $('.SN_info');
|
||||
var SN_info_item = $('.SN_info_item');
|
||||
SN_info_btn.on('click', function() {
|
||||
if (parseInt(SN_info.css('height')) > 100) {
|
||||
SN_info.css('height', '25px');
|
||||
$('.SN_info_btn_icon').css('fontSize', '20px');
|
||||
SN_info_item.hide();
|
||||
} else {
|
||||
SN_info.css('height', '130px');
|
||||
SN_info_item.show();
|
||||
$('.SN_info_btn_icon').css('fontSize', '17px');
|
||||
}
|
||||
});
|
||||
|
||||
//外部触发
|
||||
info.on('refresh', function(){
|
||||
var width = document.body.clientWidth;
|
||||
var items = info.get('list');
|
||||
var router = info.get('router');
|
||||
|
||||
var data = {
|
||||
width: width - 20,
|
||||
tui_width: width - 140,
|
||||
list: router,
|
||||
data: items
|
||||
};
|
||||
var html = _.template(tpl)(data);
|
||||
wrapper.html(html);
|
||||
|
||||
//使用动画
|
||||
var wrapperContent = $('.SN_info_wrapper');
|
||||
var wholeLength = width * data.list.length;
|
||||
wrapper.css('width', wholeLength);
|
||||
|
||||
//默认隐藏在底部
|
||||
SN_info.fadeIn();//加载
|
||||
SN_info.css('height', '25px');
|
||||
$('.SN_info_btn_icon').css('fontSize', '20px');
|
||||
SN_info_item.hide();
|
||||
|
||||
//记录初始位置
|
||||
var startX = 0;
|
||||
wrapperContent.on('touchstart', function(e) {
|
||||
startX = e.changedTouches[0].clientX;
|
||||
});
|
||||
wrapperContent.on('touchend', endTouch);
|
||||
|
||||
//动画
|
||||
function endTouch(e) {
|
||||
var dis = e.changedTouches[0].clientX - startX;
|
||||
//获取当前translate3d的位置
|
||||
var transform = wrapperContent.css('transform') || wrapperContent.css('-webkit-transform');
|
||||
var currentPos = parseInt(transform.split(',')[0].split('(')[1]);
|
||||
|
||||
//移动
|
||||
if (Math.abs(dis) > 20) {
|
||||
//左移
|
||||
if (dis < -20) {
|
||||
var w = 0;
|
||||
var handle = setInterval(function() {
|
||||
w += width / 8;
|
||||
if (w <= width && Math.abs(currentPos) < (wholeLength - width - 10)) {
|
||||
var newX = (currentPos - w);
|
||||
wrapperContent.css('transform', 'translate3d(' + newX + 'px, 0px, 0px)');
|
||||
wrapperContent.css('-webkit-transform', 'translate3d(' + newX + 'px, 0px, 0px)');
|
||||
} else {
|
||||
clearInterval(handle);
|
||||
}
|
||||
|
||||
}, 30);
|
||||
}
|
||||
|
||||
//右移
|
||||
if (dis > 20) {
|
||||
var w = 0;
|
||||
var handle = setInterval(function() {
|
||||
w += width / 8;
|
||||
if (w <= width && Math.abs(currentPos) > 10) {
|
||||
var newX = (currentPos + w);
|
||||
wrapperContent.css('transform', 'translate3d(' + newX + 'px, 0px, 0px)');
|
||||
wrapperContent.css('-webkit-transform', 'translate3d(' + newX + 'px, 0px, 0px)');
|
||||
} else {
|
||||
clearInterval(handle);
|
||||
}
|
||||
}, 30);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
return info;
|
||||
|
||||
});
|
||||
@@ -4,6 +4,7 @@ define('home/search', function(require, exports, module){
|
||||
var $ = require('lib/zepto_pj');
|
||||
var map = require('home/map');
|
||||
var events = require('home/events');
|
||||
var info = require('home/info');
|
||||
var routers = require('common/data').router;
|
||||
var input = $('#search_input_text');
|
||||
var btn = $('.search_btn');
|
||||
@@ -59,6 +60,12 @@ define('home/search', function(require, exports, module){
|
||||
events.trigger('carRun');
|
||||
events.trigger('calcuSpeed');
|
||||
events.trigger('getWeather');
|
||||
//触发数据填充到推荐列表
|
||||
setTimeout(function(){
|
||||
info.set('router', events.get('router'));
|
||||
info.set('list', events.get('hots'));
|
||||
info.trigger('refresh');
|
||||
}, 3000);
|
||||
});
|
||||
|
||||
|
||||
@@ -127,6 +134,12 @@ define('home/search', function(require, exports, module){
|
||||
events.trigger('carRun');
|
||||
events.trigger('calcuSpeed');
|
||||
events.trigger('getWeather');
|
||||
//触发数据填充到推荐列表
|
||||
setTimeout(function(){
|
||||
info.set('router', events.get('router'));
|
||||
info.set('list', events.get('hots'));
|
||||
info.trigger('refresh');
|
||||
}, 3000);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -25,11 +25,11 @@ requirejs([
|
||||
//iPad优先
|
||||
if(bIsIpad){
|
||||
console.log('ipad');
|
||||
fastclick(document.body);
|
||||
//fastclick(document.body);
|
||||
return;
|
||||
}
|
||||
if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
|
||||
fastclick(document.body);
|
||||
//fastclick(document.body);
|
||||
console.log('mobile');
|
||||
} else {
|
||||
console.log('pc');
|
||||
|
||||
Reference in New Issue
Block a user