用另一个if语句替换div

时间:2017-05-30 20:05:27

标签: javascript php jquery html

我有一个if语句函数,我想用淡出的if function === false

替换另一个div

例如

我的如果是......

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

2 个答案:

答案 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");
    });
  });

我希望这能回答你的问题。

干杯!

相关问题