我有一个if语句函数,我想用淡出的if function === false
例如
我的如果是......
$result = advertise($clmn['id'],$clmn['uid']);
if ($result) {
echo '<div id="num1">this should be replace</div>';
} else {
echo '<div id="num0">this is normal</div>';
}
我想显示div#num0然后用div#num1替换为fade-out div#num0和fade-in div#num1
确实使用了下面的方法,但没有成功!
<script type="text/javascript">$('div#num0').hide()</script>
答案 0 :(得分:1)
$( "#num0" ).fadeOut( "slow", function() {
// Animation complete
$( "#num1" ).fadeIn( "slow");
});
答案 1 :(得分:0)
问题是你只使用PHP if语句呈现div。由于您的页面只加载一次,因此只有满足if条件的div才会呈现到DOM(网页)中。因此,您无法隐藏/显示div,因为只有一个隐藏/显示。
这个答案不是最佳解决方案,但可以满足您的需求。话虽这么说,你可以做到以下几点:
加载两个div,PHP广告函数的返回条件是隐藏/显示div的内容。
//$result is either true or false
$result = advertise($clmn['id'],$clmn['uid']);
echo '<div id="num1"' . ($result ? 'hidden':'' ) . '>this should be replace</div>';
echo '<div id="num0"'. (!$result ? 'hidden':'' ) . '>this is normal</div>';
上述echo语句回显两个div的输出,同时隐藏一个div并根据advertise函数的返回值显示另一个。请注意,您可以通过在echo语句中将$result
变量切换为!$result
(否定)来反转echo语句的输出。
这样,两个div都将被加载到页面中,您将能够使用该脚本:
$('#somediv').click(function(){
$( "#num0" ).fadeOut( "slow", function() {
$( "#num1" ).fadeIn( "slow");
});
});
我希望这能回答你的问题。
干杯!