JavaScript(简称JS)是网页开发中不可或缺的脚本语言。熟练掌握原生JS,能够帮助你轻松解决各种网页开发难题。本文将为你解析80个实用案例,涵盖DOM操作、事件处理、动画效果、表单验证等多个方面,帮助你全面提升JavaScript技能。
一、DOM操作
1. 动态创建和插入元素
代码示例:
// 创建新元素
var newElement = document.createElement('div');
// 设置新元素的文本内容
newElement.innerText = 'Hello, World!';
// 插入到指定父元素中
document.body.appendChild(newElement);
2. 获取和修改元素属性
代码示例:
// 获取元素
var element = document.getElementById('myElement');
// 修改元素属性
element.setAttribute('style', 'color: red;');
二、事件处理
3. 监听和触发事件
代码示例:
// 监听点击事件
document.getElementById('myButton').addEventListener('click', function() {
console.log('Button clicked!');
});
// 触发事件
document.getElementById('myElement').dispatchEvent(new Event('click'));
4. 事件委托
代码示例:
// 事件委托
document.getElementById('myParent').addEventListener('click', function(e) {
if (e.target && e.target.nodeName === 'A') {
console.log('Link clicked:', e.target.textContent);
}
});
三、动画效果
5. CSS3动画
代码示例:
// 使用CSS3动画
element.style.transition = 'transform 1s ease';
element.style.transform = 'translateX(100px)';
6. JavaScript动画
代码示例:
// 使用JavaScript实现动画
function animateElement(element, targetPosition) {
var startPosition = element.offsetLeft;
var startTime = null;
function step(timestamp) {
if (!startTime) startTime = timestamp;
var progress = timestamp - startTime;
var currentX = startPosition + (targetPosition - startPosition) * progress / 1000;
element.style.left = currentX + 'px';
if (progress < 1000) {
requestAnimationFrame(step);
}
}
requestAnimationFrame(step);
}
四、表单验证
7. 验证用户名
代码示例:
function validateUsername(username) {
var regex = /^[a-zA-Z0-9_]{3,16}$/;
return regex.test(username);
}
8. 验证邮箱地址
代码示例:
function validateEmail(email) {
var regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return regex.test(email);
}
五、其他实用案例
9. AJAX请求
代码示例:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var data = JSON.parse(xhr.responseText);
console.log(data);
}
};
xhr.send();
10. 垃圾邮件检测
代码示例:
function isSpam(email) {
var regex = /@[a-zA-Z0-9._-]+\.[a-zA-Z]{2,4}$/;
return regex.test(email);
}
通过以上80个实用案例解析,相信你已经对原生JS有了更深入的了解。掌握这些技巧,将有助于你解决各种网页开发难题,提升开发效率。祝你在JavaScript的世界里畅游无阻!
