如何缩短涉及php和jquery的代码

时间:2011-04-04 08:17:52

标签: php jquery

这段代码非常简单,所以我觉得可以通过将php变量与jquery函数参数相关联来缩短它。如果您有任何想法,请帮忙。谢谢

<script type="text/javascript">
<?php if (is_page($toppageID1)) { ?> 
$(document).ready(function () {
    Show('1');
});
<?php } elseif (is_page($toppageID2)) { ?> 
$(document).ready(function () {
    Show('2');
});
<?php } elseif (is_page($toppageID3)) { ?> 
$(document).ready(function () {
    Show('3');
});
<?php } elseif (is_page($toppageID4)) { ?> 
$(document).ready(function () {
    Show('4');
});
<?php } elseif (is_page($toppageID5)) { ?> 
$(document).ready(function () {
    Show('5');
});
<?php } elseif (is_page($toppageID6)) { ?> 
$(document).ready(function () {
    Show('6');
});
<?php } elseif (is_page($toppageID7)) { ?> 
$(document).ready(function () {
    Show('7');
});
<?php }; ?>
</script>

3 个答案:

答案 0 :(得分:0)

$somevalue那样有助于切换而不是elseif

<script>
<?php   switch($somevalue){ ?>
$(document).ready(
    function (){
    <?php case 1:  //?>
    <?php case 2:  //?>
    <?php case 3:  //?>
    <?php case 4:  //?>
    <?php case 5:  //?>

    }
)

<?php } ?>
</script>

答案 1 :(得分:0)

首先,我会将你的is_page的函数更改为page并返回带有ID的字符串。您已经可以访问PHP中的那些$ toppageID变量,所以为什么不在函数本身中使用它们。如果你绝对不能用于确定范围或其他原因,请立即将它们全部传递给函数。您希望单个输出多次不执行该功能。

使用重新分解函数page的示例脚本:

<body>
...

<!-- end of body -->
<script type="text/javascript">
    (function(id) {

        if(id) {
            Show(id);
        }
        else {
            // throw some error or something
        }

    })(<?php echo page() ?>);
</script>
</body>

如果您需要立即汇集所有变量,可能是这样的:

})(<?php echo page($toppageID1,$toppageID2,$toppageID3,...) ?>);

答案 2 :(得分:0)

如果我不清楚但是我正在使用wordpress功能的SOrry。一个开关效果很好。

<?php $currID = get_the_ID(); ?>
$(document).ready(function(){ });