javascript新篇

1.confirm函数,返回true 或者false

var r=confirm("确定结束讲座?");

if(r==false){
return false;

}else{

//XXXXXXXXXXXXX

}

2.定时函数

var heartBeat;

heartBeat = setInterval(function(){
var msg = "{'summary':{"+
"'cmd':'HEART_BEAT',"+
"'chatMode':0, "+
"'msgType':0,"+
"'interactMode':0,"+
"'lectureId':'"+${lecture.id}+"'"+
"},"+
"'body':{"+
"'userId':'"+${loginUserId}+"',"+
"'passwd':'test'}"+
"}";
send(msg);

},5000);

清除定时函数轮询执行

//step0:把心跳的轮询停掉
window.clearInterval(heartBeat);

3.socket 

这次做socket通讯


var socket;
if (!window.WebSocket) {
window.WebSocket = window.MozWebSocket;
}
if (window.WebSocket) {

socket = new WebSocket("wss://webimpre.drcuiyutao.com:40001/ws");
socket.onmessage = function(event) {

  var returnMsg = eval("("+event.data+")");
var loginUserId = $("#lectureAccount_uid").val();
var cmd = returnMsg.summary.cmd;
var str = JSON.stringify(returnMsg); //转换成string
if(cmd=="LECTURE_INFO"){
var userTotal = returnMsg.body.userTotal;
$("#listenerCount").html("当前人数:"+userTotal);
}

if(cmd=="BEGIN_LECTURE"){
alert("讲座开始了,准备播放");

//下面一定注意,只能用dom元素来取,因为load()方法,,controls属性不是jquery有的属性
document.getElementById("lectureVideo").load();//h5 avdio标签播放器
   document.getElementById("lectureVideo").controls=false;

// alert("开始播放");
document.getElementById("lectureVideo").play();
// alert("开始播放1111111");
}

if(cmd=="ENTER_LECTURE"){

//......................

}

}

socket.onopen = function(event) {
var msg = "{'summary':{"+
"'cmd':'ENTER_LECTURE',"+
"'chatMode':0,"+
"'msgType':0,"+
"'interactMode':0,"+
"'lectureId':'"+${lecture.id}+"'},"+
"'body':{"+
"'userId':'"+${loginUserId}+"',"+
"'passwd':'test'}"+
 "}";
send(msg);
};
socket.onclose = function(event) {
alert('连接被关闭!');
};


} else {
alert("你的浏览器不支持!");
}



