2017-02-20 60 views
0

我創建了一個不可見的彈出框,但是一旦被定位,它的不透明度就會增加到一個。如果用戶是存儲在PHP $ _SESSION變量中的「firstTimeUser」,我希望它彈出。但無法弄清楚如何整合JavaScript,它會調用標籤和PHP。我明白,PHP是一種服務器端語言和JavaScript客戶端,但沒有一種方法來調用基於PHP變量的JavaScript函數?在php條件下通過JavaScript調用自動彈出框

這是我試圖整合和下面的代碼爲箱體:

<?php 
    if(isset($_SESSION['firstTimeUser'])){ 
?> 
    <script type='text/javascript'> 
     window.location=document.getElementById('bigBoxID'); 
    </script> 
<?php 
    } 
?> 

<div class="outerBox" id="bigBoxID"> 
    <div class="popup"> 
     <h2 class="firstTimerFont" style="text-align: center">Salut et bienvenue!</h2> 
     <p>Welcome first time user!</p> 
    </div> 
</div> 

而只是讓你可以看到,這裏是CSS:

outerBox{ 

background: rgba(0,0,0,0.5); 
width: 100%; 
height: 100%; 
position: fixed; 
transition: opacity 0.6s; 
visibility: hidden; 
opacity: 0; 
z-index: 10; 
} 

.outerBox:target{ 
visibility: visible; 
opacity: 1; 
} 

.popup{ 
top: 50%; 
left: 50%; 
position: relative; 
padding: 40px; 
width: 50%; 
z-index: 11; 
transform: translate(-50%,-50%); 
} 

任何想法?

回答

1

document.getElementById()返回一個陣列 - 像對象一樣。改爲使用window.location = '#bigBoxID';

<?php 
    if(isset($_SESSION['firstTimeUser'])){ 
?> 
    <script type='text/javascript'> 
     window.location = '#bigBoxID'; 
    </script> 
<?php 
    } 
?> 
0

,如果你試圖打開彈出式窗口,在默認情況下把目標作爲

visible: hidden

然後:

<script type='text/javascript'> 
<?php 
$openPopup = (isset($_SESSION['firstTimeUser'])) ? "true": "false"; 
    echo " var openPopup = $openPopup" ; 
?> 
    if(openPopup){ 

$('.popup').show(); 
    }jquery 
</script> 

我建議你使用jquery