2016-04-28 5 views
-6

Ich möchte ein einfaches Tutorial realisieren, um die Rolle der spezifischen Bereiche meiner Website zu erklären, die mit Popovers realisiert wurden. Meine Idee ist, dass, wenn Benutzer auf die Schaltfläche start tutorial klickt, einige Popovers nacheinander auf verschiedenen Elementen angezeigt werden, und wenn ein Popover geöffnet ist, wird der Rest des Bildschirms blockiert und der Benutzer kann nur next drücken, um das aktuelle Popover zu schließen und öffne das folgende, bis das Tutorial abgeschlossen ist. Wie kann ich das tun?Wie man den Bildschirm einfriert, wenn Popover im Browser angezeigt wird?

+1

versuchen Bootstrap modals http://getbootstrap.com/javascript/#modals – imvain2

Antwort

0

Wenn die modal geöffnet ist, müssen Sie JS verwenden vorübergehend Überlauf hinzuzufügen: hidden auf das Körperelement (dies wird die Bildlaufleisten im Hauptfenster zu entfernen und zu verhindern, Scrollen.)

Das Markup diese verwalten Klasse Knebel auf dem Körper hat bereits hier beantwortet/zur Verfügung gestellt worden:

How to disable scrolling temporarily?

+0

Ok, aber ich würde gerne popover statt modal verwenden. Ist es möglich? – Alessio

+0

Gleicher Effekt. Sie können den gleichen Ansatz für beide Optionen verwenden. Füge einfach einen Überlauf hinzu: Verstecke das Body-Element über JS, sobald dein Popup geöffnet wird. Überlauf entfernen: Wird ausgeblendet, wenn Sie das Popup schließen. – Korgrue

+1

Tank Sie, gelöst – Alessio

0

Wenn Sie nur die Benutzer benötigen nicht in der Lage sein, irgendwo anders klicken, die nicht im Tutorial, können Sie eine einfache Overlay machen wie So (Schnipsel im Vollbild anzeigen):

html, 
 
body { 
 
    overflow: hidden 
 
} 
 
.block { 
 
    height: 100vh; 
 
    width: 100vw; 
 
    background: black; 
 
    opacity: 0.8; 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
} 
 
.tutorial { 
 
    height: 300px; 
 
    width: 800px; 
 
    background: #ccc; 
 
    position: absolute; 
 
    top: 50vh; 
 
    left: 50vw; 
 
    transform: translateX(-50%) translateY(-50%); 
 
} 
 
iframe { 
 
    height: 100vh; 
 
    width: 100vw; 
 
}
<iframe src="http://autotrader.com" frameborder="0" scrolling="no"></iframe> 
 
<div class="block"> 
 

 
</div> 
 

 
<div class="tutorial"> 
 

 
</div>

+0

Und kann ich das auch mit Popovers tun? – Alessio

+0

Es hängt davon ab, was Sie mit Popovern meinen? –