带背景图像切换 全屏导航

  • 源码大小:4.01KB
  • 所需积分:1积分
  • 源码编号:19JP-3749
  • 浏览次数:793次
  • 最后更新:2023年07月18日
  • 所属栏目:其他
本站默认解压密码:19jp.com 或 19jp_com

简介

一个非常酷的全屏导航,当鼠标悬停在菜单项上时,可以在背景图像之间动态切换。

使用简单的HTML/CSS和一点JavaScript(jQuery)构建。

如何使用它:

1.创建导航列表,并使用数据图像属性:

  1. <ul class="navi">
  2. <li data-image="1.jpg">
  3. <a href="#" data-text="JQUERY">JQUERY</a>
  4. </li>
  5. <li data-image="2.jpg">
  6. <a href="#" data-text="SCRIPT">SCRIPT</a>
  7. </li>
  8. <li data-image="3.jpg">
  9. <a href="#" data-text="NET">NET</a>
  10. </li>
  11. </ul>

2.创建一个空容器来容纳背景图像。

  1. <div class="photo"></div>

3.导航所需的CSS样式。

  1. .navi {
  2. position: absolute;
  3. top: 50%;
  4. left: 50%;
  5. transform: translate(-50%, -50%);
  6. list-style: none;
  7. margin: 0;
  8. padding: 0;
  9. z-index: 100;
  10. }
  11.  
  12. .navi li a {
  13. font-size: 4em;
  14. color: #fff;
  15. position: relative;
  16. }
  17.  
  18. .navi li a:before {
  19. position: absolute;
  20. color: yellowgreen;
  21. top: 0;
  22. left: 0;
  23. width: 0;
  24. overflow: hidden;
  25. content: attr(data-text);
  26. transition: 0.6s;
  27. }
  28.  
  29. .navi li a:hover:before {
  30. width: 100%;
  31. }

4.将CSS样式应用于背景图像。

  1. .photo {
  2. background-color: #ddd;
  3. position: absolute;
  4. width: 100%;
  5. height: 100%;
  6. top: 0;
  7. left: 0;
  8. background: url(initial.jpg);
  9. background-repeat: no-repeat;
  10. background-position: center center;
  11. background-size: cover;
  12. transition: 0.5s;
  13. }

5.将鼠标悬停在菜单项上时切换背景图像的主JavaScript(jQuery脚本)。

  1. $('.navi li').mouseenter(function () {
  2. var changeImage = $(this).attr('data-image')
  3. $('.photo').css({
  4. 'background-image': 'url(' + changeImage + ')'
  5. })
  6. })
  7. $('.navi li').mouseleave(function () {
  8. $('.photo').css({
  9. 'background-image': ''
  10. })
  11. })

预览截图