2011-04-04 30 views
1

此代码非常简单,所以我觉得可以通过将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> 
+1

是的,JS代码可以缩短。但是你需要改变你的PHP代码。为什么不只是得到你的PHP变量的最后一位数字,并将其放入jQuery中?你必须改变生成变量的PHP代码 – JohnP 2011-04-04 08:22:05

+0

你能给我一个我应该如何创建php变量的例子吗? – 808inbinary 2011-04-04 08:23:36

+0

您应该首先取出PHP if块之外的重复'$(document).ready(function(){...});'。 – 2011-04-04 08:23:46

回答

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> 
+0

假设PHP toppageID变量是唯一ID,这将如何工作? – tbranyen 2011-04-04 08:28:54

+0

@tbranyen说实话,他使用具有不同值的'elseif'有逻辑错误。 – 2011-04-04 08:31:54

+0

<?php $ currID = get_the_ID(); ?> 808inbinary 2011-04-04 08:54:00

0

首先,我将你的那个函数改变is_pagepage并与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> 

如果您需要一次也许是这样的漏斗所有的变量:

0

对不起,如果我不清楚,但即时通讯使用wordpress功能。一个开关很好用。

<?php $currID = get_the_ID(); ?> 
$(文件)。就绪(函数(){ });