image

image

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. * {
  8. margin: 0;
  9. padding: 0;
  10. }
  11. ul {
  12. list-style: none;
  13. width: 1300px;
  14. }
  15. #box {
  16. width: 1200px;
  17. height: 400px;
  18. border: 2px solid red;
  19. margin: 100px auto;
  20. }
  21. #box li {
  22. float: left;
  23. width: 240px;
  24. height: 400px;
  25. }
  26. /* li 标签的背景图,需要使用 js 代码动态添加 */
  27. </style>
  28. </head>
  29. <body>
  30. <div id="box">
  31. <ul>
  32. <li></li>
  33. <li></li>
  34. <li></li>
  35. <li></li>
  36. <li></li>
  37. </ul>
  38. </div>
  39. <script src="jquery-1.12.4.js"></script>
  40. <script>
  41. // 获取所有的 li 标签
  42. var $lis = $("#box ul li");
  43. // 模拟后台提供的图片数据
  44. var arr = ["fq1.jpg","fq2.jpg","fq3.jpg","fq4.jpg","fq5.jpg"];
  45. // 记录文件路径
  46. var path = "img/";
  47. var during = 1000;
  48. // 给每一个 li 去添加背景图
  49. // 遍历方法
  50. $lis.each(function (i) {
  51. // 存储路径
  52. var url = "url(" + path + arr[i] + ")";
  53. // this 指的是遍历的这一次的 li 元素
  54. $(this).css("background-image",url);
  55. })
  56. // 给每个 li 标签添加鼠标进入事件,让自己的宽度变为 800,让其他的兄弟变为 100
  57. $lis.mouseenter(function () {
  58. $(this).stop(true).animate({"width": 800},during)
  59. .siblings().stop(true).animate({"width": 100},during)
  60. })
  61. // 给最外层的大盒子添加鼠标离开事件,让所有的 li 恢复默认宽度
  62. $("#box").mouseleave(function () {
  63. $lis.stop(true).animate({"width": 240},during)
  64. })
  65. </script>
  66. </body>
  67. </html>

版权声明:本文为charonmomo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/charonmomo/p/15184265.html