12
votes

Faire apparaître div apparaissez et changez tout le HTML pour être plus sombre

J'ai un div et après avoir cliqué sur un bouton, j'aimerais que la Div apparaisse (que je puisse faire), mais j'aimerais que tout le fond devienne plus sombre (ceci est en ligne avec des superpositions).

J'ai essayé d'utiliser l'opacité - je change l'opacité de l'ensemble du code HTML avec jQuery, c'est-à-dire $ ('html'). CSS ('opacité', '- 0,5'); et changer Retour L'opacité de la DIV à la normale, mais pour une raison quelconque, l'opacité de la div reste la même (0,5). Je n'aime pas vraiment l'opacité depuis en réalité, cela ne rend pas le fond plus sombre (plutôt plus léger).


1 commentaires

Si la DIV a un fond noir, des valeurs d'opacité plus élevées rendront le fond plus sombre et les plus basses le rendront plus léger.


8 Réponses :



4
votes

Tout d'abord, pour opacité, vous ne définissez pas de numéro négatif. $ ('html'). CSS ('opacité', '1'); est solide et complètement visible, et $ ('html'). CSS ('opacité', '0 '); est complètement invisible. Tout ce qui est compris entre (0,2, 0,5, 0,7) devient plus visible la fermeture à 1.

Deuxièmement, pour rendre le fond plus sombre, vous pouvez le faire:

  1. Créez un DIV qui remplit l'écran
  2. Set z-index sur cette div supérieure à tout le contenu
  3. Définissez l'arrière-plan sur noir et opacité à 0,5
  4. Mettez la vidéo YouTube dans une autre div avec un index Z supérieur que le div, vous venez de faire avec le fond noir

2 commentaires

1. J'aimerais que le contenu du HTML soit toujours visible, mais seulement plus sombre. 2-4 Je l'ai déjà fait.


En effet, j'utilise 0,5 (au lieu de -0,5). Désolé.



2
votes

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><a class="play" href="javascript:void(0);">PLAY</a></p>

<div class="video_popup">
  <div class="popup_content">
    <a class="popup_close" href="javascript:void(0);"><img src="_/images/close.png"></a>
    <object width="560" height="315">
    <param name="movie" value="http://www.youtube.com/v/-pJcKCqxtAM?version=3&amp;hl=en_US&atuoplay=1">
    <param name="allowFullScreen" value="true">
    <param name="allowscriptaccess" value="always">
    <embed src="http://www.youtube.com/v/-pJcKCqxtAM?version=3&amp;hl=en_US&atuoplay=1" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"/>
    </object>
  </div>
</div>


5 commentaires

La démonstration ne semble rien faire dans IE9.


Ligne très importante $ ('. Video_popup'). Hauteur ($ (document) .Height ()) Pour les pages plus longues. Merci encore


@Jasper MERCI! (Post-scriptum Je n'ai pas IE9 à tester, mais merci beaucoup pour le TIP, apprécier)


@ user1073201 Le $. GetDocheight est en fait une excellente fonction, il calculera le navigateur croiseur de la hauteur du document!


@Jasper hm, la démo steal dans IE8 aussi. Je vais le réparer demain correctement (c'était une pâte de copie hardcore d'un projet précédent (que BTW fonctionne dans tous les navigateurs.))




1
votes

Voici un autre exemple de ce comportement, dans la démo: cliquez sur le lien "Regarder la vidéo" pour disparaître dans la vidéo et l'écran DIP DIV (évasion pour disparaître)

jsfiddle Demo strong> p>

CSS: p>

<div id="screenDimmer"></div>
<div id="video"><!-- embedded video here --></div>


0 commentaires

13
votes

Cela peut être maintenant fait encore plus facile qu'auparavant. Il suffit d'utiliser un ombre absolue.

 #yourDIV {
   box-shadow: 0px 0px 1px 5000px rgba(0,0,0,0.8);
 }


1 commentaires

Au lieu de la valeur 5000PX, vous pouvez utiliser 100Vmax, ce qui est plus adaptable.



1
votes

Bonjour, j'ai changé le code de quelqu'un qui a affiché ici, même si cela peut être résolu déjà ici est le code mis à jour de Jasper

HTML: P>

$('#some-button').on('click', function () { 
$('#overlay, #overlay-back').fadeIn(1000); 
});
$('#close').on('click',function(){
$('#overlay,#overlay-back').fadeOut(1000);
});


0 commentaires

0
votes

La chose la plus simple que j'ai vue à atteindre est la suivante: xxx pré>

en cliquant sur un bouton, nous devons exécuter ci-dessus étapes. "Superposition" est l'ID de DIV que nous voulons être flou. Après une exécution réussie du script, à la fin, nous pouvons le faire pour réactiver la DIV: P>

$("#overlay").removeAttr("style");


0 commentaires