美文网首页
js初识第三节

js初识第三节

作者: An的杂货铺 | 来源:发表于2019-08-03 15:46 被阅读0次

一个可以设置是否循环播放的简易手动轮播

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

<style type="text/css">

#controls {

width:400px;

margin: auto;

text-align: center;

}

#container {

width: 400px;

height:400px;

border: 10px solid #eee;

position: relative;

background: gray;

margin: 10px auto 0;

}

#prev, #next {

position: absolute;

background: black;

filter:alpha(opacity:40);/*IE8以及更早的版本的兼容*/

opacity: 0.4;

font-size: 20px;

color: white;

width: 40px;

height: 40px;

border: 2px solid white;

line-height: 40px;

text-align: center;

top: 180px;

pointer: cursor;

text-decoration: none;

}

#prev:hover, #next:hover {

filter:alpha(opacity:80);

opacity: 0.8;

}

#order, #info {

position: absolute;

width:100%;

height: 30px;

line-height: 30px;

text-align: center;

background: black;

filter:alpha(opacity:60);

opacity: 0.6;

font-size: 20px;

color: white;

}

#prev {

left: 0;

}

#next {

right: 0;

}

#picture {

height: 400px;

width: 400px;

}

#order {

top: 0;

}

#info {

bottom: 0;

}

</style>

</head>

<body>

<div id="controls">

<input id="round" type="button" value = "循环播放">

<input id="single" type="button" value = "顺序播放">

</div>

<div id="container">

        <a href='javascript:' id="prev">&lt;</a>

        <a href='javascript:' id="next">&gt;</a>

        <div id="order">图片加载中……</div>

        <div id="info">图片加载中……</div>

        <img id="picture">

</div>

</body>

<script type="text/javascript">

function $(id){

return document.getElementById(id);

}

var imgsArr = ['one.jpg','two.jpg','three.jpg','four.jpg','five.jpg'];

var index = 0;

var imgsInfo = ['图片一','图片二','图片三','图片四','图片五'];

var flag = true;//设置一个标记默认为顺序播放,不能循环播放

function showImg(){

$('picture').src = imgsArr[index];

$('order').innerText = (index+1)+'/'+imgsArr.length;

$('info').innerText = imgsInfo[index];

}

showImg();

//为左右箭头添加事件

$('next').onclick = function(){

index++;

if(index > imgsArr.length-1 && flag){

  alert('已经是最后一张')

          index = imgsArr.length-1;

}

if(index>imgsArr.length-1 && !flag){

index = 0;

}

showImg();

}

$('prev').onclick = function(){

index--;

if(index<0 && flag){

alert('已经是第一张了');

index = 0;

}

if(index<0 && !flag){

index = imgsArr.length-1;

}

    showImg();

}

//手动切换是顺序播放还是循环播放

$('round').onclick = function(){

alert('现在是循环播放')

      flag = false;

}

$('single').onclick = function(){

alert('现在是顺序播放')

flag = true;

}

</script>

</html>

节点关系parentNode和firstChild以及和firstElementChild

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<table border="1" id="tb">

<tr id="tr1">

<td>111</td>

<td>1111</td>

<td>

<input type="button" value="删除" />

</td>

</tr>

<tr id="tr2">

<td>222</td>

<td>2222</td>

<td>

<input type="button" value="删除" />

</td>

</tr>

</table>

<script type="text/javascript">

  var btns = document.getElementsByTagName("input");

  /* obj.parentNode 父节点 原生的js通过这种方式寻找元素的父节点*/

  for(var i=0; i<btns.length; i++) {

      btns[i].onclick = function() {

                alert(this.parentNode.parentNode.nodeName);//TR

      }

  }

  var tb = document.getElementById("tb");

  console.log(tb);

  console.log(tb.firstChild); //#text 文本对象

  console.log(tb.firstElementChild.tagName);//TBODY

  //firstChild和firstElementChild的差别

  // firstChild获取指定元素的第一个子节点,可以是元素节点,也可以是文本节点。若父元素与第一个子元素之间存在空白节点,firstChild获取到的将是空白节点而不是第一个子元素

  //firstElementChild

  //获取指定元素的第一个子元素节点,不会检测到文本节点



</script>

</body>

</html>

节点关系之childNodes和children的关系

three  节点关系之childNodes和children的关系
<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<ul>

<li>aaaa</li>

<li>bbbbbb</li>

<li>cccc</li>

<li>ddddd</li>

<li>eeeee</li>

</ul>