//socket發送消息
function send(message) {
if (!window.WebSocket) {
return;
}
if (socket.readyState == WebSocket.OPEN) {
socket.send(message);

}


4。h5中视频元素audio


//下面一定注意,只能用dom元素来取,因为load()方法,,controls属性不是jquery有的属性
document.getElementById("lectureVideo").load();//h5 avdio标签播放器
document.getElementById("lectureVideo").controls=false;

document.getElementById("lectureVideo").play();

document.getElementById("lectureVideo").currentTime=lectureStartTime;


5.js 字符串转为json字符串

var str = JSON.stringify(returnMsg); //转换成string


6、Ajax 异步上传图片插件ajaxfileupload.js

js文件已上传空间:http://download.csdn.net/detail/lixld/9715196

<div class="add">

+图片<input type="file" name="fileToUpload" id="imgToUpload" class="inp_fileToUpload" multiple="multiple"/>

+语音<input type="file" name="fileToUpload" id="voiceToUpload" class="inp_fileToUpload" multiple="multiple"/>

</div>



$(".inp_fileToUpload").live("change", function() {//现在这个已经适用于多个file表单。 
var file_id = $(this).attr("id");
// alert(file_id);
var msgType="";
if("imgToUpload"==file_id){
msgType = 2;
}else if("voiceToUpload"==file_id){
msgType = 1;
}
ajaxFileUpload(file_id,msgType); 
});


function checkFileType(fileID){

var file = $("#"+fileID).val();
   if (file == null||file == ""){  
        alert("请选择要上传的图片!");  
        return false;  
   }  
   if (file.lastIndexOf('.')==-1){    //如果不存在"."    
       alert("路径不正确!");  
       return false;  
   } 
   var AllImgExt="";
   var extName = file.substring(file.lastIndexOf(".")).toLowerCase();//(把路径中的所有字母全部转换为小写)          
        var ErrMsg="";  
   //图片
   if("imgToUpload"==fileID){
    var AllImgExt=".jpg|.jpeg|.gif|.bmp|.png|";  
    var ErrMsg="该文件类型不允许上传。请上传 "+AllImgExt+" 类型的文件,当前文件类型为"+extName;
   if(AllImgExt.indexOf(extName+"|")==-1)          
   {  
       alert(ErrMsg);  
       return false;  
   }else {
return true;
};
   
   }else if("voiceToUpload"==fileID){//声音
    var AllImgExt = ".amr|";  
    var ErrMsg="该文件类型不允许上传。请上传 "+AllImgExt+" 类型的文件,当前文件类型为"+extName;
    if(AllImgExt.indexOf(extName+"|")==-1)          
    {  
       alert(ErrMsg);  
       return false;  
    }else {
return true;
};  
   };
}



function ajaxFileUpload(file_id,msgType){
var checkResult = checkFileType(file_id);
if(!checkResult){
return false;
}else{
jQuery.ajaxFileUpload({ 
// url : "<%=basePath%>/chatContent/addChatContentImgOrVoice",
url : "/chatContent/addChatContentImgOrVoice",//用于文件上传的服务器端请求地址 
secureuri : false, //是否需要安全协议,一般设置为false 
fileElementId : file_id, //文件上传域的ID 
dataType : 'json', //返回值类型 一般设置为json 
success : function(data){//服务器成功响应处理函数 
var test = JSON.stringify(data);

if (data.code == '1'){
var duration=0;
//是声音,才有时长的属性
if(msgType==1){
duration = 15;
}
// alert(1);
//图片或语音地址
var fileName=data.data.key;



var usIcon = $("#lectureAccount_userIcon").val();
var nickname = $("#lectureAccount_nickname").val();

var chatDiv_part1 = "<div class='msg msg-self'>"+
// time+
"<div class='ava'>"+
"<img src='"+usIcon+"' />"+
"</div>"+
"<div class='cont'>"+
"<h3> "+nickname;
var chatDiv_part2 = "";

var chatDiv_part3 = "</h3>";
var contentUI = "";
if(msgType==1){// 1:声音
contentUI = "<p><audio src=\""+fileName+"\" controls='controls'>Your browser does not support the audio element.</audio></p>";
}

if(msgType==2){// 2:图片
contentUI = "<p><img class='pimg' src='"+fileName+"' height='50px'></img></p>";
}
chatDiv_part3 = chatDiv_part3+contentUI+
"</div>"+
  "</div>";
var chatDiv = $(chatDiv_part1+chatDiv_part2+chatDiv_part3);
$("#chatContentDiv").append(chatDiv);

$(".pimg").click(function(){  
           var _this = $(this);//将当前的pimg元素作为_this传入函数  
           imgShow("#outerdiv", "#innerdiv", "#bigimg", _this);  
    });
setchatlistbottom("chatContentDiv");



//直接把消息发送
sendMsg(duration,fileName,msgType,true);
// alert(2);
}else{
alert(data.message); 
};
}, 
error : function(data){//服务器响应失败处理函数 
alert('服务器响应失败'); 
}

});


}
return false; 
}




6.图片点击放大显示:

<p><img class='pimg' src='"+fileName+"' height='50px'></img></p>


step1:页面添加元素

<div id="outerdiv" style="position:fixed;top:0;left:0;background:rgba(0,0,0,0.7);z-index:2;width:100%;height:100%;display:none;">
<div id="innerdiv" style="position:absolute;">
<img id="bigimg" style="border:5px solid #fff;" src="" />
</div>
</div>  

step2:添加js

function imgShow(outerdiv, innerdiv, bigimg, _this){  
   var src = _this.attr("src");//获取当前点击的pimg元素中的src属性  
   $(bigimg).attr("src", src);//设置#bigimg元素的src属性  
 
       /*获取当前点击图片的真实大小,并显示弹出层及大图*/  
   $("<img/>").attr("src", src).load(function(){  
       var windowW = $(window).width();//获取当前窗口宽度  
       var windowH = $(window).height();//获取当前窗口高度  
       var realWidth = this.width;//获取图片真实宽度  
       var realHeight = this.height;//获取图片真实高度  
       var imgWidth, imgHeight;  
       var scale = 0.8;//缩放尺寸,当图片真实宽度和高度大于窗口宽度和高度时进行缩放  
         
       if(realHeight>windowH*scale) {//判断图片高度  
           imgHeight = windowH*scale;//如大于窗口高度,图片高度进行缩放  
           imgWidth = imgHeight/realHeight*realWidth;//等比例缩放宽度  
           if(imgWidth>windowW*scale) {//如宽度扔大于窗口宽度  
               imgWidth = windowW*scale;//再对宽度进行缩放  
           }  
       } else if(realWidth>windowW*scale) {//如图片高度合适,判断图片宽度  
           imgWidth = windowW*scale;//如大于窗口宽度,图片宽度进行缩放  
                       imgHeight = imgWidth/realWidth*realHeight;//等比例缩放高度  
       } else {//如果图片真实高度和宽度都符合要求,高宽不变  
           imgWidth = realWidth;  
           imgHeight = realHeight;  
       }  
               $(bigimg).css("width",imgWidth);//以最终的宽度对图片缩放  
         
       var w = (windowW-imgWidth)/2;//计算图片与窗口左边距  
       var h = (windowH-imgHeight)/2;//计算图片与窗口上边距  
       $(innerdiv).css({"top":h, "left":w});//设置#innerdiv的top和left属性  
       $(outerdiv).fadeIn("fast");//淡入显示#outerdiv及.pimg  
   });  
     
   $(outerdiv).click(function(){//再次点击淡出消失弹出层  
       $(this).fadeOut("fast");  
   });  
}  

step3://给图片元素添加

pimg是给图片添加的class名字

 $(".pimg").click(function(){  
           var _this = $(this);//将当前的pimg元素作为_this传入函数  
           imgShow("#outerdiv", "#innerdiv", "#bigimg", _this);  
});


7.让页面滚动到聊天页面的最下方:

div是聊天页面的divId

function setchatlistbottom(div) {
$('#'+div).scrollTop($('#'+div)[0].scrollHeight);
}


8

function strToJson(str){ 
return (new Function("return " + str))(); 


9/

function uuid() {
    var s = [];
    var hexDigits = "0123456789abcdef";
    for (var i = 0; i < 36; i++) {
        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[14] = "4";  // bits 12-15 of the time_hi_and_version field to 0010
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);  // bits 6-7 of the clock_seq_hi_and_reserved to 01
    s[8] = s[13] = s[18] = s[23] = "-";
 
    var uuid = s.join("");
    return uuid;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值