任何人都可以告诉我为什么下面的代码没有显示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>
答案 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>