javascript第十五课:DOM】的更多相关文章

dom就是文档,就是整个网页的简称,dom里面的标签就是对象 使用javascript进行DHMTL网页开发(Dynamic Html 动态网页) dom就是把html页面模拟成一个对象,顶级对象window,window可以获取页面中的任何元素 1.获取页面元素: document.GetElementById("元素id"); //根据id来获取元素的值 document.GetElementByname("元素name的值"); //根据name的值来获取 d…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第四十五课:顶点缓存 顶点缓存 你想更快地绘制么?直接操作显卡吧,这可是当前的图形技术,不要犹豫,我带你入门.接下来,你自己向前走吧.   速度是3D程序中最重要的指标,你必须限制绘制的多边形的个数,或者提高显卡绘制多边形的效率.显…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十五课:播放AVI 在OpenGL中播放AVI: 在OpenGL中如何播放AVI呢?利用Windows的API把每一帧作为纹理绑定到OpenGL中,虽然很慢,但它的效果不错.你可以试试.   首先我得说我非常喜欢这一章节.Jon…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第二十五课:变形 变形和从文件中加载3D物体: 在这一课中,你将学会如何从文件加载3D模型,并且平滑的从一个模型变换为另一个模型.   欢迎来到这激动人心的一课,在这一课里,我们将介绍模型的变形.需要注意的是各个模型必须要有相同的顶…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第十五课:纹理图形字 图形字体的纹理映射: 这一课,我们将在上一课的基础上创建带有纹理的字体,它真的很简单. 在发布了前两篇关于位图字体和轮廓字体的教程以后,我收到很多邮件,很多读者都想知道如何才能给字体赋予纹理贴图.你可以使用自动…
序 又是快两个月没写随笔了,长时间不总结项目,不锻炼文笔,一开篇,多少都会有些生疏,不知道如何开篇,如何写下去.有点江郎才尽,黔驴技穷的感觉. 写随笔,通常三步走,第一步,搭建框架,先把你要写的内容框架搭建出来:第二步,添砖,在框架基础上,填写各部分内容:第三步,加瓦,再写好的内容上进行修改,润湿.然后文章的质量,就因人而异了.但不管怎么说,得写,得练,得经受的起各路能人志士的批评指教,至于改不改,那也是写文章的人的事了(通常我是认真接受批评指教的). 你看,写道这里,我又不知道再序些啥了,索性…
序 又是快两个月没写随笔了,长时间不总结项目,不锻炼文笔,一开篇,多少都会有些生疏,不知道如何开篇,如何写下去.有点江郎才尽,黔驴技穷的感觉. 写随笔,通常三步走,第一步,搭建框架,先把你要写的内容框架搭建出来:第二步,添砖,在框架基础上,填写各部分内容:第三步,加瓦,再写好的内容上进行修改,润湿.然后文章的质量,就因人而异了.但不管怎么说,得写,得练,得经受的起各路能人志士的批评指教,至于改不改,那也是写文章的人的事了(通常我是认真接受批评指教的). 你看,写道这里,我又不知道再序些啥了,索性…
前端架构从MVC到MVP,再到MVVM,它们都有不同的应用场景.但MVVM已经被证实为界面开发最好的方案了. MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负 责显示.作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取…
一个完整的Ajax请求: var xhr = new (self.XMLHttpRequest || ActiveXObject)("Microsoft.XMLHTTP");   //new XMLHttpRequest()传入参数不影响. xhr.onreadystatechange = function(){    //请求状态改变就会执行这个函数,状态有0,1,2,3,4五个状态. if(this.readyState === 4 && this.status =…
学习要点: 1.DOM类型 2.DOM扩展 3.DOM操作内容 DOM自身存在很多类型,在DOM基础课程中大部分都有所接触,比如Element类型:表示的是元素节点,再比如Text类型:表示的是文本节点.DOM也提供了一些扩展功能.   一.DOM类型 DOM基础课程中,我们了解了DOM的节点并且了解怎样查询和操作节点,而本身这些不同的节点,又有着不同的类型.   DOM类型 类型名 说明 Node 表示所有类型值的统一接口,IE不支持 Document 表示文档类型 Element 表示元素节…
  学习要点: 1.匿名函数 2.闭包 匿名函数就是没有名字的函数,闭包是可访问一个函数作用域里变量的函数.声明:本节内容需要有面向对象和少量设计模式基础,否则无法听懂.(所需基础15章的时候已经声明过了).   一.匿名函数 //普通函数 function box() { //函数名是box return 'Dkf'; } //匿名函数 function () { //匿名函数,会报错 return 'Dkf'; } //通过表达式自我执行 (function box() { //封装成表达式…
