复选框

  1. var j_cbAll = document.getElementById('j_cbAll');
  2. var j_tbs=document.getElementById('j_tb').getElementsByTagName('input');
  3. j_cbAll.onclick = function () {
  4. for (var i = 0; i < j_tbs.length; i++) {
  5. j_tbs[i].checked = this.checked;
  6. }
  7. }
  8. for (var i = 0; i < j_tbs.length; i++) {
  9. j_tbs[i].onclick = function () {
  10. var flag = true;
  11. for (var i = 0; i < j_tbs.length; i++) {
  12. if (!j_tbs[i].checked) {
  13. flag = false;
  14. break;
  15. }
  16. }
  17. }
  18. }

Tab栏切换

  1. var tab_list = document.querySelector('.tab_list');
  2. var lis = tab_list.querySelectorAll('li');
  3. var items = document.querySelectorAll('.item');
  4. for (var i = 0; i < lis.length; i++) {
  5. lis[i].setAttribute('index', i);
  6. lis[i].onclick = function () {
  7. for (var i = 0; i < lis.length; i++) {
  8. lis[i].className = '';
  9. }
  10. this.className = 'current';
  11. var index = this.getAttribute('index');
  12. for (var i = 0; i < items.length; i++) {
  13. items[i].style.display = 'none';
  14. }
  15. items[index].style.display = 'block';
  16. }
  17. }

密码显示/隐藏

  1. eye.onclick = function () {
  2. if (flag == 0) {
  3. pwd.type = 'text';
  4. eye.src = 'open.png';
  5. flag = 1;
  6. } else {
  7. pwd.type = 'password';
  8. eye.src = 'clase.png';
  9. flag = 0;
  10. }
  11. }

留言板

  1. var text = document.querySelector('textarea');
  2. var btn = document.querySelector('button');
  3. var ul = document.querySelector('ul');
  4. btn.onclick = function () {
  5. if (text.value == '') {
  6. alert('请先输入内容')
  7. } else {
  8. var li = document.createElement('li');
  9. li.innerHTML = text.value
  10. ul.insertBefore(li, ul.children[0])
  11. }
  12. }

动态获取数据

var datas = [
    {
        name: '张三',
        subjuct: 'java',
        score: 100
    },
    {
        name: '李四',
        subjuct: 'java',
        score: 100
    },
    {
        name: '王五',
        subjuct: 'java',
        score: 100
    }
]
var tbody = document.querySelector('tbody');
for (var i = 0; i < datas.length; i++) {
    var tr = document.createElement('tr');
    tbody.appendChild(tr);
    for (var k in datas[i]) {

        var td = document.createElement('td');
        td.innerHTML = datas[i][k];
        tr.appendChild(td);
    }
    var td = document.createElement('td');

    tr.appendChild(td);
}
var as = document.querySelectorAll('a');
for (var i = 0; i < as.length; i++) {
    as[i].onclick = function () {
        tbody.removeChild(this.parentNode.parentNode);

    }
}

图片跟随鼠标移动

var div = document.querySelector('div');
document.addEventListener('mousemove', function (e) {
    var x = e.pageX;
    var y = e.pageY;
    div.style.left = x-10+'px';
    div.style.top = y-10+'px';
});

键盘按下s 搜索框获得焦点

var search = document.querySelector('input')
document.addEventListener('keyup', function (e) {
    if (e.keyCode == 83) {
        search.focus();
    }
})

输入内容 上面显示大字体内容

var con = document.querySelector('.con');
var jd = document.querySelector('.jd');
jd.addEventListener('keyup', function () {
    if (this.value == '') {
        con.style.display = 'none';
    } else {
        con.style.display = 'block';
        con.innerHTML = this.value;
    }
})
jd.addEventListener('blur', function () {
    con.style.display = 'none';
})
jd.addEventListener('focus', function () {
    if (this.value !== '') {
        con.style.display = 'block';
    }
})

未来距离现在的时间

function countDown(time) {
    var nowTime = +new Date();
    var inputTime = +new Date(time);
    var times = (inputTime - nowTime) / 1000;
    var d = parseInt(times / 60 / 60 / 24);
    d = d < 10 ? '0' + d : d;
    var h = parseInt(times / 60 / 60 % 24);
    h = h < 10 ? '0' + h : h;
    var m = parseInt(times / 60 % 60);
    m = m < 10 ? '0' + m : m;
    var s = parseInt(times % 60);
    s = s < 10 ? '0' + s : s;
    return d + '天' + h + '时' + m + '分' + s + '秒';
}
console.log(countDown('2023-5-1 18:00:00'));

