|
@@ -54,6 +54,7 @@
|
|
|
onClose:sClose
|
|
|
};
|
|
|
var msg_type_callback = {
|
|
|
+ room_info:ret_join,
|
|
|
message:message
|
|
|
};
|
|
|
var websocket = new WebsocketConnect(addr,true,true,callbacks,room_msgs,msg_type_callback);
|
|
@@ -67,10 +68,9 @@
|
|
|
|
|
|
var Barrage = function()
|
|
|
{
|
|
|
- this.dataList = [];
|
|
|
- this.dataNum = 0;
|
|
|
+ this.sendData = null;
|
|
|
this.barrage_html = '';
|
|
|
- this.dataParem = function(data)
|
|
|
+ this.dataParse = function(data)
|
|
|
{
|
|
|
return {
|
|
|
posY :parseInt(Math.random() * 80 + 10),
|
|
@@ -80,22 +80,21 @@
|
|
|
}
|
|
|
};
|
|
|
this.add = function(send_data){
|
|
|
- this.dataList.push(this.dataParem(send_data));
|
|
|
+ this.sendData = this.dataParse(send_data);
|
|
|
return this;
|
|
|
};
|
|
|
this.send = function()
|
|
|
{
|
|
|
- if(this.dataList.length > 0)
|
|
|
+ if(this.sendData)
|
|
|
{
|
|
|
- if(this.dataList[0].msg > 0) {
|
|
|
- this.barrage_html = '<div class="barrage" style="top:'+this.dataList[0].posY+'%"><img src="'+this.dataList[0].avatar+'">'+this.dataList[0].nickname+'摇到了<span class="price">'+this.dataList[0].msg+'元</span>红包</div>';
|
|
|
+ if(this.sendData.msg > 0) {
|
|
|
+ this.barrage_html = '<div class="barrage" style="top:'+this.sendData.posY+'%"><img src="'+this.sendData.avatar+'">'+this.sendData.nickname+'摇到了<span class="price">'+this.sendData.msg+'元</span>红包</div>';
|
|
|
}
|
|
|
else {
|
|
|
- this.barrage_html = '<div class="barrage" style="top:'+this.dataList[0].posY+'%"><img src="'+this.dataList[0].avatar+'">'+this.dataList[0].nickname+'摇走了<span class="price">'+this.dataList[0].msg+'元</span>红包</div>';
|
|
|
+ this.barrage_html = '<div class="barrage" style="top:'+this.sendData.posY+'%"><img src="'+this.sendData.avatar+'">'+this.sendData.nickname+'摇飞了<span class="price" style="color: green;">'+Math.abs(this.sendData.msg)+'元</span>红包</div>';
|
|
|
}
|
|
|
$('body').append(this.barrage_html);
|
|
|
- this.dataNum++;
|
|
|
- this.dataList = [];
|
|
|
+ this.sendData = null;
|
|
|
this.barrage_html = '';
|
|
|
this.clear();
|
|
|
return this;
|
|
@@ -106,10 +105,13 @@
|
|
|
};
|
|
|
this.clear = function()
|
|
|
{
|
|
|
- var _self = this;
|
|
|
- setTimeout(function() {
|
|
|
- $('.barrage').eq(_self.dataNum).remove();
|
|
|
- },12000);
|
|
|
+ setTimeout(function(){
|
|
|
+ for(var i=0;i<$('.barrage').length;i++) {
|
|
|
+ if($('.barrage').eq(i).offset().left < -600 ) {
|
|
|
+ $('.barrage').eq(i).remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },10000);
|
|
|
return this;
|
|
|
};
|
|
|
};
|
|
@@ -120,10 +122,13 @@
|
|
|
{
|
|
|
var jsonDatas = new websocket.Json_parse(datas);
|
|
|
var msg_type = datas.content.type;
|
|
|
+ var msg_from_userId = datas.content.from.userid;
|
|
|
try
|
|
|
{
|
|
|
if(msg_type == 'shake_bonus') {
|
|
|
- barrage.add(jsonDatas).send();
|
|
|
+ if(msg_from_userId !== websocket.getMeId) {
|
|
|
+ barrage.add(jsonDatas).send();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
catch (e) {
|
|
@@ -131,6 +136,11 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ function ret_join(datas){
|
|
|
+ var jsonDatas = new websocket.Json_parse(datas);
|
|
|
+ websocket.setMeId(jsonDatas.content.me);
|
|
|
+ }
|
|
|
+
|
|
|
var shake_start = document.getElementById('shake_start');
|
|
|
var shake_null = document.getElementById('shake_null');
|
|
|
var shake_success = document.getElementById('shake_success');
|