一、js组成
1. ECMAScript 标准规范 (actionScript也遵循此规范,是js的核心) 几乎完全兼容,因为功能简单
2. DOM document object model 文档对象模型 大部分兼容,不兼容还可以写兼容 提供操作结构的接口
3. BOM browser ojdect model 浏览器对象模型,即window对象 基本不兼容,且无法写兼容 提供操作浏览器的方法和接口 window.navigator.userAgent
二、DOM
标签、元素、节点
1. 获取子节点:children----只包含第一层 childrenNotes 子级,不建议用
获取父节点:parentNode
例子:隐藏li
var aA=document.getElementsByTagName('a');
for(var i=0; i<aA.length; i++){
aA[i].onclick=function(){
this.parentNode.style.display='none';
}
}
点击它,删除它的父级。当父级不定的时候:
oA.onclick=function(){
this.parentNode.parentNode.removeChild(this.parentNode);
}
2. 获取首尾子节点
(1)firstChild------只兼容ie8以下,chrome认识,但是是一个文本节点
firstElementChild----兼容高级浏览器,IE678 undefined;可以用来作为判断浏览器的条件
(2)lastChild---只兼容ie8以下
lastElementChild---兼容高级浏览器
if(oUl.firstElementChild){
oUl.firstElementChild.style.background='red';
}else{
oUl.firstChild.style.background='red';
}
oUl.children[oUl.children.length-1].style.background='red';
3. 或
只要第一个为真,则整个条件为真
所以,var oFirst=oUl.firstElementChild || oUl.firstChild;
oFirst.style.background='red';
4. 兄弟节点
(1)获取下一个兄弟节点:nextSibling---只兼容ie8- nextElementSibling
var oNext=oLi.nextElementSibling || oLi.nextSibling;
oNext.style.background='red';
(2)获取上一个兄弟节点:previousSibling---只兼容ie8- previousElementSibling
var oPre=oLi.previousElementSibling || oLi.previousSibling;
5. 与 &&
false&&alert(1); 不会弹1 如果第一个为假,就不用看后面,整个式子肯定为假;如果第一个为真,才需要看看后面的值
小结:只有第一个为真时,后面才执行。 oDiv&&(oDiv.style.background='red');
if(条件){语句}==条件&&语句
或:只有第一个为假的时候,后面才执行
6. 创建、插入、删除元素
(1)creatElement(标签名);
(2)appendChild(元素);----插入到最后
插入到某个元素之前:insertBefore(新建元素, 某个元素);
insertBefore特性 bug 如果第二个参数为空 则默认插入
如果用到length 则要注意appendChild之前和之后的不同,如:
在appendChild之前:oBtn.onclick=function(){var oLi=document.createElement('li');oLi.style.background='red';oLi.innerHTML=oUl.children.length+1;oUl.appendChild(oLi);}在appendChild之前:oBtn.onclick=function(){var oLi=document.createElement('li');oLi.style.fontSize='30px';oUl.appendChild(oLi);oLi.innerHTML=oUl.children;}
(3)removeChild(要删除的东西);
例子—模拟留言板:
window.onload=function(){
var oTxt1=document.getElementById('txt1');
var oTxt2=document.getElementById('txt2');
var oBtn=document.getElementById('btn1');
var oUl=document.getElementsByTagName('ul')[0];
oBtn.onclick=function(){
var oNewLi=document.createElement('li');
var oNewH=document.createElement('h2');
var oNewP=document.createElement('p');
oNewH.innerHTML=oTxt1.value;
oNewP.innerHTML=oTxt2.value;
oNewLi.appendChild(oNewH);
oNewLi.appendChild(oNewP);
if(oUl.children[0]){
oUl.insertBefore(oNewLi,oUl.children[0]);
}else{
oUl.appendChild(oNewLi);
}
oTxt1.value='';
oTxt2.value='';
}
}
7. 几对关键词
(1)onscroll:滚动条滚动事件
(2)scrollTop:获取滚动的距离
document.documentElementScrollTop----只支持ie和ff,不支持Chrome
document.body.scrollTop----只支持Chrome
兼容写法:var scrollTop=document.documentElement.scrollTop || document.body.scrollTop;(也可以反着写)
scrollLeft:用法用scrollTop一样
(3)clientWidth /clientHeight:获取可视区的宽度/高度
完全兼容:document.documentElement.clientWidth/clientHeight
(4)offsetWidth / offsetHeight:获取元素的盒子模型的高度(width、padding、border)。display:none就获取不到。块级元素的宽高,默认是父元素的100%
oDiv.style.top=scrollTop+clientHeight-offsetHeight;
(5)offsetLeft / offsetTop:到有定位的父级的距离
(6)onresize:当窗口大小改变的时候触发
8. document.write:如果在页面加载之后,执行document.write(),就会清空其他所有内容;
9. 关于window
(1) open:打开一个页面,有返回值 新的窗口的对象
window.open(网址,名字(类似a的target))
oBtn.onclick=function(){
window.open("close.html","_blank");
};
(2)window.close();----关闭一个页面。不兼容ff,不能关闭非脚本打开的窗口,只能关闭由js打开的页面
oBtn.onclick=function(){
window.close();
};
(3)window.location 获取浏览器当前访问的地址
(4)http://www.a.com/app/a.html?a=12#1
protocal 协议 http:
host 域名 www.a.com
pathname 路径名 /app/a.html
search 数据 ?a=12
hash 锚 #1
(5)history 历史记录
.go(-1) 后退
.go(1) 前进
(6)navigator 浏览器信息
(7)userAgent
(8)language 语言
(9)platform 操作系统
(10)screen 屏幕信息--分辨率 screen.width screen.height
(11)colorDepth 色彩 window.screen.colorDepth
10. 各种弹出框
(1)alert();------警告框,弹一下就完事
(2)confirm;----确认框,返回布尔值
var result=confirm ('你确认是帅哥吗?');
alert(result);
(3)prompt-----输入框,返回的是输入的字符串,如果取消,返回null
var str=prompt('what is your name?','请在这里输入你的名字。'); alert(str);
相关推荐
谷歌浏览器平滑滚动扩展 ... 特性 - Picasa-like smooth scrolling- Mouse wheel, middle mouse and keyboard support- Arrow keys, PgUp/PgDown, Spacebar, Home/End- Customizable step sizes, frames per second ...
2. **初始化插件**:在需要使用`scroll.js`的元素上添加数据属性`data-scroll="true"`,并可选地设置其他配置项,例如下拉刷新的触发距离: ```html <div data-role="page" id="your-page" data-scroll="true" ...
《jQuery文字图片滚动插件scroll.js详解与应用》 在网页设计中,动态效果的运用可以极大地提升用户体验,其中文字和图片的滚动展示是常见的一种交互形式。jQuery作为一个强大的JavaScript库,提供了丰富的插件来...
smoothScroll.js 是极小的,符合标准的平滑滚动脚本,无依赖,支持 Firefox, Chrome, IE10, Opera 和 Safari。使用:[removed][removed]示例:var smoothScroll = require('smoothscroll'); var exampleBtn = ...
better-scroll.js
jQuery Infinite Scroll,也称为`infinitescroll.js`,是一款广泛使用的JavaScript插件,它实现了网页内容的自动滚动加载,即当用户滚动到页面底部时,新的内容会自动加载,无需手动翻页。这种功能常用于博客、新闻...
Infinitescroll.js是一个流行的jQuery插件,主要用于实现网页中的无限滚动效果,也称为滚动加载或无尽滚动。这个插件使得用户在浏览长页面时,无需翻页就能连续加载更多的内容,通常应用于新闻网站、社交媒体平台...
滚动betterscroll.js下载,滚动betterscroll.js下载,滚动betterscroll.js下载,滚动betterscroll.js下载,滚动betterscroll.js下载,滚动betterscroll.js下载,滚动betterscroll.js下载,滚动betterscroll.js下载,...
pagescroll.js 安装: npm i @woobble/pagescroll.js 用法: import pagescroll from '@woobble/pagescroll.js' // Create instance const pScroll = pagescroll ( { tags : [ "tag1" , "tag2" , ] , ...
【前端项目-jquery-infinitescroll.zip】是一个前端开发资源包,主要包含了一个基于jQuery的无限滚动插件。无限滚动,也称为“滚动加载”或“无限页面”,是一种网页设计技术,它允许用户在浏览页面时无需手动点击...
在本文中,我们将深入探讨两个流行的JavaScript插件:fullpage.JS和onepage-scroll.JS。 **1. fullpage.JS** fullpage.JS是一款强大的全屏滚动插件,它允许开发者创建垂直和水平方向的全屏滚动网站。这个插件的核心...
**平滑滚动插件——smooth-scroll.js** 在网页设计中,用户体验是至关重要的,而页面滚动体验正是其中的一部分。平滑滚动(Smooth Scroll)技术可以让用户在点击锚链接时,页面能够以平滑、流畅的方式过渡到目标...
"ng-infinite-scroll.js"是AngularJS框架中用于实现上拉无限滚动功能的一个插件。在Web开发中,无限滚动通常被用来优化用户体验,让用户在滚动页面时无缝地加载更多内容,而无需点击分页按钮。这个插件适用于那些...
jquery需要的所有js文件 /*! * jQuery UI 1.8.18 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * ...
人工智能-项目实践-新闻...(文本分类)朴素贝叶斯实现的新闻分类 新闻共分7类,新闻信息在此采集: 1 财经 http://finance.qq.com/l/201108/scroll_17.htm 2 科技 http://tech.qq.com/l/201512/scroll_02.htm 3 汽车 ...
《mousescroll.js网页滚动条插件:jQuery实现与应用详解》 在网页设计中,滚动条作为用户浏览内容的重要交互元素,其设计和功能的优化往往能提升用户体验。"mousescroll.js"是一款基于jQuery库的网页滚动条插件,它...
js代码 [removed][removed] [removed][removed] [removed][removed] [removed] function showList(){ $("body").scrollmenu({ type:'cross', // bscroll:true, // animateIn:'bounceIn', // animateOut:'...
**jQuery库:section-scroll.js 插件详解** 在网页设计中,整页滚动导航是一种流行的交互方式,它能提供良好的用户体验,使用户能够轻松浏览页面的各个部分。`section-scroll.js` 是一个专为此目的设计的jQuery插件...
better-scroll 是一款重点解决移动端(已支持 PC)各种滚动场景需求的插件。含有better-scroll.min.js
5. **易用性**:使用该插件非常简单,只需引入jQuery库和jquery.localScroll.js文件,然后通过简单的jQuery选择器和方法调用来设置和启动滚动效果。 在【压缩包子文件的文件名称列表】中,“jquery.localScroll-...