根据变量值隐藏和显示div

时间:2011-04-29 07:24:55

标签: php javascript jquery html show

任何人都可以告诉我为什么下面的代码没有显示div代码?它只是显示div main ..

非常感谢!

<script language="javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript"> 
    $(document).ready(function(){ 


        $('.ticker').hide();
        $('.main').show();
        $('.other').hide();

    }) 
</script>
<?php

$main = 'ticker';

if ($main=="ticker"){?>
    <script type="text/javascript"> //alert('flag'); //this alert shows ok
        $('.ticker').show();
        $('.main').hide();
        $('.other').hide();
    </script>
    <?php


}

?>
<div class="main">main</div>
<div class="ticker">ticker</div>
<div class="other">other</div>

4 个答案:

答案 0 :(得分:3)

看起来你错过了第二个脚本块中的$(document).ready()

答案 1 :(得分:1)

第一个脚本块显示“当文档准备就绪时,显示并隐藏具有这些类的元素”。

第二个脚本块显示“使用这些类立即显示和隐藏元素”。

在执行第二个脚本块时,没有包含这些类的元素(因此它没有任何效果)。即使有,第一个脚本块也会在几秒钟后覆盖它们。

你可能想做类似的事情:

<?php
    $main = 'ticker';
?>
<div class="main">main</div>
<div class="ticker">ticker</div>
<div class="other">other</div>
<script language="javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript"> 
        $('.ticker, .main, .other').hide();
        $('.<?php echo $main ?>').show();
    }) 
</script>

答案 2 :(得分:0)

试试这个

<?php    
$main = 'ticker';    
if ($main=="ticker"){?>
<script type="text/javascript"> //alert('flag'); //this alert shows ok
    $(document).ready(function() {
        $('.ticker').show();
        $('.main').hide();
        $('.other').hide();
    });
</script>
    <?php
}
?>

答案 3 :(得分:0)

更好一点;)

<script language="javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript"> 
    $(function(){
        $('.hide').hide();
        $('.show').show();
    });
</script>
<?php
$main = 'ticker';
?>
<div class="main <?php echo ($main == 'main') ? 'show' : 'hide'; ?>">main</div>
<div class="ticker <?php echo ($main == 'ticker') ? 'show' : 'hide'; ?>">ticker</div>
<div class="other <?php echo ($main == 'other') ? 'show' : 'hide'; ?>">other</div>