博主信息
博文 17
粉丝 0
评论 0
访问量 18671
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
原生相册功能
再见羊肉串儿
原创
1380人浏览过
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>相册</title>
  8. <style>
  9. /* 通用样式 */
  10. * {
  11. margin: 0;
  12. padding: 0;
  13. box-sizing: border-box;
  14. }
  15. li {
  16. list-style: none;
  17. }
  18. a {
  19. text-decoration: none;
  20. }
  21. .container {
  22. display: flex;
  23. flex-flow: row wrap;
  24. justify-content: space-around;
  25. }
  26. .container > .butgirl {
  27. width: 13rem;
  28. border: 1px solid green;
  29. padding: 0.5rem;
  30. margin-top: 0.5rem;
  31. }
  32. .container > .butgirl > img {
  33. width: 100%;
  34. }
  35. /* 按钮 */
  36. .container > .butgirl > .btn {
  37. display: flex;
  38. justify-content: space-between;
  39. margin-top: 0.5rem;
  40. }
  41. .container > .butgirl > .btn > button {
  42. background-color: green;
  43. height: 1.5rem;
  44. border-radius: 0.5rem;
  45. border: none;
  46. flex: 0 1 31%;
  47. }
  48. </style>
  49. </head>
  50. <body>
  51. <div class="container"></div>
  52. <script>
  53. let imgsGroup = [
  54. "images/img-1.jpg",
  55. "images/img-4.jpg",
  56. "images/img-8.jpg",
  57. "images/img-16.jpg",
  58. "images/img-24.jpg",
  59. "images/img-20.jpg",
  60. "images/img-25.jpg",
  61. "images/img-39.jpg",
  62. ];
  63. // 获取图片容器
  64. let container = document.querySelector(".container");
  65. //当页面加载完成之后显示图片
  66. window.onload = showImgs;
  67. //图片展示方法
  68. function showImgs() {
  69. let res = imgsGroup.reduce(function (prev, curr) {
  70. let html = `
  71. <div class="butgirl">
  72. <img src="${curr}" />
  73. <div class="btn">
  74. <button onclick=goBefer(this)>向前</button>
  75. <button onclick=goAfter(this)>向后</button>
  76. <button onclick=goDel(this)>删除</button>
  77. </div>
  78. </div>
  79. `;
  80. return prev + html;
  81. }, "");
  82. container.insertAdjacentHTML("afterbegin", res);
  83. }
  84. //图片向前
  85. function goBefer(obj) {
  86. //获取点击的图片元素
  87. let father = obj.parentNode.parentNode;
  88. //点击的图片元素的上一个兄弟元素
  89. let befor = father.previousElementSibling;
  90. // console.log(befor);
  91. if (befor == null) {
  92. alert("不能向前了!");
  93. return false;
  94. }
  95. // 将兄弟元素插入到点击元素之前
  96. container.insertBefore(father, befor);
  97. }
  98. // 图片向后
  99. function goAfter(obj) {
  100. //获取点击的图片元素
  101. let father = obj.parentNode.parentNode;
  102. //点击的图片元素的下一个兄弟元素
  103. let next = father.nextElementSibling;
  104. // console.log(befor);
  105. if (next == null) {
  106. alert("不能向后了!");
  107. return false;
  108. }
  109. // 将点击元素插入到兄弟元素之后
  110. // dom只提供了
  111. container.insertBefore(next, father);
  112. }
  113. // 图片删除
  114. function goDel(obj) {
  115. let father = obj.parentNode.parentNode;
  116. if (confirm("是否删除?")) father.remove();
  117. }
  118. </script>
  119. </body>
  120. </html>
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学