jQuery中漂亮 订阅模式对话框

  • 源码大小:5.74KB
  • 所需积分:1积分
  • 源码编号:19JP-3714
  • 浏览次数:1061次
  • 最后更新:2023年07月14日
  • 所属栏目:幻灯片
本站默认解压密码:19jp.com 或 19jp_com

简介

一个响应迅速、生动、美观、可自定义的订阅模式对话框,可提高转换率。用简单的HTML/CSS和一点JavaScript(jQuery)编写。

它提供了一种干净美观的方式来收集您的用户电子邮件,具有流畅的外观和感觉。

如何使用它:

1.为订阅模式对话框编写HTML代码。

  1. <div class="modal">
  2. <div class="modal-content">
  3. <div class="photo"></div>
  4. <div class="desc">
  5. <div class="desc-header">
  6. <h2>Get Free Updates</h2>
  7. <button class="btn-close">&times;</button>
  8. </div>
  9. <div class="desc-content">
  10. <input type="email" placeholder="Email Address...">
  11. <button>Subscribe</button>
  12. <p>
  13. Get Weekly Email on latest Web & Graphic Design freebies. No spam, we promise!
  14. </p>
  15. </div>
  16. </div>
  17. </div>
  18. </div>

2.必要的CSS样式。

  1. .modal {
  2. position: fixed;
  3. top: 50%;
  4. left: 50%;
  5. transform: translate(-50%, -50%) scale(0.7);
  6. z-index: 10;
  7. opacity: 0;
  8. transition: .5s;
  9. }
  10.  
  11. .modal.active {
  12. opacity: 1;
  13. transform: translate(-50%, -50%) scale(1);
  14. }
  15.  
  16. .modal-content {
  17. /* border: 1px solid #000; */
  18. width: 600px;
  19. background-color: #fff;
  20. border-radius: 5px;
  21. overflow: hidden;
  22. box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  23. display: flex;
  24. }
  25.  
  26. .modal-content > div {
  27. padding: 20px;
  28. }
  29.  
  30. .photo {
  31. flex: 1;
  32. /* flex-grow: 1; flex-shrink: 0; flex-basis: 0; */
  33. background: url('office.jpg') no-repeat center right;
  34. background-size: cover;
  35. }
  36.  
  37. .desc {
  38. flex: 2;
  39. text-align: center;
  40. }
  41.  
  42. .overlay {
  43. background-color: rgba(0, 0, 0, 0.3);
  44. position: fixed;
  45. width: 100%;
  46. height: 100vh;
  47. top: 0;
  48. left: 0;
  49. opacity: 0;
  50. transition: .5s;
  51. pointer-events: none;
  52. /* visibility: hidden; */
  53. }
  54.  
  55. .overlay.active {
  56. opacity: 1;
  57. pointer-events: all;
  58. /* visibility: visible; */
  59. }
  60.  
  61. .btn-close {
  62. position: absolute;
  63. top: 10px;
  64. right: 10px;
  65. background-color: transparent;
  66. border: none;
  67. font-size: 18px;
  68. color: #999;
  69. cursor: pointer;
  70. outline: none;
  71. }
  72.  
  73. .btn-close:hover {
  74. color: #000;
  75. }
  76.  
  77. .desc-content input[type=email] {
  78. display: block;
  79. width: 100%;
  80. text-align: center;
  81. padding: 7px;
  82. margin-bottom: 10px;
  83. border: 1px solid #ccc;
  84. outline: none;
  85. }
  86.  
  87. .desc-content input[type=email]::placeholder {
  88. color: #bbb;
  89. transition: 0.5s;
  90. }
  91.  
  92. .desc-content input[type=email]:focus::placeholder {
  93. visibility: hidden;
  94. opacity: 0;
  95. }
  96.  
  97. .desc-content button {
  98. display: block;
  99. width: 100%;
  100. border: none;
  101. background-color: crimson;
  102. color: #fff;
  103. cursor: pointer;
  104. padding: 7px;
  105. outline: none;
  106. }
  107.  
  108. @media (max-width: 768px) {
  109. .modal-content {
  110. flex-direction: column;
  111. width: 100%;
  112. }
  113.  
  114. .modal-content>div {
  115. width: 350px;
  116. }
  117.  
  118. .photo {
  119. flex-basis: 250px;
  120. /* height: 250px; */
  121. /* width: 250px; */
  122. }
  123. }

3.在文档末尾加载最新的jQuery库。

  1. <script src="/path/to/cdn/jquery.slim.min.js"></script>

4.在需要时显示订阅模式对话框。

  1. $('.modal, .overlay').addClass('active')

5.单击关闭按钮或背景覆盖时,关闭订阅模式对话框。

  1. $('.btn-close, .overlay').click(function () {
  2. $('.modal, .overlay').removeClass('active')
  3. })

预览截图