2015-05-01 50 views
1

我試圖做一個鏈接從一個頁面到另一個鏈接本身我發送一個變量,接收頁面獲取與PHP,然後我需要PHP回顯js更改css顯示上兩個div,將默認css爲block的div更改爲隱藏的div,以及第二個div的默認css不是block的。我已經suucesfully通過JS在URL中的變量,並更改第二個div來塊的工作,但是第一次DIV + CSS似乎不更改爲none作爲股利仍顯示使用php更改css使用php

PHP代碼

if (isset($_GET['display'])) { 

    if(!isset($_GET['yes'])) { 

     echo '<style type="text/css"> 

       #slideshow { 
        display: none; 
       } 
       </style>'; 

     echo '<style type="text/css"> 

       #aboutus { 
        display: block; 
       } 
       </style>'; 
    } 

}else{ 



}; 

誰能幫我解決這個請

+4

看起來像一個可怕的想法,只是使用元素上的類或類似的東西? – adeneo

+2

聽起來像問題是用Javascript,而不是PHP。顯示。 – Barmar

+0

您可以刪除其他PHP部分,因爲它是空的--- else {}; 上面的代碼是在頭部?如果內聯CSS是可接受的,那麼您可以完全跳過javascript部分,並將PHP僅應用於CSS。 – dev101

回答

1

你確定你不是這個意思:

if($_GET['display'] == 'yes') { 

我想傳遞一個整數v而不是「是」和「否」。

然後做這種方式:

<?php 
ob_start("ob_gzhandler"); 
header('Content-Type: text/html; charset=utf-8'); 
header('Connection: Keep-Alive'); 
header('Keep-Alive: timeout=5, max=100'); 
header('Cache-Control: max-age=84600'); 
header('Vary: Accept-Encoding'); 
echo <<<EOT 
<!DOCTYPE html> 
<html lang="en"><head> 
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
<title>page Title</title> 
<style type="text/css"> 
.hide{display:none;} 
</style> 
</head><body><div id="page"> 

EOT; 
ob_flush(); 

$display = inval($_GET['display']); 

$aboutclass = array(' class="hide" ',''); 
$slideclass = array('',' class="hide" '); 

echo '<div id="aboutus" ' . $aboutclass [$display] . '>' 
echo '<div id="slideshow" ' . $slideclass [$display] . '>' 


echo '</div></body></html>'; 
ob_end_flush(); 
+0

我是否將CSS樣式放在標題中?那是我把它放在那裏,然後剩下的在PHP中,解決了一些語法錯誤,我保存並加載了頁面,並得到一個空白頁面,也許我沒有正確地這樣做 – Tiny

+0

我更新了我的答案,我怎麼做每一頁。 – Misunderstood

0

我發現了一個解決方案,使用以下代碼

PHP

if(isset($_GET['display']) != 'yes'){ 

$slider = 'block'; 


$aboutus = 'none'; 


}else{ 

$slider = 'none'; 

$aboutus = 'block'; 

} 

然後我從外部取出的顯示stying .slideShow和.aboutus的樣式表以及添加的內聯樣式僅用於在h頭部中的顯示tml代碼如下

<style type="text/css"> 

.sliderWrapper { 
    display: <?php echo $slider; ?> 
} 

.aboutUs { 
    display: <?php echo $aboutus; ?> 

    }; 
</style> 

然後它按要求工作。

+0

您可以進一步簡化和優化上述代碼,並將其寫入速度更快,並保持外部css部分的性能和清晰度(您的原始代碼位於正確的路徑上),但如果行入PHP。正如已經告訴過的,不需要JavaScript。 – dev101

+0

我只添加了第二個,如果試圖讓代碼工作,正如我所說的,我得到了關於我們div來顯示,但無法獲得幻燈片div來隱藏,我同意邏輯上它應該工作 – Tiny

+0

另外我需要這樣做從其他頁面四五次,所以我知道我的技能沒有足夠的發展,找到一個更簡單的方法來做到這一點。 – Tiny