2011-04-04 31 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(); ?> 
$(文件)。就緒(函數(){ });