HTML+CSS+jQuery实现平滑动画的代码示例
时间: 2023-06-29 07:20:55 浏览: 179
好的,以下是一个简单的HTML+CSS+jQuery实现平滑动画的代码示例:
HTML代码:
```
<!DOCTYPE html>
<html>
<head>
<title>Smooth Animation</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<header>
<nav>
<ul>
<li><a href="#about">About</a></li>
<li><a href="#services">Services</a></li>
<li><a href="#contact">Contact Us</a></li>
</ul>
</nav>
</header>
<main>
<section id="about">
<h2>About Us</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec bibendum, nisi vel bibendum vestibulum, turpis ex sodales ipsum, a bibendum urna ex nec tellus.</p>
</section>
<section id="services">
<h2>Our Services</h2>
<div class="service">
<img src="service1.jpg" alt="Service 1">
<p>Service 1 Description</p>
</div>
<div class="service">
<img src="service2.jpg" alt="Service 2">
<p>Service 2 Description</p>
</div>
<div class="service">
<img src="service3.jpg" alt="Service 3">
<p>Service 3 Description</p>
</div>
</section>
<section id="contact">
<h2>Contact Us</h2>
<form action="#" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<label for="message">Message:</label>
<textarea id="message" name="message" required></textarea>
<button type="submit">Send Message</button>
</form>
</section>
</main>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="script.js"></script>
</body>
</html>
```
CSS代码:
```
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
header {
background-color: #333;
color: #fff;
height: 60px;
padding: 10px;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
}
nav ul li {
display: inline-block;
margin-right: 20px;
}
nav ul li a {
color: #fff;
text-decoration: none;
}
main {
padding: 50px;
}
h2 {
font-size: 36px;
margin-bottom: 20px;
}
p {
font-size: 18px;
line-height: 1.5;
margin-bottom: 30px;
}
.service {
display: inline-block;
margin-right: 20px;
vertical-align: top;
width: 200px;
}
.service img {
width: 100%;
}
form label, form input, form textarea {
display: block;
margin-bottom: 10px;
width: 100%;
}
form input, form textarea {
padding: 10px;
}
form button {
background-color: #333;
border: none;
color: #fff;
cursor: pointer;
padding: 10px;
}
form button:hover {
background-color: #444;
}
.hide {
display: none;
}
```
jQuery代码:
```
$(document).ready(function() {
// 平滑滚动到锚点
$('a[href^="#"]').on('click', function(event) {
var target = $(this.getAttribute('href'));
if (target.length) {
event.preventDefault();
$('html, body').stop().animate({
scrollTop: target.offset().top
}, 1000);
}
});
// 滚动到服务区域时显示服务动画
$(window).on('scroll', function() {
var servicesTop = $('#services').offset().top;
var servicesHeight = $('#services').height();
var scrollTop = $(this).scrollTop();
var windowHeight = $(this).height();
if (scrollTop + windowHeight > servicesTop && scrollTop < servicesTop + servicesHeight) {
$('.service').addClass('animated fadeInUp');
} else {
$('.service').removeClass('animated fadeInUp');
}
});
// 表单提交成功后显示提示信息
$('form').on('submit', function(event) {
event.preventDefault();
$('.success').removeClass('hide');
});
});
```
注意事项:
- 代码中引入了jQuery和animate.css库,需要在页面中先引入才能使用。
- animate.css是一个开源的CSS动画库,用于为HTML元素添加动画效果。在本例中使用了其中的fadeInUp动画效果。
- CSS代码仅做简单的样式设置,需要根据实际需求进行修改。
阅读全文