//鼠标点击后执行 <p id="" class="" onclick="console.log(2)">onclick</p>
<script type='text/javascript'></script>
<script type='text/javascript' src='js文件路径'></script>
console.log('hello world'); //window.log+tab,window是全局对象 alert('hello world'); var weather = prompt(message:'请输入今每天气');
var a = 2; //num var b = '2' + a; // string var c = true; // boolean console.log(typeof(a)); var e; //先声明后定义 console.log(e); //值和类型都是undifined var f = null; console.log(f) // 类型是undefiend,数值为null console.log(typeof(f)) //空对象
// str转num var s = '123'; new_s = Number(s);
var num = 123; new_s = num.toString();
//Array var arr = ['henry' 'echo' 'dean']; // 修改元素 arr[2] = 'diane'; arr.length;
//Object,定义在对象中的函数,即对象的方法 var obj = {name:'echo', age:19, fav:function(){ console.log(this) }}; obj.fav()
//function,定义在对象中的函数即对象的方法,{}表示做用域,也是对象 function add(形参1, 形参2){ var c = 2; return a+b; }; console.log(add{2, 5});
var add = function() { };
(function(){})();
//递增、递减 var a = 1; a += 1; a++; console.log(a); // a++ 的迷惑 var a = 4; //先赋值后++ var c = a++; console.log(c); console.log(a); // ++a 的迷惑 var a = 4; //先++后赋值 var c = ++a; console.log(c); console.log(a);
var name = 'henry', age = 19; var str = name + '今年是' + age + '岁'; //es6的模版string,必须是反引号 var str = `${name}今年${age}岁`;
var arr = [1, 2, 'henry']; // 索引取值 arr[0]; // 遍历 // 预解释,变量提高 // var c=2; for (var i = 0; i < arr.length; i++){ console.log(arr[i]); }
arr[2][2]; //取到第二行,第二列
&&; ||; !;
var score = 70; if (score > 80){ console.log('play'); }else if(score > 60){ console.log('stay at home'); }else{ console.log('study'); };
var weather = prompt('weather'); switch(weather){ case 'nice': console.log('nice'); break; case 'rain': console.log('rain'); break; default: console.log('bye') break; }
// true var a = 1 == '1'; // false var a = 1 == 2; var a = 1 == '1';
// for循环 arr = [8, 9, 0] for (var i = 0; i < arr.length; i++){ } // while循环 var a = 1; while (a < 100){ console.log(a); a++; } // do...while do{ }while(a < 100);
// function也会有变量提高现象 function fun(){ console.log(arguments); switch(arguments.length){ case 2: console.log(2); break; case 3: console.log(3); break; default:break; } } fun(1, 2); fun(3, 4, 5);
new Object(); new Array(); new String(); new Number();
var Person = { name:'henry', age:19, fav:function(){ console.log(this); } }; Person.fav(); console.log(Person.name); console.log(Person.age);
var obj = {}; obj.name = 'henry'; console.log(obj.name) obj.fav = function(){ console.log(this); // this 指向obj对象 }; obj.fav(); console.log(this); // this window
var obj = {name:'echo'}; var name = 'henry'; function add(x, y){ this.x = x; this.y = y; console.log(this.name); console.log(this); console.log(x); console.log(y); }; add(); // 不能够改变this指向 add.call(obj, 1, 2); // 能够改变this指向 add.apply(null, [1, 2]); // 能够改变this指向 console.dir(add);
function Point(x, y) { this.x = x; this.y = y; } Point.prototype.toString = function () { return '(' + this.x + ', ' + this.y + ')'; }; var p = new Point(1, 2);
var obj = new Array(); console.log(obj);
var = arr['red', 'yellow', 'green'];
// if 内只有一行代码是能够省略大括号 if (Array.isArray(arr)) console.log('true');
var arr = ['red', 'green'] Array.isArray(arr); // 判断arr是不是数组,返回true则是 arr.toString(); // 把数组中内容取出,用逗号拼接 num = 123; num.toString(); // 数字转字符串 arr.join('||'); // 以||拼接
push() pop() var val = arr.pop(); // 返回删除的内容 console.log(val); // val是pop的返回值 console.log(arr); console.log(arr.push('xixixi'));; // 返回值为res,最新数组长度 console.log(arr);
shift() unshift() var val = arr.unshift('heiheihei', 'hahaha');// 往数组的前面填充内容 console.log(arr); console.log(val); // 返回数组最新长度 console.log(arr.shift()); // 删除第一个
var names = ['henry', 'echo', 'dean']; var val = names.splice(1, 0, 'diane'); // 在索引1位置添加 console.log(names); console.log(val); names.splice(1, 1); // 从索引1位置删除1个值 names.splice(1, 1, 'xixixi'); // 从索引1位置替换1个
var num = [5, 2, 3]; num.reverse();
// 会转换成字符串进行比较 a = [2,1,13,4,56,6, 'henry']; console.log(a.sort()); // [1, 13, 2, 4, 56, 6, "henry"]
// 数组拼接,并不改变原来值 var new_num = num.concat(1, 2, 3);
// 不会更改初始值 num = [1,2,3,4,5,4,3,2,1] num.slice(5) // 索引5以后的全部值 num.slice(5,7) // 索引5-7 不包扩7 num.slice(-3,-1) // 倒数第三个到倒数第一个 num.slice(-3,-4) // 取不到值
num = [1,2,3,4,5,4,3,2,1] var a = num.indexOf(4); // 3 var a = num.lastIndexOf(4); // 5
// 回调函数 arr.forEach(function(item, index){ console.log(index); console.log(item); }); function fn(){ console.log(arguments); // arguments不是数组,伪数组 for (var i = 0; i < arguments.length; i++){ console.log(arguments[i]); } } fn(2,3,4); fn.length; // 形参个数
s = 'henry'; console.log(s.length);
console.log(s.charAt(2));
console.log(s.charCodeAt(2));
console.log(s.concat('&echo'));
s = 'henry&echo'; s.slice(3,7);
s = 'henry&echo'; s.substring(3,7);
s = 'henry&echo'; s.substr(3,7);
s = 'henry&echo'; s.indexof('o'); // 数据类型要一致
s = 'henry&echo'; s.lastIndexOf('o'); // 数据类型要一致
s = ' he nry '; s.trim(); s.trimLeft(); s.trimRight(); s.trimEnd();
s = 'henry'; s.toLowerCase(); s.toUpperCase();
var time = new Date();
time.getDate(); // 返回日期对象的第几天
time.getMonth(); // 返回月份,须要 + 1
time.getFullYear();
time.getDay();
time.getHours();
time.getMinutes();
time.getSeconds();
1.time.toString(); // Sun Jun 09 2019 17:13:35 GMT+0800 (CST) 2.time.toLocaleString(); //6/9/2019, 5:13:35 PM 3.time.toDateString(); // "Sun Jun 09 2019" 4.time.toLocaleDateString(); // "6/9/2019" 5.time.toTimeString() // "17:27:04 GMT+0800 (CST)" 6.time.toLocaleTimeString() // "5:27:04 PM" 7.time.toGMTString(); // "Sun, 09 Jun 2019 09:27:04 GMT"
var time = new Date(); console.log(time); console.log(time.getDate()); console.log(time.getFullYear()); console.log(time.getMonth()+1); console.log(time.getDay()); console.log(time.getHours()); console.log(time.getMinutes()); console.log(time.getSeconds()); console.log(time.toLocaleString()); //2019/6/3 下午11:50:36 var weeks = ['星期天','星期一','星期二','星期三','星期四','星期五','星期六']; console.log(weeks[date.getDay()]); var day = weeks[date.getDay()]; document.write(`<a href="#">${day}</a>`) var a = 1 < 2 ? "yes": "no"; console.log(a);
var a = 1 > 2 ? 'yes': 'no';
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h2 id="time"></h2> <script> var timeObj = document.getElementById('time'); console.log(time); function getNowTime() { var time = new Date(); var hour = time.getHours(); var minute = time.getMinutes(); var second = time.getSeconds(); var temp = "" + ((hour > 12) ? hour - 12 : hour); if (hour == 0) { temp = "12"; } temp += ((minute < 10) ? ":0" : ":") + minute; temp += ((second < 10) ? ":0" : ":") + second; temp += (hour >= 12) ? " P.M." : " A.M."; timeObj.innerText = temp; } setInterval(getNowTime, 20); </script> </body> </html>
var s = '123'; parseInt(s); // 若是s中包含非数字,则只保留其数字部分,第一个字符为非数字则会报NaN
var s = '123.123'; parseFloat(s);
var c = 6/0; // 会出现infinity
Number('123d'); // NaN: not a number Number('123');
String(123);
var a = 2; a = a + ''; // 或者 a.toString();
arr = [1,2,3,4,5] var max = Math.max.apply(null, arr);
var num = 25.7; var num2 = 25.2; alert(Math.ceil(num)); //26 alert(Math.floor(num)); //25 alert(Math.round(num)); //26 alert(Math.round(num2)); //25
function random(lower, upper) { return Math.floor(Math.random() * (upper - lower)) + lower; }
var url = 'https://www.bai du.com'; var a1 = encodeURI(url); var a2 = encodeURIComponent(url); console.log(a1); console.log(a2); console.log(decodeURI(a1)); console.log(decodeURIComponent(a2)) // 使用 encodeURI()编码后的结果是除了空格以外的其余字符都原封不动,只有空格被替换成了 %20。 // 而 encodeURIComponent()方法则会使用对应的编码替换全部非字母数字字符
var color = "red"; function sayColor(){ alert(window.color); } window.sayColor(); // red
// 获取0-256之间的随机数 function random(min, max){ return min + Math.floor(Math.random() * max); } function randomColor(){ var r = random(0, 256), g = random(0, 256), b = random(0, 256); return `rag(${r},${g},${b} )`; } var color = randomColor(); console.log(color);
function creationCode(){ var code = ''; var code_l = 4; var s_code = Array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R', 'S','T','U','V','W','X','Y','Z'); for (var i = 0; i < code_l; i++){ s = s_code[random(0,37)] code += s; } return code; } var code = creationCode(); console.log(code);
var a = window.alert('肯定离开了');
// 有返回值,肯定为true或取消为false var a = window.confirm('肯定删除?');
var a = window.promopt('今每天气怎么样?')
// 延时2秒,异步、非阻塞 var i = 0; timer = setTimeout(function(){ console.log('hello world'); }, 2000); // 清除定时器 clearTimeout(timer); timer = setTimeout(function(){ console.log('test your speed'); }, 2000); console.log('看看阻不阻塞')
var i = 0; timer = setInterval(function(){ i++; console.log(i); if (i === 10){ // 清除定时器 clearInterval(timer); } }, 1000);
console.log(window.location); console.log(window.location.host); console.log(window.location.hostname); console.log(window.location.herf); console.log(window.location.origin); console.log(window.location.port); // console.log(window.location.reload()); reload: f reload(); // 方法 location.reload();
// 刷新 setInterval(function(){ // 通常用于测试 // ajax用于局部刷新 locatoin.reload(); }, 2000);
var box = document.getElementById('box'); console.log(box); console.dir(box); // 查看box全部属性和方法
var box = document.getElementsByTagName('div'); // 使用拍它思想,操做标签,点击任意一个改变样式,即改变类名 var li = document.getElementsByTagName('li'); for (var i = 0; i < li.length; i++){ // console.log(li[i]); // 这里的this指向当前对象 this.onclick = function(){ for (var j = 0; j < li.length; j++){ this.className = ''; } this.className='active-li'; };
var lis = document.getElementsByClassName('active'); // 经过id获取时, var box = document.getElementById('box'); console.log(box.children);
// 当前文档啊 console.log(document); // html中的body console.log(document.body); // html console.log(document.documentElement);
// 属性所有使用驼峰式 box.style.color box.style.backgroudColor
var box = window.document.getElementById('box'); console.log(box); // 绑定事件 box.onmouseover = function(){ this.style.backgroundColor = 'red'; } box.onmouseout = function(){ this.style.backgroundColor = 'yellowgreen'; }
var isRed = true; // 绑定事件 box.onclick = function(){ if (isRed){ this.style.backgroundColor = 'yellow'; isRed = false; }else{ this.style.backgroundColor = 'red'; isRed = true; } } // 设置周期定时, 此时不能用this,由于this指向window setInterval (function(){ if (isRed){ box.style.backgroundColor = 'yellow'; isRed = false; }else{ box.style.backgroundColor = 'red'; isRed = true;} },1000);
var p = window.document.getElementById('p1'); console.dir(p); p.className += ' b'; // 会覆盖以前的类 p.className = 'b';
setAttribute(name, value); getAttribute(name); var p = document.getElementById('p1'); p.setAttribute('class', 'active'); // 自定义属性设置,只能在节点对象上 p.setAttribute('self', 'active'); // 不会显示到页面中的elements中 p.self = '123'; p.class; p.title;
var p = window.document.getElementById('p1'); console.dir(p); // p.className += ' b'; // p.className = 'b'; p.self = '123'; // p.setAttribute('self', 'active'); isTrue = true; p.onmouseover = function(){ if (isTrue){ this.className += ' b'; isTrue = false; }else{ this.className = 'a'; isTrue = true; } }
var ul = document.getElementById('box'); // 建立节点 var li1 = document.createElement('li'); var li2 = document.createElement('li'); // 只设置文本 li1.innerText = '123'; // 设置li中的html内容 li1.innerHTML = '<a herf = ''>123</a>'; // 设置类名 l1i.setAttribute('class', 'active'); // 设置样式 li1.children[0].style.color = 'red'; li1.children[0].style.fontSize = 20px; // 追加节点 ul.appendChild(li1); // 在li1前插入li2 ul.insertBefore(li2, li1); // 删除节点 ul.removeChild(li1);
var box = document.getElementById('box'); // 建立节点对象 var li1 = document.createElement('li'); var li2 = document.createElement('li'); // 设置节点内容和属性(2中设置内容方式) li1.innerText = '123'; li1.innerHTML = "<a href=''>456</a>"; li1.setAttribute('class', 'active') // 添加节点到父节点 box.appendChild(li1); box.insertBefore(li2, li1); // 删除孩子节点li1 box.removeChild(li1);
var data = [ {id:1, name:'henry', age:19}, {id:2, name:'echo', age:18}, {id:3, name:'dean', age:28}, {id:4, name:'oleg', age:26}, {id:5, name:'diane', age:27} ] for (var i = 0; i < data.length; i++){ console.log(data[i].name); var li = document.createElement('li'); li.innerHTML = `<p>${data[i].id}</p> <p>${data[i].name}</p><p>${data[i].age}</p>`; box.appendChild(li) }
var box = document.getElementById('imgBox'); var prev = document.getElementById('prev'); var next = document.getElementById('next'); num = 1; next.onclick = function(){ nextImg(); } function nextImg(){ if (num===4){ num = 1; } imgBox.src = `images/${num}.jpg`; num++; }s setInterval(function(){ nextImg(); }, 1000);
如下经常使用的几种结点类型:javascript
元素类型 | 节点类型 |
---|---|
元素 | 1 |
属性 | 2 |
文本 | 3 |
注释 | 8 |
文档 | 9 |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>节点属性</title> </head> <body> <div id="box">我是一个文本节点<!-- 我是注释 --></div> <script type="text/javascript"> // 1.获取元素节点 var divNode = document.getElementById('box'); console.log(divNode.nodeName + '|' + divNode.nodeValue + "/" + divNode.nodeType); // 2.获取属性节点 var attrNode = divNode.attributes[0]; console.log(attrNode.nodeName + '|' + attrNode.nodeValue + "/" + attrNode.nodeType); // 3.获取文本节点 var textNode = divNode.childNodes[0]; console.log(textNode.nodeName + '|' + textNode.nodeValue + "/" + textNode.nodeType); // 4.获取注释节点 var commentNode = divNode.childNodes[1]; console.log(commentNode.nodeName + '|' + commentNode.nodeValue + "/" + commentNode.nodeType); // 5.文档节点 console.log(document.nodeName + '|' + document.nodeValue + "/" + document.nodeType); </script> </body> </html>
// 非严格模式 function fn(){ // this是window console.log(this); } // 严格模式 function fn(){ 'use strict'; // this是undifinded console.log(this); }
console.dir($); // jquery包含大量方法的对象 console.log($('#box')); // jquery对象,伪数组 console.log($('#box')[0]); // jquery对象转节点对像 var box = document.getElementById('box'); // js对象 $(box); // js转jq对象
console.log($('.box>p')) // 子代选择器,jquery对象 console.log($('.box>p')[1]) // 组合选择器 $('box,active') // 交集选择器 $('div.active') // js对象 console.log($('input[type=text]')); // 属性选择器
$('#box.active').click(function(){ // this指向当前js节点对象 console.log(this); // 样式操做 this.style.... // js转换为jq,操做样式,不会覆盖 $(this).css('color', 'red'); $(this).css('font-size'(或使用驼峰), '20px'); // 或使用对象传值,遍历对象进行赋值 $(this).css({'color':'red', 'font-size':40}); console.log($(this).css('color')); });
// 单独设置样式。不一样种类的样式不会覆盖 $(this).css('font-size', '40px'); $(this).css('color','lightblue'); // 共同设置样式 $(this).css({ 'font-size':'40px', 'color':'red', }) // 获取属性值 console.log($(this).css('color'));\
// eq,gt,lt,odd,even,first,last console.log($('ul li')[1]; // js对象 console.log($('ul li:eq(1)')); // jq对象 console.log($('ul li:gt(1)')); // 。。。 console.log($('ul li:lt(1)')); // 。。。 console.log($('ul li:odd')); // 。。。 console.log($('ul li:even')); // 。。。 console.log($('ul li:first')); // 。。。 console.log($('ul li:last')); // 。。。
// 选中后代全部的span/a .find() console.log($('ul').find('span')); console.log($('ul').find('a')); // 选中子代中的元素 console.log($('ul').children()); // parent(), document-html-body-... console.log($('span').parent()); // console.log($('ul li').eq(1)); // siblings(),实现选项卡,排他性 console.log($('li').addClass('active').siblings('button').removeClass('active')); // 当前点击元素索引 var index = $(this).index(); $('p').eq($(this).index()).addClass('active').siblings('p').removeClass('active')
console.log($('span').parent().parent().parent().parent().parent());
// 选项卡方法一 for (var i = 0; i < btns.length; i++){ btns[i].index = i; btns[i].onclick = function(){ for (var j = 0; j < btns.length; j++){ // console.log(this); btns[j].className = ''; p[j].className = ''; } this.className = 'active'; p[this.index].className = 'active'; } } // 选项卡方法二 for (let i = 0; i < btns.length; i++){ btns[i].onclick = function(){ for (var j = 0; j < btns.length; j++){ btns[j].className = ''; p[j].className = ''; } this.className = 'active'; p[i].className = 'active'; } }
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>jq实现选项卡</title> <style type="text/css"> button.active{ color: red; } p{ display: none; } p.active{ display: block; } </style> </head> <body> <button class="active">热门</button> <button>电脑影音</button> <button>电脑</button> <button>家电</button> <p class="active">热门</p> <p>电脑影音</p> <p>电脑</p> <p>家电</p> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> console.log($('button')); $('button').click(function(){ // 处理点击的选项卡 console.log($(this)); $(this).addClass('active').siblings('button').removeClass('active'); // 获取当前对象的索引 console.log(($(this).index())); $('p').eq($(this).index()).addClass('active').siblings('p').removeClass('active'); }); </script> </body> </html>
hellocss
)$('#button').click(function(){ // $('#box').show(2000); if($(this).text() === '显示'){ $('#box').show(2000 function(){ $('#button').text() === '隐藏'); }); })else{ $(this).text() === '显示'); $('#box').hide(2000); }
// 在开启定时器时,须要先中止以前的定时器 $('#box').stop().toggle(2000); $('#box').slideDown(2000); $('#box').slideUp(2000);
$('#box').fadeIn(2000); $('#box').fadeOut(2000); // 动画不支持背景色,须要插件支持 $('#box').animater([params], speed, callback);
$('#box').toggle(2000, function(){});
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> div { position: absolute; left: 20px; top: 30px; width: 100px; height: 100px; background-color: green; } </style> <script src="js/jquery.js"></script> <script> jQuery(function () { $("button").click(function () { var json = {"width": 500, "height": 500, "left": 300, "top": 300, "border-radius": 100}; var json2 = { "width": 100, "height": 100, "left": 100, "top": 100, "border-radius": 100, "background-color": "red" }; //自定义动画 $("div").animate(json, 1000, function () { $("div").animate(json2, 1000, function () { alert("动画执行完毕!"); }); }); }) }) </script> </head> <body> <button>自定义动画</button> <div></div> </body> </html>
// 文档加载jq中 $(document).ready(function(){$('p')}); // 文档加载完成后,调用回调函数,无覆盖现象 jQuery(function(){}); $(function(){ $('p').attr('title', 'henry'); $('p').attr({'title':'henry', 'color':'red'}); // 得到属性,须要一个属性名 $('p').attr('title'); // 移除(一个或多个) $('p').removeAttr('title id a'); }); // js中使用,js中的事件有覆盖现象 window.onload = function(){ console.log(222); }; window.onload = function(){ console.log(111); }
$(function(){ $('input[type=radio]').eq(0).prop('checked'); $('input[type=radio]').eq(0).prop('type'); // 只能操做标签上的属性 $('input[type=radio]').eq(0).attr('a', 1); // 能够操做对象内部的属性 $('input[type=radio]').eq(0).prop('type'); });
<h2>视频</h2> <video width="" height="" controls="controls"> <source src="知乎.mp4" type="video/mp4"></source> </video> // controls表示播放按钮 <h2>音频</h2> <audio src="海贼王%20-%20ビンクスの酒(独唱).mp3" controls="controls">音频</audio>
$('#box').append('henry'); // 追加一个标签 $('#box').append('<h2>echo</h2>'); $('#box').append(js对象); // 若是参数是jq对象至关于移动操做 $('#box').append(jq对象);
$('<a href="">百度一下 </a>').appendTo('#box'); // 链式编程思想,能够直接修改样式 $('<a href="">百度一下 </a>').appendTo('#box').css('yellow');
$('#box').prepend('<h2>echo</h2>');
$('<a href="">百度一下 </a>').prependTo('#box');
$('h2').before('henry');
$('<a href="">百度一下 </a>').insertBefore('h2');
$('#box ul').replaceWith('<a href="">百度一下</a>'); // .replaceAll()和.replaceWith()功能相似,可是目标和源相反。 $('<a href="">百度一下</a>').replaceAll('#box ul');
// 删除 $('button').click(function(){ alert(111); $(this).css('color', 'red'); $('#box').append($(this).remove()); })
// 不删除事件 $('button').click(function(){ alert(111); $(this).css('color', 'red'); $('#box').append($(this).detach()); })
$('#box').empty(); $('#box').html('');
$('#box').mouseover(function(){ console.log('进来了'); }) $('#box').mouseout(function(){ console.log('出去了'); })
// mouseover的传播效应 $('#box').mouseover(function(){ console.log('进来了'); $('#child').stop().slideDown(1000); }) $('#box').mouseout(function(){ console.log('出去了'); $('#child').stop().slideUp(1000); })
// mouseenter $('#box').mouseenter(function(){ console.log('进来了'); $('#child').stop().slideDown(1000); }) $('#box').mouseleave(function(){ console.log('出去了'); $('#child').stop().slideUp(1000); })
$('#box').hover(function(){ },function(){})
// 默认加载页面,聚焦 $('input[type=text]').focus(); // 聚焦事件 $('input[type=text]').focus(function(){ console.log('聚焦了'); }) // 失焦事件 $('input[type=text]').blur(function(){ console.log('失焦了'); })
$('input[type=text]').keydown(function(e){ console.log(e.keyCode); switch (e.keyCode){ case 8: $(this).val(''); break; default: break; } })
// 阻止默认事件方法1 <a href='javascript:void(0);'>; <a href='javascript:;'>; <form action='javascript:;'>; // 阻止默认事件方法2 <script type="text/javascript"> $('form').submit(function(e){ e.preventDefault(); console.log('11111'); }) </script>
// ajax,只针对与当前页面的局部进行刷新 var name = $('input[type=text]').val(); var pwd = $('input[type=password]').val(); $.ajax({ url:'', method:'post'; data:{ a:name, b:pwd }, success:function(res){ // {data:200} if (res.data==200){ setTimeout(function(){ windown.open('网址', '_self') },3000) } } });
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div id="box"> </div> <script type="text/javascript"> $(function(){ $.ajax({ url:'https://api.apeland.cn/api/banner/', methods:'get', success:function(res){ console.log(res); // 根据响应中的data,判断响应是否成功,以及就数据进行操做 if (res.code === 0 ){ var name = res.data[0].name; var cover = res.data[0].cover; $('#box').append(`<img src=${cover} alt=${name}>`); } }, // 出现错误时的操做 err:function(err){ console.log(err); }, }) }) </script> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ajax练习</title> <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div id="box"> <ul type='none'></ul> </div> <div id="content"> <ul></ul> </div1> <script type="text/javascript"> // 获取导航头 $.ajax({ url:'https://www.luffycity.com/api/v1/course_sub/category/list/', methods:'get', success:function(res){ console.log(res); $(`<li style='font-weight:bold')>所有<\/li>`).appendTo('#box ul').attr('id', 0); if (res.error_no===0){ res.data.forEach(function(item,index){ $(`<li type='none' style='font-weight:bold')>${item.name}<\/li>`).appendTo('#box ul').attr('id', item.id); }) } } }) // 获取课程 var sub_category = 0; function get_course_list(sub_category){ $.ajax({ url:`https:\/\/www.luffycity.com/api/v1/courses/?sub_category=${sub_category}&ordering=`, method:'get', success:function(res){ $('#content ul').empty(); if (res.error_no===0){ res.data.forEach(function(item, index){ $(`<li>${item.name}<\/li>`).appendTo('#content ul').attr('id', item.id); }) } } }) } get_course_list(sub_category); // jq中的事件委托 $('#box ul').on('click', 'li', function(){ var sub_category = $(this).attr('id'); get_course_list(sub_category); }); </script> </body> </html>