目录
有这样一个url:http://item.taobo.com/item.html?a=1&b=2&c=&d=xxx&e,请写一段js程序提取url中各个get参数,将其key-value
有这样一个url:http://item.taobo.com/item.html?a=1&b=2&c=&d=xxx&e,请写一段js程序提取url中各个get参数,将其key-value
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var str = 'http://item.taobo.com/item.html?a=1&b=2&c=&d=xxx&e';
function fn(str) {
var o = {};
var s = str.split('?')[1]; // a=1&b=2&c=&d=xxx&e
var arr = s.split('&'); // ['a=1', 'b=2', 'c=', 'd=xxx', 'e']
for (var i = 0; i < arr.length; i++) {
var newArr = arr[i].split('=');
o[newArr[0]] = newArr[1];
}
return o
}
console.log(fn(str));
</script>
</body>
</html>
模态框
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
.mark {
width: 800px;
height: 600px;
background-color: rgba(0, 0, 0, 0.3);
position: fixed;
left: 0;
top: 0;
}
.box {
width: 300px;
height: 200px;
background-color: white;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.title {
height: 30px;
background-color: #ccc;
}
.title h3 {
float: left;
padding-left: 10px;
line-height: 30px;
}
.title .close {
float: right;
height: 30px;
line-height: 30px;
padding: 0 10px;
cursor: pointer;
}
.title .close:hover {
background-color: salmon;
}
.content {
padding: 10px;
}
</style>
<script>
window.onload = function () {
var btn = document.querySelector('button');
// 点击展示模态框
btn.onclick = function () {
var body = document.body;
// 获取可视区的宽高
var clientW = document.documentElement.clientWidth;
var clientH = document.documentElement.clientHeight;
// 创建点击后的模态框
var mark = document.createElement('div');
mark.className = 'mark';
mark.style.width = clientW + 'px';
mark.style.height = clientH + 'px';
mark.innerHTML = `<div class="box">
<div class="title">
<h3>标题</h3>
<span class="close">X</span>
</div>
<div class="content">
<p>我这里是内容</p>
</div>
</div>`;
body.appendChild(mark); // 添加进来
// 关闭
var close = mark.querySelector('.close'); // 通过mark获取关闭按钮
close.onclick = function () {
body.removeChild(mark);
}
}
}
</script>
</head>
<body>
<button>按钮</button>
<!-- <div class="mark">
<div class="box">
<div class="title">
<h3>标题</h3>
<span class="close">X</span>
</div>
<div class="content">
<p>我这里是内容</p>
</div>
</div>
</div> -->
</body>
</html>
懒加载
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
width: 700px;
margin: 50px auto;
}
.box img {
width: 300px;
height: 200px;
border: 1px solid #ccc;
margin: 0 20px 20px 0;
}
</style>
<script>
function getPos(ele) {
var l = 0;
var t = 0;
while (ele) {
l += ele.offsetLeft;
t += ele.offsetTop;
ele = ele.offsetParent;
}
return {
left: l,
top: t
}
}
// 实现懒加载有四个步骤,如下:
// 1.加载loading图片
// 2.判断哪些图片要加载【重点】
// 3.隐形加载图片
// 4.替换真图片
window.onload = function () {
var imgs = document.querySelectorAll('img'); // 所有的图片
var clientH = document.documentElement.clientHeight; // 可视区的高
auto(); // 一打开就执行一次
window.onscroll = auto; // 滚动的时候再执行
function auto() {
var scrollTop = document.documentElement.scrollTop; // 滚动条的高度
for (var i = 0; i < imgs.length; i++) {
var img = imgs[i]; // 每张图
var t = getPos(img).top; // 获取每个图片到文档的距离
if (scrollTop + clientH - 300 > t) {
// 滚动条的高度 + 可视区的高度 > 图片到顶部的距离,则证明这张图应该显示
img.src = img.getAttribute('_src');
}
}
}
}
</script>
</head>
<body>
<div class="box">
<img src="img/white.JPG" _src="img/1.jpg" alt="">
<img src="img/white.JPG" _src="img/2.jpg" alt="">
<img src="img/white.JPG" _src="img/3.jpg" alt="">
<img src="img/white.JPG" _src="img/4.jpg" alt="">
<img src="img/white.JPG" _src="img/5.jpg" alt="">
<img src="img/white.JPG" _src="img/6.jpg" alt="">
<img src="img/white.JPG" _src="img/7.jpg" alt="">
<img src="img/white.JPG" _src="img/1.jpg" alt="">
<img src="img/white.JPG" _src="img/2.jpg" alt="">
<img src="img/white.JPG" _src="img/3.jpg" alt="">
<img src="img/white.JPG" _src="img/4.jpg" alt="">
<img src="img/white.JPG" _src="img/5.jpg" alt="">
<img src="img/white.JPG" _src="img/6.jpg" alt="">
<img src="img/white.JPG" _src="img/7.jpg" alt="">
<img src="img/white.JPG" _src="img/1.jpg" alt="">
<img src="img/white.JPG" _src="img/2.jpg" alt="">
<img src="img/white.JPG" _src="img/3.jpg" alt="">
<img src="img/white.JPG" _src="img/4.jpg" alt="">
<img src="img/white.JPG" _src="img/5.jpg" alt="">
<img src="img/white.JPG" _src="img/6.jpg" alt="">
<img src="img/white.JPG" _src="img/7.jpg" alt="">
<img src="img/white.JPG" _src="img/1.jpg" alt="">
<img src="img/white.JPG" _src="img/2.jpg" alt="">
<img src="img/white.JPG" _src="img/3.jpg" alt="">
<img src="img/white.JPG" _src="img/4.jpg" alt="">
<img src="img/white.JPG" _src="img/5.jpg" alt="">
<img src="img/white.JPG" _src="img/6.jpg" alt="">
<img src="img/white.JPG" _src="img/7.jpg" alt="">
<img src="img/white.JPG" _src="img/1.jpg" alt="">
<img src="img/white.JPG" _src="img/2.jpg" alt="">
<img src="img/white.JPG" _src="img/3.jpg" alt="">
<img src="img/white.JPG" _src="img/4.jpg" alt="">
<img src="img/white.JPG" _src="img/5.jpg" alt="">
<img src="img/white.JPG" _src="img/6.jpg" alt="">
<img src="img/white.JPG" _src="img/7.jpg" alt="">
<img src="img/white.JPG" _src="img/1.jpg" alt="">
<img src="img/white.JPG" _src="img/2.jpg" alt="">
<img src="img/white.JPG" _src="img/3.jpg" alt="">
<img src="img/white.JPG" _src="img/4.jpg" alt="">
<img src="img/white.JPG" _src="img/5.jpg" alt="">
<img src="img/white.JPG" _src="img/6.jpg" alt="">
<img src="img/white.JPG" _src="img/7.jpg" alt="">
<img src="img/white.JPG" _src="img/1.jpg" alt="">
<img src="img/white.JPG" _src="img/2.jpg" alt="">
<img src="img/white.JPG" _src="img/3.jpg" alt="">
<img src="img/white.JPG" _src="img/4.jpg" alt="">
<img src="img/white.JPG" _src="img/5.jpg" alt="">
<img src="img/white.JPG" _src="img/6.jpg" alt="">
<img src="img/white.JPG" _src="img/7.jpg" alt="">
<img src="img/white.JPG" _src="img/1.jpg" alt="">
<img src="img/white.JPG" _src="img/2.jpg" alt="">
<img src="img/white.JPG" _src="img/3.jpg" alt="">
<img src="img/white.JPG" _src="img/4.jpg" alt="">
<img src="img/white.JPG" _src="img/5.jpg" alt="">
<img src="img/white.JPG" _src="img/6.jpg" alt="">
<img src="img/white.JPG" _src="img/7.jpg" alt="">
<img src="img/white.JPG" _src="img/1.jpg" alt="">
<img src="img/white.JPG" _src="img/2.jpg" alt="">
<img src="img/white.JPG" _src="img/3.jpg" alt="">
<img src="img/white.JPG" _src="img/4.jpg" alt="">
<img src="img/white.JPG" _src="img/5.jpg" alt="">
<img src="img/white.JPG" _src="img/6.jpg" alt="">
<img src="img/white.JPG" _src="img/7.jpg" alt="">
<img src="img/white.JPG" _src="img/1.jpg" alt="">
<img src="img/white.JPG" _src="img/2.jpg" alt="">
<img src="img/white.JPG" _src="img/3.jpg" alt="">
<img src="img/white.JPG" _src="img/4.jpg" alt="">
<img src="img/white.JPG" _src="img/5.jpg" alt="">
<img src="img/white.JPG" _src="img/6.jpg" alt="">
<img src="img/white.JPG" _src="img/7.jpg" alt="">
<img src="img/white.JPG" _src="img/1.jpg" alt="">
<img src="img/white.JPG" _src="img/2.jpg" alt="">
<img src="img/white.JPG" _src="img/3.jpg" alt="">
<img src="img/white.JPG" _src="img/4.jpg" alt="">
<img src="img/white.JPG" _src="img/5.jpg" alt="">
<img src="img/white.JPG" _src="img/6.jpg" alt="">
<img src="img/white.JPG" _src="img/7.jpg" alt="">
</div>
</body>
</html>
滚轮案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<script>
var inp = document.querySelectorAll('input');
for (var i = 0; i < inp.length; i++) {
bind(inp[i], 'mousewheel', fn);
bind(inp[i], 'DOMMouseScroll', fn);
}
function fn(ev) {
var val = this.value; // 被滚动元素的value值
var ev = ev || event;
if (wheelDelta(ev) > 0) {
// 向上
val++;
} else {
// 向下
val--;
if (val <= 0) {
val = 0;
}
}
this.value = val;
}
// 滚轮方向的兼容:向上120 向下-120
function wheelDelta(ev) {
if (ev.wheelDelta) {
// 标准和 IE
return ev.wheelDelta;
} else {
// 火狐
return -40 * ev.detail;
}
}
// 事件绑定
function bind(ele, event, callback) {
if (ele.addEventListener) {
// 标准浏览器
ele.addEventListener(event, callback, false);
} else {
// IE8及以下
ele.attachEvent('on' + event, callback);
}
}
</script>
</body>
</html>
增删改查(事件委托)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
ul {
width: 400px;
margin: 0 auto 0;
padding: 0;
list-style: none;
}
li {
line-height: 50px;
border-bottom: 1px solid red;
}
.del,
.update {
float: right;
height: 30px;
line-height: 30px;
margin-top: 10px;
margin-left: 10px;
color: #fff;
text-align: center;
padding: 0 5px;
}
.del {
background: red;
}
.update {
background: green;
}
button {
display: block;
margin: 20px auto 0;
}
</style>
</head>
<body>
<ul>
<li>列表1 <span class="del">删除</span> <span class="update">修改</span></li>
<li>列表2 <span class="del">删除</span> <span class="update">修改</span></li>
<li>列表3 <span class="del">删除</span> <span class="update">修改</span></li>
<li>列表4 <span class="del">删除</span> <span class="update">修改</span></li>
<li>列表5 <span class="del">删除</span> <span class="update">修改</span></li>
</ul>
<button>添加</button>
<script>
var ul = document.querySelector('ul');
var btn = document.querySelector('button');
// 添加
btn.onclick = function () {
var v = prompt('请输入添加的内容');
//判断是否输入为空或者输入空格
if (v === null || v.trim() === '') {
alert('哥们,写点啥吧');
return;
}
//向ul中持续加入li内容(包括原来有的)
ul.innerHTML += `<li>${v} <span class="del">删除</span> <span class="update">修改</span></li>`;
}
// 修改和删除
ul.onclick = function (ev) {
var ev = ev || event;
var target = ev.target || ev.srcElement;
if (target.className === 'update') {
// 修改
var v = prompt('请输入修改的内容');
//判断修改的内容是否为空或者是否为空格
if (v === null || v.trim() === '') {
alert('哥们,修改点吧');
return;
}
//修改的内容
target.parentNode.innerHTML = `${v} <span class="del">删除</span> <span class="update">修改</span>`;
} else if (target.className === 'del') {
// 删除
var b = confirm('哥们,是否真的删除啊?');
if (b) {
ul.removeChild(target.parentNode);
}
}
}
</script>
</body>
</html>