Бұл екі блокты біреуіне қалай жеңілдетуге болады?

$(".button-wrap.enter-now").click(isMobile ?
    function(){
        window.location = 'form/form.html';
    }
    : function(){
        TweenMax.to($iframeBg, 0.35, {startAt:{top:0}, opacity:1 });
        TweenMax.to($("#form-wrapper"), 0.45, {top:"8%", delay:0.05, ease:Power3.easeOut, opacity:1});
});
$("#close-form").click(function(){
    TweenMax.to($("#form-wrapper"), 0.45, {opacity:0, top:"110%", ease:Power3.easeOut});
    TweenMax.to($iframeBg, 0.25, {opacity:0, delay:0.1});
    TweenMax.to($iframeBg, 0.01, {top:"120%", delay:0.45});
});

Менде non-ie8s үшін жоғарыда келтірілген коды бар, ал төменде8 үшін - олар дәл осылай көрінеді, сонымен қатар tweenens ешқандай ашықтық жоқ:

if(ie8){
    $(".button-wrap.enter-now").click(isMobile ?
        function(){
            window.location = 'form/form.html';
        }
        : function(){
            TweenMax.to($iframeBg, 0.35, {startAt:{top:0} });
            TweenMax.to($("#form-wrapper"), 0.45, { top:"8%", delay:0.05, ease:Power3.easeOut});
    });
    $("#close-form").click(function(){
        TweenMax.to($("#form-wrapper"), 0.45, {top:"110%", ease:Power3.easeOut});
        TweenMax.to($iframeBg, 0.25, { delay:0.1});
        TweenMax.to($iframeBg, 0.01, {top:"120%", delay:0.25});
    });
}

Мен бір ғана кодты қалай жеңілдете аламын? Мен тіпті нені іздеу керектігін де білмеймін. Көп рақмет.

0
Үшінші операторды іздеу керек.
қосылды автор Danny Beckett, көзі
@DannyBeckett: Ол қазірдің өзінде оны пайдаланып жатыр, немесе оны теріс пайдаланып отырмын ...
қосылды автор elclanrs, көзі
Оның орнына if..else операторын пайдалану арқылы.
қосылды автор elclanrs, көзі
ИМО-ны оқып, түсіну оңайырақ. Үш жақты оператор жылдам өрнек үшін керемет, бірақ сізде 7 жолды жақсы көресіз.
қосылды автор elclanrs, көзі
@DannyBeckett x? X: x өрнегін білдіреді ме? Мен бұны білемін. Бірақ нысаннан {opacity: 1} қалай шығаруға болады?
қосылды автор Luxiyalu, көзі
@elclanrs: қалай теріс пайдаланбау керек? рахмет!
қосылды автор Luxiyalu, көзі
@elclanrs Кешіріңіз Мен жаңадан үйрендім, егер/else жақсы?
қосылды автор Luxiyalu, көзі
@elclanrs Кешіріңіз Мен жаңадан үйрендім, егер/else жақсы?
қосылды автор Luxiyalu, көзі
@elclanrs Right. Рахмет.
қосылды автор Luxiyalu, көзі
@elclanrs Right. Рахмет.
қосылды автор Luxiyalu, көзі

8 жауаптар

Неге тек if-else сөзіндегі ашықтықты инкапсуляциялауға болмайды.

$(".button-wrap.enter-now").click(isMobile ? function(){
        window.location = 'form/form.html';
    }
    : function(){
        TweenMax.to($iframeBg, 0.35, {startAt:{top:0}, opacity:1 });
        TweenMax.to($("#form-wrapper"), 0.45, {top:"8%", delay:0.05, ease:Power3.easeOut, opacity:1});
});

$("#close-form").click(function(){
    TweenMax.to($("#form-wrapper"), 0.45, {opacity:0, top:"110%", ease:Power3.easeOut}); 
    if(ie8){
        TweenMax.to($iframeBg, 0.25, {delay:0.1});
    }else{
        TweenMax.to($iframeBg, 0.25, {opacity:0, delay:0.1});
    }
    TweenMax.to($iframeBg, 0.01, {top:"120%", delay:0.45});
});
0
қосылды

Неге тек if-else сөзіндегі ашықтықты инкапсуляциялауға болмайды.

$(".button-wrap.enter-now").click(isMobile ? function(){
        window.location = 'form/form.html';
    }
    : function(){
        TweenMax.to($iframeBg, 0.35, {startAt:{top:0}, opacity:1 });
        TweenMax.to($("#form-wrapper"), 0.45, {top:"8%", delay:0.05, ease:Power3.easeOut, opacity:1});
});

$("#close-form").click(function(){
    TweenMax.to($("#form-wrapper"), 0.45, {opacity:0, top:"110%", ease:Power3.easeOut}); 
    if(ie8){
        TweenMax.to($iframeBg, 0.25, {delay:0.1});
    }else{
        TweenMax.to($iframeBg, 0.25, {opacity:0, delay:0.1});
    }
    TweenMax.to($iframeBg, 0.01, {top:"120%", delay:0.45});
});
0
қосылды

Неге тек if-else сөзіндегі ашықтықты инкапсуляциялауға болмайды.

$(".button-wrap.enter-now").click(isMobile ? function(){
        window.location = 'form/form.html';
    }
    : function(){
        TweenMax.to($iframeBg, 0.35, {startAt:{top:0}, opacity:1 });
        TweenMax.to($("#form-wrapper"), 0.45, {top:"8%", delay:0.05, ease:Power3.easeOut, opacity:1});
});

$("#close-form").click(function(){
    TweenMax.to($("#form-wrapper"), 0.45, {opacity:0, top:"110%", ease:Power3.easeOut}); 
    if(ie8){
        TweenMax.to($iframeBg, 0.25, {delay:0.1});
    }else{
        TweenMax.to($iframeBg, 0.25, {opacity:0, delay:0.1});
    }
    TweenMax.to($iframeBg, 0.01, {top:"120%", delay:0.45});
});
0
қосылды

Тек кодадағы үлгілерді іздеңіз және қайта реттеңіз. Мысалға, сізде біреудің басу тыңдаушысы бар; бір рет жасаңыз. Сіз басқаннан кейін ұялы телефоныңыз үшін бірдей тексеру бар; бір рет жасаңыз. Осылайша, .button-wrap.enter-now үшін сізде бір функция болуы мүмкін:

$(".button-wrap.enter-now").click(function(){
  if(isMobile){
    window.location = 'form/form.html';
  }else if(ie8){
    TweenMax.to($iframeBg, 0.35, {startAt:{top:0} });
    TweenMax.to($("#form-wrapper"), 0.45, { top:"8%", delay:0.05, ease:Power3.easeOut});
  }else{
    TweenMax.to($iframeBg, 0.35, {startAt:{top:0}, opacity:1 });
    TweenMax.to($("#form-wrapper"), 0.45, {top:"8%", delay:0.05, ease:Power3.easeOut, opacity:1});
  }
});

Сондай-ақ, бұл TweenMax -ды бұдан әрі біріктіре аласыз, бірақ мен оны оңайырақ ұстағым келді және мен сенің ойыңа ие боламын деп үміттенемін. Енді сіз өзіңіздің # close-form пернетақтасы үшін де бірдей әрекетті орындауыңыз керек.

0
қосылды

Тек кодадағы үлгілерді іздеңіз және қайта реттеңіз. Мысалға, сізде біреудің басу тыңдаушысы бар; бір рет жасаңыз. Сіз басқаннан кейін ұялы телефоныңыз үшін бірдей тексеру бар; бір рет жасаңыз. Осылайша, .button-wrap.enter-now үшін сізде бір функция болуы мүмкін:

$(".button-wrap.enter-now").click(function(){
  if(isMobile){
    window.location = 'form/form.html';
  }else if(ie8){
    TweenMax.to($iframeBg, 0.35, {startAt:{top:0} });
    TweenMax.to($("#form-wrapper"), 0.45, { top:"8%", delay:0.05, ease:Power3.easeOut});
  }else{
    TweenMax.to($iframeBg, 0.35, {startAt:{top:0}, opacity:1 });
    TweenMax.to($("#form-wrapper"), 0.45, {top:"8%", delay:0.05, ease:Power3.easeOut, opacity:1});
  }
});