倒计时案例

var inputTime = +new Date('2021-11-15 12:00:00');
countDown()
setInterval(countDown, 1000)
function countDown() {
    var nowTime = +new Date();
    var times = (inputTime - nowTime) / 1000;
    var h = parseInt(times / 60 / 60 % 24);
    h = h < 10 ? '0' + h : h;
    hour.innerHTML = h;
    var m = parseInt(times / 60 % 60);
    m = m < 10 ? '0' + m : m;
    minute.innerHTML = m;
    var s = parseInt(times % 60);
    s = s < 10 ? '0' + s : s;
    second.innerHTML = s;
}

点击开始停止计时器

var begin = document.querySelector('.begin');
var stop = document.querySelector('.stop');
var timer = null
begin.addEventListener('click', function () {
    timer = setInterval(function () {
        console.log('今天你开心吗?');
    }, 500)
})
stop.addEventListener('click', function () {
    clearInterval(timer)
})

发送短信案例

var btn = document.querySelector('button');
var time = 3;
btn.addEventListener('click', function () {
    this.disabled = true;
    var timer = setInterval(function () {
        if (time == 0) {
            clearInterval(timer)
            btn.disabled = false;
            btn.innerHTML = '发送';
            time = 3;
        } else {
            btn.innerHTML = '还剩下' + time + '秒'
            time--;
        }
    }, 1000)
})

点击后跳转页面

btn.addEventListener('click', function () {
    var num = setInterval(function () {
        if (timer == 0) {
            location.href = 'http://www.baidu.com';
        } else {
            div.innerHTML = '您将在' + timer + '秒钟之后跳转到首页';
            timer--;
        }
    }, 1000)
})

点击返回顶部模块

        // 获取中间的模块
        var allDown = document.querySelector('#variety');      //中间的模块
        var now = document.querySelector('#now');              //最上的模块
        var bodyEle = document.body;                           //获取body

        window.onscroll = function () {
            if (document.documentElement.scrollTop >= 250) {
                variety.style.display = "none";
                now.style.display = "block";
            } else {
                variety.style.display = "block";
                now.style.display = "none";
            }
        }

鼠标移动模块

var div = document.querySelector('.div');
div.addEventListener('mousedown', function (e) {
    var x = e.pageX - div.offsetLeft;
    var y = e.pageY - div.offsetTop;
    document.addEventListener('mousemove', move);
    function move(e) {
        div.style.left = e.pageX - x + 'px';
        div.style.top = e.pageY - y + 'px';
    }
    document.addEventListener('mouseup',function() {
        document.removeEventListener('mousemove',move)
    })
})

京东方法图片效果

var big = document.querySelector('.big');
var move = document.querySelector('.move');
var img = document.querySelector('.img');
big.addEventListener('mouseover', function () {
    move.style.display = 'block';
    img.style.display = 'block';
})
big.addEventListener('mouseout', function () {
    move.style.display = 'none';
    img.style.display = 'none';
})
big.addEventListener('mousemove', function (e) {
    var x = e.pageX - this.offsetLeft;
    var y = e.pageY - this.offsetTop;
    var setx = x - move.offsetWidth / 2;
    var sety = y - move.offsetHeight / 2;
    if (setx <= 0) {
        setx = 0;
    } else if (setx >= big.offsetWidth - move.offsetWidth) {
        setx = big.offsetWidth - move.offsetWidth;
    }
    if (sety <= 0) {
        sety = 0;
    } else if (sety >= big.offsetHeight - move.offsetHeight) {
        sety = big.offsetHeight - move.offsetHeight;
    }
    move.style.left = setx + 'px';
    move.style.top = sety + 'px';
})

animate动画函数

function animate(obj, target, callback) {
    clearInterval(obj.timer);
    obj.timer = setInterval(function () {
        var step = (target - obj.offsetLeft) / 10;
        step = step > 0 ? Math.ceil(step) : Math.floor(step);
        if (obj.offsetLeft == target) {
            clearInterval(obj.timer)
            if (callback) {
                callback();
            }
        }
        obj.style.left = obj.offsetLeft + step + 'px';
    }, 15)
}

