前端交互封装的一些javaScript方法

1. 判断是否是手机
if(/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) { 
      window.isMobile= true; 
      alert("true");
} else { 
      window.isMobile= false; 
}

2.
判断设备类型

varisWebkit = /Webkit/i.test(navigator.userAgent),
            isChrome = /Chrome/i.test(navigator.userAgent),
            isMobile = !!("ontouchstart" in window),
            isAndroid = /Android/i.test(navigator.userAgent),
            isIE = document.documentMode;

3. 判断浏览器类型
if((navigator.userAgent.indexOf('MSIE') >= 0) &&(navigator.userAgent.indexOf('Opera') < 0)){alert('你是使用IE')}else
   if (navigator.userAgent.indexOf('Firefox') >= 0){alert('你是使用Firefox')}else
       if (navigator.userAgent.indexOf('Opera') >= 0){alert('你是使用Opera')}else
{alert('你是使用其他的浏览器浏览网页!')}

4. 移动端与PC端的addEventListener事件
//移动端
canvas.addEventListener("touchstart",onTouchStart,false);
canvas.addEventListener("touchmove",onTouchMove,false);
canvas.addEventListener("touchend",onTouchEnd,false);
//PC端 
canvas.addEventListener("mousedown",onTouchStart,false);
canvas.addEventListener("mousemove",onTouchMove,false);
canvas.addEventListener("mouseup",onTouchEnd,false);

5. 音乐播放按钮,判断有没有当前class,并显示相应的图片
$(".btn-musica").bind("touchend",function(event){
      event.preventDefault();
      varclassname = $(this).attr("class");
      if(classname== "on"){
            document.getElementById("audio-music").pause();
            $(this).removeClass("on").addClass("off");
      }elseif(classname == "off"){
            document.getElementById("audio-music").play();
            $(this).removeClass("off").addClass("on");
      };
});

<divclass="btn-music">
      <ahref="#" class="on"></a>
</div>
<audiopreload="auto" autoplay="autoplay" loop="true"id="audio-music">
      <sourcesrc="source/music.mp3"></source>
</audio>

6. body添加阻止默认事件
$("body").bind("touchmove",function(event){
      event.preventDefault();
});
//也可以直接在body上添加阻止默认事件
<bodyontouchmove="event.preventDefault()">

7. mousedown时获取滑到当前位置的x,y坐标
var x =(e.clientX + document.body.scrollLeft || e.pageX) - offsetX || 0,
      y =(e.clientY + document.body.scrollTop || e.pageY) - offsetY || 0;

8.判断浏览器的滚动事件
//前提是body,html{height:100%},body,html中不能给高度定义100%样式
window.οnscrοll=function(){
      varwinScroll = window.pageYOffset || document.documentElement.scrollTop ||document.body.scrollTop;
      if(winScroll> 2000){
            console.log(winScroll);
      }
};

9. 支付宝账号正则表达式:
if(/^0?(13[0-9]|15[012356789]|18[0123456789]|14[0123456789]|17[0123456789])[0-9]{8}$/.test(exampleInputOrder.value)){
} elseif(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(exampleInputOrder.value)){
} else {
      alert("请输入您的支付宝账号!")
      return;
}

10. 屏幕旋转的事件和样式
window.onorientationchang= function(){
      switch(window.orientation){
            case -90:
            case 90:
            alert("横屏:" + window.orientation);
            case 0:
            case 180:
            alert("竖屏:" + window.orientation);
            break;
      }
}
//竖屏时使用的样式:
@mediaall and (orientation:porttrait){}
@mediaall and (orientation:landscape){}

11. JS获取经纬度
functionjwdPos(){
   navigator.geolocation.getCurrentPosition( 
   function (pos){ // 如果成果则执行该
       var jingdu=pos.coords.latitude;
       var weidu=pos.coords.longitude;
       alert(weidu);
   }
   );
   return;
}

12. jquery 单击时展示另一个图片
functionchangeImg(){
   arri=document.getElementById("arrow-i");
   arr=document.getElementById("arrow");
   //src.match,将点击后要显示的内容放在match后边
   if(arri.src.match("show")){
       //初始下显示
       arri.src="images/close.png";
       arr.style.height="55px";
   }else{
       //点击后显示
       arri.src="images/show.png"; 
       arr.style.height="100%";
   }
}
/*<divclass="content">
 <p id="arrow">demo。。。。</p>
 <img id="arrow-i" src="images/close.png"οnclick="changeImg();">
</div>*/

13.回到顶部的js方法
$(document).ready(function(){
      $("button").click(function(){
            //这样加使整个页面都回到顶部了
            $(document.body).animate({scrollTop:0},500);
            //这样加使单个div滚动到顶部
            $('.pp_content').animate({scrollTop:0},500);
      });
});
//使页面回到最顶部
functiongoTop() {
$('html,body').animate({scrollTop:0}, 'slow'); 
}
//判断页面滚动高度,元素距离顶部的滚动距离
$(window).scrollTop();


//使页面回到某个div的高度处
functiongoDiv(div) {
var a =$("#"+div).offset().top;
$("html,body").animate({scrollTop:a},'slow'); 
}
//回到页面最底部
functiongoBottom() {
window.scrollTo(0,document.documentElement.scrollHeight-document.documentElement.clientHeight); 
}

