You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击悬浮层图标后在模态窗口显示对应图片的实现需求

Hey Edward, let's get that modal image functionality up and running for your 6 image boxes! Here's a complete solution that builds seamlessly on your existing code:


Step 1: Add the Modal HTML

First, insert this modal structure at the bottom of your HTML (right before the closing </body> tag works best):

<!-- Image Modal -->
<div id="imageModal" class="modal">
  <!-- Close Button -->
  <span class="close-modal">&times;</span>
  <!-- Modal Image Container -->
  <img class="modal-content" id="modalImage">
</div>
Step 2: Add Modal CSS

Add these styles to your CSS file to style the modal, background overlay, and close button:

/* Modal Base Styles */
.modal {
  display: none; /* Hidden by default */
  position: fixed;
  z-index: 1000; /* Ensures it sits above other content */
  padding-top: 50px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.9); /* Dark semi-transparent background */
}

/* Modal Image Styling */
.modal-content {
  margin: auto;
  display: block;
  max-width: 90%;
  max-height: 90%; /* Ensures image fits within viewport */
}

/* Close Button */
.close-modal {
  position: absolute;
  top: 15px;
  right: 35px;
  color: #ffffff;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
  transition: color 0.2s ease;
}

.close-modal:hover,
.close-modal:focus {
  color: #cccccc;
  text-decoration: none;
}
Step 3: Update Your jQuery Code

I've merged your existing hover logic with the new modal functionality into a single document.ready block for cleaner code:

$(document).ready(function() {
  // Hide overlays on page load
  $('.overlay').hide();

  // Show overlay when hovering over column
  $('.column').mouseenter(function(){
    $(this).find('.overlay').fadeIn('slow');
  });

  // Hide overlay when mouse leaves column
  $('.column').mouseleave(function(){
    $(this).find('.overlay').fadeOut('slow');
  });

  // Open modal when overlay icon is clicked
  $('.overlay').click(function() {
    // Get the source of the image inside the same column
    const targetImageSrc = $(this).siblings('img').attr('src');
    // Set the modal image's source
    $('#modalImage').attr('src', targetImageSrc);
    // Display the modal
    $('#imageModal').show();
  });

  // Close modal when clicking the X button
  $('.close-modal').click(function() {
    $('#imageModal').hide();
  });

  // Close modal when clicking outside the image area
  $(window).click(function(event) {
    if ($(event.target).is('#imageModal')) {
      $('#imageModal').hide();
    }
  });
});
Quick Notes:
  • Make sure your Font Awesome library is properly included in your project so the fa-search-plus icon displays correctly.
  • This code will work for all 6 of your .column elements as long as each follows the same structure as your example (.overlay sibling to the <img> tag).
  • Merging multiple $(document).ready() calls into one is more efficient and easier to maintain.

内容的提问来源于stack exchange,提问作者user6844583

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:55:33