鼠标点击置顶

var allDown = document.querySelector('.all');
var end = document.querySelector('.end');
var return1 = document.querySelector('.return1');
window.onscroll = function () {
    if (document.documentElement.scrollTop >= 300) {
        allDown.classList.add('fixed');
        end.style.display = 'none'
        return1.style.display = 'block';
    } else {
        allDown.classList.remove('fixed');
        end.style.display = 'block'
        return1.style.display = 'none';
    }
}
return1.onclick = function () {
   //document.documentElement.scrollTop = 0;
    window.scroll(0,0)
}

鼠标点击置顶慢慢滑动到顶部

var flyTopp = document.querySelector('.fly-yellow-top');
flyTopp.addEventListener('click', function () {
    animate(window, 0)
});
function animate(obj, target, callback) {
    clearInterval(obj.timer);
    obj.timer = setInterval(function () {
        var step = (target - window.pageYOffset) / 10;
        step = step > 0 ? Math.ceil(step) : Math.floor(step);
        if (window.pageYOffset == target) {
            clearInterval(obj.timer)
            callback && callback();
        }
        window.scroll(0, window.pageYOffset + step)
    }, 15)
}

数组新增方法动态展示数据

var tbody = document.querySelector('tbody');
date.forEach(function (value) {
    var tr = document.createComment('tr');
    tr.innerHTML = '<td>' + value.id + '</td><td>' + value.pname + '</td><td>' + value.price + '</td>';
    tbody.appendChild(tr);
})

根据价格查询商品 显示价格区间的商品

var btn = document.querySelector('.btn');
btn.addEventListener('click', function () {
    var newDate = date.filter(function (value) {
        return value.price >= start.value && value.price <= end.value;
    });
    setDate();
});
setDate()
function setDate(mydate) {
tbody.innerHTML='';
mydate.forEach(function (value) {
var tr = document.createComment('tr');
tr.innerHTML = '<td>' + value.id + '</td><td>' + value.pname + '</td><td>' + value.price + '</td>';
tbody.appendChild(tr);
    });
}

点击搜索显示匹配的名称

search.addEventListener('click', function () {
    var arr = [];
    date.some(function (value) {
        if (value.pname === product.value) {
            arr.push(value);
            return true;
        }
    });
    setDate(arr);
})

筋斗云案例

var current = 0;
for (var i = 0; i < lis.length; i++) {
    lis[i].addEventListenter('mouseenter', function () {
        animate(cloud, this.offsetLeft);
    });
    lis[i].addEventListenter('mouseleave', function () {
        animate(cloud, current);
    });
    lis[i].addEventListenter('click', function () {
        current = this.offsetLeft;
    });
}

