Actuellement, je suis en utilisant ce script jquery combinant avec php (peu importe):me aider à réduire la quantité de code dans un script jquery
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
var select = "<?php if_exist($select, ''); ?>";
var event = "<?php if_exist($event, 'click'); ?>";
var display = "<?php if_exist($display, '#display'); ?>";
var loading = "<?php if_exist($loading, '#loading'); ?>";
var datatype = "<?php if_exist($datatype, 'json'); ?>";
var cache;
if (event == "submit"){ $("input:submit").hide(); }
$(select).bind(event , function(key){
if (event == "keypress") {
if (key.which == <?php if_exist($keycode, '13'); ?>) {
$(loading).show();
$.post(
$(select).attr("action"),
$(select).serialize(),
function(data){
if (datatype == "html" || datatype == "text"){ var returned = data; }
if (datatype == "json"){ var returned = data<?php if_exist($return, '.return'); ?>; }
if (returned != cache)
{
cache = returned;
if (datatype == "html" || datatype == "text"){ $(display).hide().html(data).fadeIn(); }
if (datatype == "json"){ $(display).hide().autoRender(data).fadeIn(); }
$(loading).hide();
}
},
datatype
);
return false;
};
}
else
{
$.post(
$(select).attr("action"),
$(select).serialize(),
function(data){
if (datatype == "html" || datatype == "text"){ var returned = data; }
if (datatype == "json"){ var returned = data<?php if_exist($return, '.returnValue'); ?>; }
if (returned != cache)
{
cache = returned;
if (datatype == "html" || datatype == "text"){ $(display).hide().html(data).fadeIn(); }
if (datatype == "json"){ $(display).hide().autoRender(data).fadeIn(); }
$(loading).hide();
}
},
datatype
);
if ($event == 'submit') { return false;}
}
});
});
</script>
Je veux réduire la quantité de code utilisé dans ce script, je pense que nous pouvons sûrement réduire la quantité de code dans ce script en donnant notre attention à la ligne # 11 qui contient: if (event == "keypress") {
, parce que dans la prochaine instruction else
le même code est répété deux fois, mais comment pouvons-nous faire cela? Une idée?
Monsieur, cela? s'il vous plaît, dites. –
Vous avez ici un rappel qui peut être facilement déplacé à l'extérieur en tant que fonction séparée. Vous devrez faire attention à la visibilité des variables ('datatype' et' cache'). – Vlad
Heads up (probablement pas si important ici comme avec l'autre réponse, certes): Le message original a été mal formaté et les infos ont été perdues - j'attends que mon edit soit approuvé, mais à quoi ressemble var var = data; 'to est en fait' var retourné = data php if_exist ($ return, '.return'); ?>; '. Il y a quelques autres extraits PHP comme ça. – pinkgothic