<script type="text/javascript">

    var oUl = document.querySelector("ul");

    var lis = oUl.childNodes; // 所有的儿子 包括文本和标签 包含空白节点

    console.log(lis);

    alert(lis.length); // 11

    //对所有的li增加字体颜色样式 red

    for(var i=0; i<lis.length; i++) {

    // 元素的nodeType值为1 表示元素节点

    if (lis[i].nodeType === 1) {

                lis[i].style.color = "red";

    }

    }



    var lis = oUl.children; // 只包含元素节点儿子

    console.log(lis)

    alert(lis.length);//5

    //childNodes和children的区别

    // childNodes:

    // 标准的,它返回指定元素的子元素集合,包括html节点,所有属性,文本。可以通过nodeType来判断是哪种类型的节点,只有当nodeType=='1'时才是元素节点,

    //    2是属性节点,3是文本节点。如果代码中有换行、空格就会增加文本节点,这样用它来返回真正的子节点就会不准确

    //children:

    // 非标准的,它返回指定元素的子元素集合。经测试,它只返回html节点,甚至不返回文本节点。且在所有浏览器下表现惊人的一致。需注意children在IE中包含注释节点。

    // 返回指定元素的子元素集合,只包括元素节点,不包括文本节点。

</script>

</body>

</html>

dom节点的创建

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<ul id="oul">

<li id="one">123</li>

<li id="two">123</li>

<li id="three">123</li>

</ul>

</body>

<script type="text/javascript">

var odiv = document.createElement('div');

document.getElementById('oul').appendChild(odiv);

odiv.innerText = '我是一个动态创建出来的div';

odiv.style.cssText = "width:100px;height:100px;background:pink;border:1px solid gray"

var op = document.createElement('p');

op.innerText = '我是一个动态创建出来的p标签'

var oli = document.getElementById('two')

document.getElementById('oul').insertBefore(op,oli);

//appendChild与insertBefore的区别

//appendChild() 方法向节点添加最后一个子节点。

//insertBefore() 方法可在已有的子节点前插入一个新的子节点。需要两个参数

</script>

</html>

动态创建元素的一个案例

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

<style type="text/css">

    * {

    padding: 0;

    margin: 0;

    }

    body {

    background: #000;

    }

</style>

</head>

<body>

<button id = 'btn'>创建图片</button>

</body>

<script type="text/javascript">

    //  js在文档中创建图片

    function f1(){

    var oImg = document.createElement("img");

    oImg.src = "one.jpg";

    document.body.appendChild(oImg);

    // 设置图片宽度为随机的 20~30

    var w = parseInt(Math.random()*101+20);

    var l = parseInt(Math.random()*100);

    var t = parseInt(Math.random()*300);

    //console.log(w);

    oImg.style.position = 'absolute';

    oImg.style.width = oImg.style.height = w + "px";

    oImg.style.left = l + 'px'

    oImg.style.top = t+'px'

    }



        document.getElementById('btn').onclick = function(){

        f1();

        }

</script>

</html>

相关文章

  • js初识第三节

    一个可以设置是否循环播放的简易手动轮播 节点关系parentNode和firstChild以及和firstElem...

  • ## JS初识

    ## JS初识 # js初识 # js注释 # 变量 # 变量的命名 JS数值的类型 # Number类型 # S...

  • Python小白学习进行时---js基础(2018-7-13)

    一、JS初识 二、JS语法 三、运算符 四、分支结构 ==============================...

  • js初识

    js核心:ECMAScript——ES:基础语法DOM:文档对象模型BOM:浏览器对象模型 js特点:(1)脚本语...

  • JS初识

    js是脚本语言 一种简单弱类型语言 一种解释性执行的脚本语言 一种基于对象的脚本语言 一种相对安全的脚本语言 一种...

  • 初识JS

    1.CSS和JS在网页中的放置顺序是怎样的? css使用link标签引入并放在head标签内,是为了防止白屏和FO...

  • 初识JS

    CSS和JS在网页中的放置顺序是怎样的? css是使用link的标签进行引入并放置在header标签内,而js是使...

  • 初识JS

    1.CSS和JS在网页中的放置顺序是怎样的? CSS引用外部样式表时,使用 标签,将样式放在 标签中;直接在htm...

  • 初识JS

    1、js javascript : 脚本语言,用来实现网页交互、动态效果的,是一种弱类型语言。 2、事件 事件:就...

  • JS初识

    初识javascript 引导 主要内容: 学习目标: 节数知识点要求 第一节(js的前世今生)js简介了解 第二...

网友评论

      本文标题:js初识第三节

      本文链接:https://www.haomeiwen.com/subject/ccljdctx.html