腾讯地图

   <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script type="text/javascript">
        var ipt=document.querySelector("#search")
        var btn=document.querySelector("#search_btn")
        var ul=document.querySelector("#ul")
        var sort=document.querySelector(".sort")
        var str=''
        var lng=113.625368
        var lat=34.746599
        var markerLayer;
        var center = new TMap.LatLng(34.746599, 113.625368);
        //初始化地图
        var map = new TMap.Map("container", {
            rotation: 20,//设置地图旋转角度
            pitch: 30, //设置俯仰角度(0~45)
            zoom: 12,//设置地图缩放级别
            center: center//设置地图中心点坐标
        });


        // 获取坐标附近的分类信息
        sort.onclick=function() {
            console.log(event.target.innerHTML)
            markerLayer.setGeometries([])
            fetch("https://apis.map.qq.com/ws/place/v1/search?keyword="+event.target.innerHTML+"&boundary=nearby("+lat+","+lng+",1000,1)&key=UJNBZ-7SDW6-4ZBSA-EQWEO-7GUZ7-NCBPM").then(function(res) {
                return res.json()
            }).then(function(res1) {
                console.log(res1.data)
                for(var i=0; i<res1.data.length; i++) {
                    markerLayer.add([{
                        "id": i+2,   //点标记唯一标识,后续如果有删除、修改位置等操作,都需要此id
                        "styleId": 'myStyle',  //指定样式id
                        "position": new TMap.LatLng(res1.data[i].location.lat, res1.data[i].location.lng),  //点标记坐标位置
                        "properties": {//自定义属性
                            "title": res1.data[i].title
                            }
                        }
                    ])

                }
            }).catch(function(err) {
                console.log(err)
            })
        }


        // 实时检索input输入框输入的内容
        ipt.oninput=function() {

            $.ajax({
                // 接口地址
                url: "https://apis.map.qq.com/ws/place/v1/suggestion?keyword="+ event.target.value +"&key=UJNBZ-7SDW6-4ZBSA-EQWEO-7GUZ7-NCBPM",   // 地点输入提示
                // 传递给后台字段参数
                // data: {
                //     query: event.target.value,
                //     region: '郑州',
                //     city_limit: true,
                //     ak: 'uvrdtOgZGXr7Q9aXBuWqz6DGxG4FmDQD'
                // },
                // 后台接口请求方法
                method: "GET",
                // 成功回调
                success: function(res) {
                    console.log(8888,res)
                    str=""
                    for(var i=0; i<res.data.length; i++) {
                        str+=`
                            <li data-lat='${res.data[i].location.lat}'  data-lng='${res.data[i].location.lng}'>${res.data[i].title}</li>
                        `
                    }
                    ul.innerHTML=str
                    ul.style.display="block"
                },
                // 失败回调
                fail: function(err) {
                    console.log(err)
                }
            })
        }
        ul.onclick=function() {
            ul.style.display="none"
            console.log(event.target.dataset.lat,event.target.dataset.lng)
            ipt.value=event.target.innerHTML
            //修改地图中心点
            lat=event.target.dataset.lat
            lng=event.target.dataset.lng
            map.setCenter(new TMap.LatLng(event.target.dataset.lat,event.target.dataset.lng));



            //创建并初始化MultiMarker
            markerLayer = new TMap.MultiMarker({
                map: map,  //指定地图容器
                //样式定义
                styles: {
                    //创建一个styleId为"myStyle"的样式(styles的子属性名即为styleId)
                    "myStyle": new TMap.MarkerStyle({ 
                        "width": 25,  // 点标记样式宽度(像素)
                        "height": 25, // 点标记样式高度(像素)
                        "src": './1.png',  //图片路径
                        //焦点在图片中的像素位置,一般大头针类似形式的图片以针尖位置做为焦点,圆形点以圆心位置为焦点
                        "anchor": { x: 16, y: 32 }  
                    }) 
                },
                //点标记数据数组
                geometries: [{
                    "id": "1",   //点标记唯一标识,后续如果有删除、修改位置等操作,都需要此id
                    "styleId": 'myStyle',  //指定样式id
                    "position": new TMap.LatLng(event.target.dataset.lat,event.target.dataset.lng),  //点标记坐标位置
                    "properties": {//自定义属性
                        "title": event.target.innerHTML
                    }
                }]
            });

            // var val=document.querySelector("#search").value
            // console.log(val)
            // 清除所有的标注
            // map.clearOverlays()
            // console.log(event.target.dataset.lng, event.target.dataset.lat)
            // lng=event.target.dataset.lng
            // lat=event.target.dataset.lat
            // var point = new BMapGL.Point(event.target.dataset.lng, event.target.dataset.lat);
            // var myIcon = new BMapGL.Icon("http://127.0.0.1:8081/t/js/1.png", new BMapGL.Size(40, 40), {   
            //     // 指定定位位置。  
            //     // 当标注显示在地图上时,其所指向的地理位置距离图标左上   
            //     // 角各偏移10像素和25像素。您可以看到在本例中该位置即是  
            //     // 图标中央下端的尖角位置。   
            //     anchor: new BMapGL.Size(0, 0),   
            //     // 设置图片偏移。  
            //     // 当您需要从一幅较大的图片中截取某部分作为标注图标时,您  
            //     // 需要指定大图的偏移位置,此做法与css sprites技术类似。   
            //     imageOffset: new BMapGL.Size(0, 0)   // 设置图片偏移   
            // });     
            //     // 创建标注对象并添加到地图  
            // var marker = new BMapGL.Marker(point, {icon: myIcon});         // 创建标注   

            // map.addOverlay(marker); 
            // // 创建点坐标 
            // map.centerAndZoom(point, 15);
        }


    </script>

