Php 根据变量值隐藏和显示div
有人能告诉我为什么下面的代码没有显示div代码吗?它只显示div main 非常感谢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();
<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事件了。