简体   繁体   English

如何隐藏div并使其可单击以显示媒体屏幕的叠加层

[英]How to hide div and make it clickable to show an overlay for media screens

I have a read-more div with a font-awesome icon in a yellow background. 我有一个read-more div,在黄色背景中有一个字体真棒图标。 This only shows when screen size is smaller than 767px. 仅在屏幕尺寸小于767px时显示。 When this div shows then a user can click it to see the .overlay . 当此div显示时,用户可以单击它以查看.overlay If screen size is bigger than 768px then the read-more should not show and when a user hovers-over the image then the overlay shows (this currently works). 如果屏幕尺寸大于768px,则不应显示read-more ,当用户将鼠标悬停在图像上时,覆盖显示(此时此功能正常)。 What I cannot solve: 我无法解决的问题:

  1. How to hide the read-more div completely for screens > 768px? 如何为屏幕> 768px完全隐藏read-more div?
  2. How to make the read-more div clickable and when clicked the .overlay shows? 如何使read-more div可点击并在点击时显示.overlay

 $(function() { var overlay = $('.overlay'); $("#product-detailscar").one('click', function(e) { overlay.appendTo(document.body) }); }); 
 @media screen and (max-width: 767px) { .read-more i { padding: 5px 10px; display: inline-block; -moz-border-radius: 100px; -webkit-border-radius: 100px; border-radius: 100px; -moz-box-shadow: 0px 0px 2px #888; -webkit-box-shadow: 0px 0px 2px #888; box-shadow: 0px 0px 2px #888; background-color: yellow; color: red; position: absolute; left: 50%; top: 50%; } } @media screen and (min-width: 768px) { .product-detailscar:hover .overlay { opacity: 1; } } .product-detailscar .overlay { /*.well.carousel .overlay {*/ position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; border-radius: 0; background: #F7F7F7; color: #FFF; padding: 10px; text-align: left; border-top: 1px solid #A10000; border-bottom: 1px solid #A10000; /*vertical-align: middle;*/ -webkit-transition: opacity 500ms; -moz-transition: opacity 500ms; -o-transition: opacity 500ms; transition: opacity 500ms; /*padding: 25px; text-align: center;*/ } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="read-more"><i class="fa fa-file-text-o" aria-hidden="true"></i> </div> 

To hide .read-more : 隐藏.read-more

@media screen and (min-width: 768px) {
     #read-more {
         display:none;
     }
}

To make .overlay clickable: 要使.overlay可点击:

$("#read-more").click(function() {
    $(".overlay").show();
});

To hide .overlay on click: 要在点击时隐藏.overlay

$(".overlay").click(function() {
    $(".overlay").hide();
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM