关于定义flag的两种情况

1、当需要执行的事件只执行一次。

先定义flag为true,在执行过程中加判断条件,如果flag==ture时,再去执行,在执行完成之后,将flag赋值为false。

案例:易职信首页火狐兼容题目反复执行的问题。

var flagTrouble = true;

if(h>100 && flagTrouble){

            $('.common_trouble').animate({left:[-1500,'easeInOutBack'],'opacity':1},900);

            $('.trouble_out').animate({'left':-1500},500);

            $('.trouble_within').animate({'top':169,'opacity':1},800);

            flagTrouble = false;

        }

2、在需要执行的时候

同样先定义flag为true,在执行过程中加入判断条件,当flag==ture的时候,才去执行。

案例:职位分享页面,岗位职责和岗位要求内容过长时,滚动条到顶部判断翻页还是向下滚动的问题。

var canPrev = false;

var canNext = false;

document.addEventListener("touchend", function (e) {

    var endx, endy;

    endx = e.changedTouches[0].pageX;

    endy = e.changedTouches[0].pageY;

    var direction = getDirection(startx, starty, endx, endy);

    switch (direction) {

        case 0:

            // alert("未滑动!");

            console.log("未滑动")

            break;

        case 1:

            // alert("向上!")

            console.log("向上")

            if(canNext == true){

                mySwiper.slideNext();

                console.log("向上1")

            }

            break;

        case 2:

            // alert("向下!")

            console.log("向下")

            if(canPrev == true){

                mySwiper.slidePrev();

                console.log("向下1")

            }

            break;

        case 3:

            // alert("向左!");

            console.log("向左")

            break;

        case 4:

            // alert("向右!")

            console.log("向右")

            break;

        default:

    }

}, false);

你可能感兴趣的:(关于定义flag的两种情况)