14.判断IE版本
/*<spanid="Css"></span>*/ 
if(navigator.userAgent.indexOf("MSIE")>0){
      //是否是IE浏览器 
if(navigator.userAgent.indexOf("MSIE6.0")>0) {
      //6.0 使用1.CSS 

if(navigator.userAgent.indexOf("MSIE7.0")>0) {
 
      $("body,html").css({"width":"1348px","height":"500px","overflow-x":"hidden"})
      $(".wrap,#back-img").css({"width":"1348px","height":"auto","overflow-x":"hidden"});
      $("select,input,textarea").css({"width":"254px","height":"40px","top":"17px","left":"146px"});
      $("#type").css({"width":"254px","left":"480px"});
      $("#idea").css({"width":"565px","height":"80px","top":"80px"});

      $("#ideafc").css({"width":"400px","height":"80px","top":"70px"});

      $("#usermobile").css({"height":"40px","top":"224px","left":"146px"});
      $("#code").css({"height":"40px","top":"224px","left":"485px"});
      $(".form").css({"width":"800px","height":"545px","top":"576px","left":"380px"});
      $(".active,.namelist").css({"width":"269px","height":"69px","top":"419px","left":"310px"});
      $(".namelist").css({"left":"781px"});
      $("#tijiao").css({"top":"300px","left":"334px"});


      //Css.innerHTML='<linkhref="ie7.css" rel="stylesheet" type="text/css">' 

}else{ 
      //否则使用3.CSS 还有具体的浏览器 你可以用navigator.userAgent 去获取信息 具体使用 看你自己 


15.单击某个div,显示另一个div的内容
varclickItem = document.querySelectorAll(".select-item");
varseItem = document.querySelectorAll(".double-column-item");
$("ul.select-listli").click(function(){
      var index= $(this).index();
      $(this).addClass("current-item");
      $(this).siblings().removeClass("current-item");
      $(".double-column-item").eq(index).addClass("active-double-column-item");
      $(".double-column-item").eq(index).siblings().removeClass("active-double-column-item");
     
});  


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Django 通常使用模板语言来与前端交互。模板语言是一种特殊的语法,用来结合 Django 的后端数据和 HTML 代码。Django 的模板系统允许你使用变量、标签和过滤器在模板中渲染数据。 例如,你可以在模板中使用如下语法来显示一个变量的值: ``` {{ variable }} ``` 你也可以使用标签来执行一些特殊的操作,比如循环或条件判断: ``` {% for item in items %} {{ item }} {% endfor %} ``` 最后,你可以使用过滤器来对变量做一些额外的处理,比如将变量转化为大写或者首字母大写: ``` {{ variable|upper }} {{ variable|capitalize }} ``` 在模板渲染完成后,Django 会将结果发送给浏览器,从而实现与前端交互。 ### 回答2: Django是一个高效的Python Web框架,也是一个服务器端框架,它与前端交互主要通过以下几种方式: 1. 封装模板引擎:Django内置了强大的模板引擎,可以将前端HTML页面与后端逻辑代码进行分离,实现前后端的交互。通过在模板中使用Django提供的模板标签和变量,可以将后端数据传递到前端页面中,完成数据的渲染和展示。 2. 提供RESTful API:Django可以使用Django REST framework来构建RESTful API,通过API可以实现前后端之间的数据交互和通信。前端可以通过发送HTTP请求来调用后端的API,获取数据或进行其他操作,后端则根据请求的方式和参数返回相应的数据。 3. 使用 Ajax 技术:Ajax是一种前端的技术,可以通过在前端页面中使用JavaScript发送异步请求,与后端进行数据交互。在Django中,可以通过定义视图函数来处理Ajax请求,并返回相应的数据,前端可以通过JavaScript的回调函数来处理返回的数据,并进行页面更新或其他操作。 4. WebSocket通信:Django可以使用第三方库来实现WebSocket通信,实现实时的双向数据传输。WebSocket可以在前后端之间建立持久性连接,实现实时通信和数据更新。通过在Django中创建WebSocket视图和处理器,前端可以使用WebSocket API与后端进行通信,并实现实时数据更新和推送。 总的来说,Django与前端交互的方式有很多种,可以根据具体的需求和场景选择适合的方式进行交互,从而实现前后端的数据传递和通信。 ### 回答3: Django是一个基于Python的Web框架,它可以与前端进行交互以实现动态网页的开发。 首先,Django通过使用模板语言实现与前端交互。模板语言允许将动态数据插入到HTML模板中,从而生成最终的网页。在Django中,我们可以使用模板引擎来处理模板,通过标签和过滤器来操作模板中的数据,将数据传递给前端页面。 其次,Django提供了强大的视图功能来处理前端请求。我们可以定义视图函数,它们负责接收前端的请求并返回相应的数据。视图函数可以处理GET和POST等不同类型的请求,根据请求的类型和参数进行相应的操作,并将结果返回给前端页面。使用Django的路由系统,我们可以将请求的URL地址与相应的视图函数进行绑定,从而实现请求的分发和处理。 另外,Django还提供了表单功能来处理前端的用户输入。我们可以定义表单类来描述前端页面上的输入字段,并通过视图函数对表单数据进行验证和处理。Django的表单功能提供了丰富的验证选项,可以轻松地检查用户输入的有效性,并将错误信息返回给前端页面。 最后,Django还可以与前端进行异步交互,实现前后端的数据传输和更新。通过使用Django的视图函数和前端JavaScript代码,我们可以实现异步请求和响应处理,从而实现更加流畅和交互性的用户体验。 综上所述,Django通过模板语言、视图函数、表单功能和异步交互等方式与前端进行交互,实现了动态网页的开发。这些功能使得开发者能够灵活地处理并响应前端的请求,从而实现了良好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值