Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 根据变量值隐藏和显示div_Php_Javascript_Jquery_Html_Show - Fatal编程技术网

Php 根据变量值隐藏和显示div

Php 根据变量值隐藏和显示div,php,javascript,jquery,html,show,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();

有人能告诉我为什么下面的代码没有显示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>

第二个脚本块中缺少$document.ready。

第二个脚本块中缺少$document.ready。

试试这个

<?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
}
?>
试试这个

<?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
}
?>

第一个脚本块表示文档准备就绪时,显示和隐藏具有这些类的元素

第二个脚本块表示立即显示和隐藏具有这些类的元素

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

您可能希望执行以下操作:

<?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>

第一个脚本块表示文档准备就绪时,显示和隐藏具有这些类的元素

第二个脚本块表示立即显示和隐藏具有这些类的元素

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

您可能希望执行以下操作:

<?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>
稍微好一点

<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>
稍微好一点

<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>

谢谢Starx,但是我需要在页面第一次加载和主显示时隐藏股票代码。这就是为什么我要使用这个代码。谢谢Starx,但我需要在页面首次加载和主显示时隐藏股票代码。这就是为什么我要用那个代码。谢谢,成功了!即使页面已经加载,也不知道您需要$document.ready。如果将脚本块放在您尝试查询的元素下,可能会起作用,但由于您尝试查询这些元素时,这些元素尚未出现在页面上,因此javascript失败。最好的做法是将所有jQuery和javascript包装在页面加载包装器中。@teresko如果第二个脚本块放在divs下,而没有$document.ready包装它,它仍然可以正常工作,因为javascript试图访问的所有元素都已写入DOM。然而,情况似乎并非如此,因为第一个脚本块将在页面加载后执行并覆盖它们。这就是为什么建议在关闭之前包含外部javascript文件的原因。那么你就不必关心onDomReady事件了。谢谢,成功了!即使页面已经加载,也不知道您需要$document.ready。如果将脚本块放在您尝试查询的元素下,可能会起作用,但由于您尝试查询这些元素时,这些元素尚未出现在页面上,因此javascript失败。最好的做法是将所有jQuery和javascript包装在页面加载包装器中。@teresko如果第二个脚本块放在divs下,而没有$document.ready包装它,它仍然可以正常工作,因为javascript试图访问的所有元素都已写入DOM。然而,情况似乎并非如此,因为第一个脚本块将在页面加载后执行并覆盖它们。这就是为什么建议在关闭之前包含外部javascript文件的原因。那么你就不必关心onDomReady事件了。