正则表达式登录

    <script>
        // 获取正确错误模块
        var correct = document.querySelectorAll('.correct');
        var mistake = document.querySelectorAll('.mistake');
        var inputs = document.querySelectorAll('input');
        for (var i = 0; i < inputs.length; i++) {
            // 获得焦点后
            inputs[i].onfocus = function () {
                this.style.border = '1px solid #2e58ff';
            }
        }
        // 用户名判断
        // 用户名失去焦点后
        inputs[0].oninput = function () {
            // 验证用户名是否正确
            var userCondition = /^[a-zA-Z&%(+)*-][0-9a-zA-Z&%(+)*-]{5,17}$/;
            var userContent = document.querySelector('#user').value;
            if (userCondition.test(userContent)) {
                correct[0].style.display = 'block';
                mistake[0].style.display = 'none';
            } else {
                correct[0].style.display = 'none';
                mistake[0].style.display = 'block';
            }
            this.style.border = '1px solid #e0e0e0';
        }
        // 密码框失去焦点后验证密码是否正确
        inputs[1].oninput = function () {
            var userPassword = /^[0-9a-zA-Z]{6,10}$/;
            passwordContent = document.querySelector('#paw').value;
            if (userPassword.test(passwordContent)) {
                correct[1].style.display = 'block';
                mistake[1].style.display = 'none';
            } else {
                correct[1].style.display = 'none';
                mistake[1].style.display = 'block';
            }
            this.style.border = '1px solid #e0e0e0';
        }
        // 验证确认密码是否正确
        inputs[2].oninput = function () {
            var userPassword2 = /^[0-9a-zA-Z]{6,10}$/;
            passwordContent2 = document.querySelector('#paw-again').value;
            if (passwordContent2 == passwordContent) {
                correct[2].style.display = 'block';
                mistake[2].style.display = 'none';
            } else {
                correct[2].style.display = 'none';
                mistake[2].style.display = 'block';
            }
            this.style.border = '1px solid #e0e0e0';
        }
        // 验证手机号否正确
        inputs[3].oninput = function () {
            var number = /^[1][5|8][8|6][0-9]{8}$/;
            var phoneNumber = document.querySelector('#phone-number').value;
            if (number.test(phoneNumber)) {
                correct[3].style.display = 'block';
                mistake[3].style.display = 'none';
            } else {
                correct[3].style.display = 'none';
                mistake[3].style.display = 'block';
            }
            this.style.border = '1px solid #e0e0e0';
        }
        // 验证邮箱否正确
        inputs[4].oninput = function () {
            var email = /^([a-zA-Z0-9]+[_|_|\-|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,6}$/;
            var emailEnter = document.querySelector('#email').value;
            if (email.test(emailEnter)) {
                correct[4].style.display = 'block';
                mistake[4].style.display = 'none';
            } else {
                correct[4].style.display = 'none';
                mistake[4].style.display = 'block';
            }
            this.style.border = '1px solid #e0e0e0';
        }
        // 点击注册事件
        var btn = document.querySelector('.btn');
        btn.onclick = function () {
            var user = document.querySelector('#user').value;
            var paw = document.querySelector('#paw').value;
            var userCondition = /^[a-zA-Z&%(+)*-][0-9a-zA-Z&%(+)*-]{5,17}$/;
            var userContent = document.querySelector('#user').value;
            var userPassword = /^[0-9a-zA-Z]{6,10}$/;
            var passwordContent = document.querySelector('#paw').value;
            var userPassword2 = /^[0-9a-zA-Z]{6,10}$/;
            var passwordContent2 = document.querySelector('#paw-again').value;
            var number = /^[1][5|8][8|6][0-9]{8}$/;
            var phoneNumber = document.querySelector('#phone-number').value;
            var email = /^([a-zA-Z0-9]+[_|_|\-|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,6}$/;
            var emailEnter = document.querySelector('#email').value;
            if (email.test(emailEnter) && number.test(phoneNumber) && (passwordContent2 == passwordContent) && userCondition.test(userContent) && userPassword.test(passwordContent)) {
                alert('恭喜你注册成功!')
                localStorage.setItem("user", user)
                localStorage.setItem("password", paw)
                location.href = 'login.html';
            } else {
                alert('请检查您输入的信息是否有误!')
            }
        }
    </script>


//登录页面
<script>
    var user = document.querySelector('#user');
    var paw = document.querySelector('#paw');
    user.value = localStorage.getItem("user");
    paw.value = localStorage.getItem("password");
</script>