DOM编程不只能够查找三种节点,也能够操作节点.那就是创建,插入,删除.替换和复制节点.先来看节点 操作方法: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">        还是借用一贯的HTML代码: <!DOCTYPE html PUBLIC "-…
本课主要来讲解jQuery.event.trigger的源码解读. trigger = function(event, data, elem, onlyHandlers){ if(elem && (elem.nodeType === 3 || elem.nodeType ===8)){  //触发的元素节点不能是文本节点和注释节点 return; } var cache, exclusive, i, cur, old, ontype, special, handle, eventPath,…
直接给dom元素添加动态事件,如: document.getelementbyid('#id').onclick=function(){ 方法体! };…
事件绑定分为两种:一种是传统事件绑定(内联模型,脚本模型),一种是现代事件绑定(DOM2级模型).现代事件绑定在传统绑定上提供了更强大更方便的功能.   一.传统事件绑定的问题 传统事件绑定有内联模型和脚本模型,内联模型我们不做讨论,基本很少去用.先来看一下脚本模型,脚本模型将一个函数赋值给一个事件处理函数. var box = document.getElementById('box'); //获取元素 box.onclick = function () { //元素点击触发事件 alert(…
iframe一般用来加载一个页面,然后嵌入到主页面中.创建起来消耗资源,而且消耗连接数.但是它是一个物超所值的东西,可以实现无缝刷新,模拟onhashchange跨域,安全的加载第三方资源与广告,实现富文本编辑,文件上传,用它搞定IE6-IE7的select BUG(select标签会移到遮罩层的上面来,可以使用iframe遮住). 想要隐藏iframe那个很粗的边框,我们可以使用frameBorder属性. 比如:<iframe frameborder=0  src=""  w…
js函数与其它 高级语言相比有一个特点.没有返回值,一个简单函数就是function关键字+函数名字构成 this 对象是在运行中基于函数的执行环境绑定的,在全局函数中,this等于window,而当函数被 作为某个对象的方法调用时,this等于那个对象 也就是说this关键字就是指代调用者. call.apply示例: 1.简单用法:绑定一些函数,用于传递参数.调用 2.用于扩展用于函数运行的作用域: js没有块级作用域的概念: 模拟高级语言实现块级作用域的功能示例: 通过运用匿名函数自执行实…
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文参考链接文章地址http://www.asp.net/web-api/overview/formats-and-model-binding/model-validation-in-aspnet-web-api 当客户端发送数据给你的Web API时,你通常希望在做其它处理之前先对数据进行验证. Data Annotati…
window.confirm('确定删除吗?'); //当用户点击一个按钮出发一个事件的时候,弹出一个提示框让网友确认,返回一个bool值,点确定的话,返回true,点取消,返回flase window.alert('弹出一个提示框'); //弹出警告对话框 window.location.href='要跳转的url'; //链接跳转 window.setinterval('要执行的代码',时间); //定时器,定时一段时间执行一段代码, 1000毫秒为1秒 例如:var jishi=windo…
所谓扩展方法就是,在原函数的基础上我们往对象里面添加一些自己需要的方法,例如: string对象 string.prototype.checkEmail=function(){ //方法体 //在这里面我们要拿到元素,我们甚至不需要传参数,只需要使用this即可 例如: this.系统方法(参数); } //通过以上方法,我们就往string对象中添加了一个自定义的方法checkEmail; 下次我们在使用字符串的方法的时候,我们就可以点出这个方法 如: var s='我的耐特人生'; s.ch…
数组的声明方式: var add=new array(元素1,元素2,元素3......); 推荐的数组声明方式: var add=[元素1,元素2,元素3,元素4....]; 数组遍历方式: 循环遍历数组,使用for in 语法: for(var i in 数组名){ alert(数组名[i]); } 实例: function GetMax(nums) {  //创建方法,传入一个数组  var maxvalue = nums[0]; //定义默认的最大值为数组的第一位数 for (var i…
对函数(模块中的)进行函数测试定义两个需要被测试的函数: #求和函数 def mySum(x,y): return x+y #相减函数 def mySub(x,y): return x-y print(mySum(10,20)) #导入测试模块 import unittestimport unittest #导入需要被测试的函数from method import mySumfrom method import mySub 对函数(模块中的)进行单元测试:步骤一:需要先导入测试模块unittes…
2.使用docker安装Haproxy 一.为什么要使用数据库集群和负载均衡? 1.高可用 2.高并发 3.高性能 二.mysql数据库集群方式 三.使用docker安装PXC 1.拉取PXC镜像 docker pull percona/percona-xtradb-cluster:5.7 2.创建volume卷 docker volume create --name v1docker volume create --name v2docker volume create --name v3 3…
验证用户登录: 对一个视图函数进行登录权限验证,(登录后才可以访问,否则重定向到登录页面) #from django.contrib.auth.decorators import login_required # @login_required(login_url='news:login')# def index(request):# return 对一个类视图进行登录权限验证,(登录后才可以访问,否则重定向到登录页面)# @method_decorator(login_reqirde(logi…
添加新闻评论功能 1.分析 业务处理流程: 判断前端传的新闻id是否为空,是否为整数.是否不存在 判断评论的内容是否为空 判断是否有父评论,父评论的id是否与新闻id匹配 判断用户是否登录 保存新闻评论 请求方法:POST url定义:'/news/<int:news_id>/comments/' 请求参数:url路径参数 参数 类型 前端是否必须传 描述 news_id 整数 是 新闻id content 字符串 是 新闻评论内容 parent_id 整数 否 父评论id 添加新闻评论功能是…
前台:判断用户输入 ,确认密码,手机号, 一切通过后向后台发送请求, 请求方式:post 在 suers 应用下的视图中: 1,创建个类, 2,创建 GET 方法,宣言页面 3,创建  POST 方法, 4,获取前台传来的参数 , 5,校验参数, 6,保存用户注册信息到数据库, 7,返回结果给前台, 用 form 表单校验参数,在 users 应用中创建 forMs.py 文件,导入 django 中的 form 进行数据校验 手机号校验: 判断短信验证:要导入  from django_red…
4.calendar模块: 构造:calendar(year,[w=2,l=1,c=6]):返回year年的完整的日历信息对象 和闰年相关的函数如下: isleap(year):判断year是否是闰年 返回True,说明是闰年 返回False,说明不是闰年 leapdays(y1,y2):返回[y1,y2)之间的闰年个数 import calendar ''' 演示calendar(日历):模块的使用 ''' #构造:calendar(year,[w=2,l=1,c=6]):返回year年的完整…
测试模块 演示多继承的结构和使用: 子类:Child 直接父类(多个):Father.Mother 注意: 由于有多个直接父类,多个父类都要自己给其属性赋值, 避免混淆,我们使用类名.__init__(...)这样格式的构造调用 from child import Child c = Child(100000000,'漂亮','python') print(c.money,c.faceValue,c.work) c.playing() c.shopping() c.smoking()…
PyExecJs使用 PyExecJS是Ruby的ExecJS移植到Python的一个执行JS代码的库. 安装 pip install PyExecJS 例子 >>> import execjs >>> execjs.eval("'red yellow blue'.split(' ')") ['red', 'yellow', 'blue'] >>> ctx = execjs.compile(""" ..…
#斐波那契 def fid(n): res = [] indx = 0 a = 0 b = 1 while indx < n : res.append(b) a,b = b,a+b indx += 1 return res print(fid(1000)) # 生成器 def fid(n): indx = 0 a = 0 b = 1 while indx < n : yield b # 暂停并返回 跳出函数 res.append(b) a,b = b,a+b indx += 1 f = fid…