以下列举了一些典型的JavaScript网页设计实例,它们展示了多样化的功能和交互体验,非常适合初学者及中级开发者学习借鉴如下:

发布于:2025-03-15 ⋅ 阅读:(9) ⋅ 点赞:(0)

1. 动态导航栏

   - 功能描述:创建响应导航栏,当用户滚动页面时,导航栏固定在页面顶部,并显示当前页面部分。

   - 技术点:

     - `window.scroll` 事件监控页面滚动。

     - `classList` 动态添加/移除 CSS 类。

     - `IntersectionObserver` 检测元素是否进入视口。

   - 示例代码:

     ```javascript

     window.addEventListener('scroll', () => {

         const nav = document.querySelector('nav');

         if (window.scrollY > 50) {

             nav.classList.add('fixed-nav');

         } else {

             nav.classList.remove('fixed-nav');

         } }); ```

---

2. 图片轮播(Carousel)

   - 功能描述:用户可以手动切换图片,实现自动播放的图片轮播组件。

   - 技术点:

     - `setInterval` 实现自动播放。

     - `transform: translateX` 实现图片切换动画。

     - 监控事件(点击按钮切换图片)。

   - 示例代码:

     ```javascript

     let currentIndex = 0;

     const slides = document.querySelectorAll('.carousel img');

     const totalSlides = slides.length;

 

     function showSlide(index) {

         slides.forEach((slide, i) => {

             slide.style.transform = `translateX(${100 * (i - index)}%)`;

         }); }

     document.querySelector('.next').addEventListener('click', () => {

         currentIndex = (currentIndex 1) % totalSlides;

         showSlide(currentIndex);

     });

     document.querySelector('.prev').addEventListener('click', () => {

         currentIndex = (currentIndex - 1 totalSlides) % totalSlides;

         showSlide(currentIndex);

     }); ```

3. 模态框(Modal)

   - 功能描述:单击按钮弹出模态框,单击关闭按钮或背景区域关闭模态框。

   - 技术点:

     - `display: none/block` 显示和隐藏控制模态框。

     - 委托事件(点击背景关闭模态框)。

   - 示例代码:

     ```javascript

     const modal = document.getElementById('modal');

     const openBtn = document.getElementById('open-modal');

     const closeBtn = document.getElementById('close-modal');

 

     openBtn.addEventListener('click', () => {

         modal.style.display = 'block';

     });

     closeBtn.addEventListener('click', () => {

         modal.style.display = 'none';

     });

     window.addEventListener('click', (e) => {

         if (e.target === modal) {

             modal.style.display = 'none';

         } }); ```

---

 4. 表单验证

   - 功能描述:实时验证用户输入的表单数据,如邮箱格式、密码强度等。

   - 技术点:

     - `input` 监控用户输入事件。

     - 正则表达式验证格式。

     - 动态显示错误提示。

   - 示例代码:

     ```javascript

     const emailInput = document.getElementById('email');

     const errorMsg = document.getElementById('error-msg');

 

     emailInput.addEventListener('input', () => {

         const email = emailInput.value;

         if ()/**[^\^\^s@] @[^\s@] \.[^\s@] $/.test(email)) {

             errorMsg.textContent = 请输入有效的邮箱地址;

         } else {

             errorMsg.textContent = '';

         } }); ```

---

5. 无限滚动加载

   - 功能描述:当用户滚动到页面底部时,会自动加载更多内容。

   - 技术点:

     - `window.scroll` 监控滚动事件。

     - `fetch` 动态加载数据。

     - `IntersectionObserver` 检测页面底部。

   - 示例代码:

     ```javascript

     let page = 1;

     const loadMore = document.getElementById('load-more');

 

     const observer = new IntersectionObserver((entries) => {

         if (entries[0].isIntersecting) {

             fetch(`/api/data?page=${page}`)

                 .then(response => response.json())

                 .then(data => {

                     // 渲染新数据

                     page ;

                 }); } });

     observer.observe(loadMore);

     ```

---

6. 拖拽功能

   - 功能描述:实现元素的拖动功能,用户可将页面上的元素拖动到指定区域。

   - 技术点:

     - `dragstart`、`dragend` 事件。

     - `draggable` 属性。

   - 示例代码:

     ```javascript

     const draggable = document.getElementById('draggable');

     const dropzone = document.getElementById('dropzone');

 

     draggable.addEventListener('dragstart', (e) => {

         e.dataTransfer.setData('text/plain', e.target.id);

     });

     dropzone.addEventListener('dragover', (e) => {

         e.preventDefault();

     });

     dropzone.addEventListener('drop', (e) => {

         e.preventDefault();

         const id = e.dataTransfer.getData('text/plain');

         const element = document.getElementById(id);

         dropzone.appendChild(element);

     }); ```

---

 7. 黑暗模式切换

   - 功能描述:用户点击按钮切换页面的黑暗模式和亮色模式。

   - 技术点:

     - `localStorage` 保留用户偏好。

     - `classList.toggle` 切换 CSS 类。

   - 示例代码:

     ```javascript

     const toggleBtn = document.getElementById('toggle-mode');

     const body = document.body;

 

     toggleBtn.addEventListener('click', () => {

         body.classList.toggle('dark-mode');

         localStorage.setItem('theme', body.classList.contains('dark-mode') ? 'dark' : 'light');

     });

     // 加载主题的初始化

     const savedTheme = localStorage.getItem('theme');

     if (savedTheme === 'dark') {

         body.classList.add('dark-mode'); } ```

---


网站公告

今日签到

点亮在社区的每一天
去签到