add 推荐

This commit is contained in:
lh_wang
2015-08-10 15:08:13 +08:00
parent 5c32c377b7
commit f6228f3014
7 changed files with 177 additions and 182 deletions
+2 -4
View File
@@ -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
View File
@@ -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" />
+4
View File
@@ -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
View File
@@ -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
View File
@@ -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;
});
+13
View File
@@ -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
View File
@@ -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');