Попытка объединить код JQuery - PullRequest
0 голосов
/ 17 июня 2011

У меня есть множество кода, который больше всего нужно загрузить ПЕРЕД другим фрагментом кода, чтобы он работал правильно. Чтобы достичь этого, у меня есть несколько сценариев снова и снова. Есть ли способ, которым я могу почистить это? Я постараюсь привести примеры:

//This needs to load first to add class
<script>
$(function(){
if (typeof(global_Current_ProductCode) !="undefined")
    {
        if ($('#pt494').length == 0 )
            {   $('font[class="text colors_text"]:eq(0)').closest('table').addClass('thePrices'); }    
    } 
});
</script>

//This needs to load 2nd because it has to add the class first before it does this
<script>
$(function(){
if (typeof(global_Current_ProductCode) !="undefined")
    {
        if ($('#pt490').length == 0 )
            {   $('table[class="thePrices"]:eq(0)').closest('table').before($('font[class="productnamecolorLARGE colors_productname"]:eq(0)').addClass('toptitle'));}
    } 
});
</script>

Существует намного больше кода, подобного этому, должен быть способ бросить все это в одном выражении IF?

Ответы [ 2 ]

2 голосов
/ 17 июня 2011

Я не уверен, что понимаю ваш вопрос. Блоки кода, записанные в последовательности, не выполняются одновременно. Таким образом, вы можете объединить ваш код следующим образом:

<script>
$(function(){
if (typeof(global_Current_ProductCode) !="undefined")
    {
        if ($('#pt494').length == 0 )
        {   
            $('font[class="text colors_text"]:eq(0)').closest('table').addClass('thePrices'); 
        }   
        if ($('#pt490').length == 0) {
            $('table[class="thePrices"]:eq(0)').closest('table').before($('font[class="productnamecolorLARGE colors_productname"]:eq(0)').addClass('toptitle'));
        } 
    } 
});
</script>
0 голосов
/ 17 июня 2011

Если не считать разработки собственного фреймворка, вы ничего не можете сделать, кроме как попытаться написать более чистый код в будущем.По своему опыту я обычно объединяю все html-элементы в одну функцию и вызываю ее раньше всего.

Вы также можете разделить функции на $ (document) .ready () и $ (window) .load.Загрузка окна произойдет после того, как документ будет готов, но это определенно не является окончательным решением для грязного кода.

...