Сондай-ақ, бұл TweenMax -ды бұдан әрі біріктіре аласыз, бірақ мен оны оңайырақ ұстағым келді және мен сенің ойыңа ие боламын деп үміттенемін. Енді сіз өзіңіздің # close-form пернетақтасы үшін де бірдей әрекетті орындауыңыз керек.

0
қосылды

Осындай нәрсе, IE8 анықталған жағдайда, объектілерді ұстап тұру үшін айнымалы мәндерді пайдаланыңыз және ашықтықты орнатыңыз.

$(".button-wrap.enter-now").click(isMobile ?
    function(){
        window.location = 'form/form.html';
    }
    : function(){
        var attrA = {startAt:{top:0}};
        var attrB = {top:"8%", delay:0.05, ease:Power3.easeOut};
        if (ie8 /* In case ie8 is not working for you: $.browser.msie  && parseInt($.browser.version, 10) === 8*/) {
            attrA.opacity = 1;
            attrB.opacity = 1;
        }
        TweenMax.to($iframeBg, 0.35, attrA);
        TweenMax.to($("#form-wrapper"), 0.45, attrB);
});
$("#close-form").click(function(){
    var attrA = {top:"110%", ease:Power3.easeOut};
    var attrB = {delay:0.1};
    if (ie8) {
        attrA.opacity = 0;
        attrB.opacity = 0;
    }
    TweenMax.to($("#form-wrapper"), 0.45, attrA);
    TweenMax.to($iframeBg, 0.25, attrB);
    TweenMax.to($iframeBg, 0.01, {top:"120%", delay:0.45});
});
0
қосылды

Осындай нәрсе, IE8 анықталған жағдайда, объектілерді ұстап тұру үшін айнымалы мәндерді пайдаланыңыз және ашықтықты орнатыңыз.

$(".button-wrap.enter-now").click(isMobile ?
    function(){
        window.location = 'form/form.html';
    }
    : function(){
        var attrA = {startAt:{top:0}};
        var attrB = {top:"8%", delay:0.05, ease:Power3.easeOut};
        if (ie8 /* In case ie8 is not working for you: $.browser.msie  && parseInt($.browser.version, 10) === 8*/) {
            attrA.opacity = 1;
            attrB.opacity = 1;
        }
        TweenMax.to($iframeBg, 0.35, attrA);
        TweenMax.to($("#form-wrapper"), 0.45, attrB);
});
$("#close-form").click(function(){
    var attrA = {top:"110%", ease:Power3.easeOut};
    var attrB = {delay:0.1};
    if (ie8) {
        attrA.opacity = 0;
        attrB.opacity = 0;
    }
    TweenMax.to($("#form-wrapper"), 0.45, attrA);
    TweenMax.to($iframeBg, 0.25, attrB);
    TweenMax.to($iframeBg, 0.01, {top:"120%", delay:0.45});
});
0
қосылды

Осындай нәрсе, IE8 анықталған жағдайда, объектілерді ұстап тұру үшін айнымалы мәндерді пайдаланыңыз және ашықтықты орнатыңыз.

$(".button-wrap.enter-now").click(isMobile ?
    function(){
        window.location = 'form/form.html';
    }
    : function(){
        var attrA = {startAt:{top:0}};
        var attrB = {top:"8%", delay:0.05, ease:Power3.easeOut};
        if (ie8 /* In case ie8 is not working for you: $.browser.msie  && parseInt($.browser.version, 10) === 8*/) {
            attrA.opacity = 1;
            attrB.opacity = 1;
        }
        TweenMax.to($iframeBg, 0.35, attrA);
        TweenMax.to($("#form-wrapper"), 0.45, attrB);
});
$("#close-form").click(function(){
    var attrA = {top:"110%", ease:Power3.easeOut};
    var attrB = {delay:0.1};
    if (ie8) {
        attrA.opacity = 0;
        attrB.opacity = 0;
    }
    TweenMax.to($("#form-wrapper"), 0.45, attrA);
    TweenMax.to($iframeBg, 0.25, attrB);
    TweenMax.to($iframeBg, 0.01, {top:"120%", delay:0.45});
});
0
қосылды