jQuery计时器无法正常工作

时间:2014-02-09 13:01:46

标签: jquery

//Content Slider

$("#example p:first").css("display", "block");
jQuery.fn.timer = function () {
    var posx = $(".SlideMask").css('-moz-transform').split(/[()]/)[1];
    //var posx = $(".SlideMask").css('-webkit-transform').split(/[()]/)[1];

    var currentTranslate = (posx.split(',')[4]);
    var now = currentTranslate - 1000;

    if (now < -1999)  now = 0;

    $(".SlideMask").animate({ SlideNext: now }, {
        step: function (val, fx) {
            $(".SlideMask").css('-webkit-transform', "translateX(" + val + "px)");
            $(".SlideMask").css('-moz-transform', "translateX(" + val + "px)");
        },
        duration: 'slow'
    }, 'easeInElastic');
};

window.setInterval(function () {
    $("#example").timer();
}, 7000);




//Tech Slider

$("#TechSlider").css("display", "block");
jQuery.fn.timer = function() {
    var posY = $(".imgContentSlideMask").css('-moz-transform').split(/[()]/)[1];
    //var posx = $(".SlideMask").css('-webkit-transform').split(/[()]/)[1];

    var currentTranslate = (posY.split(',')[5]);
    var now = currentTranslate - 230;

    if (now < -460) now = 0;
    if (now == 0) $       ("#bullet1").attr('checked', 'checked');
   else if (now == -230) $("#bullet2").attr('checked', 'checked');
   else if (now == -460) $("#bullet3").attr('checked', 'checked');

    $(".imgContentSlideMask").animate({ SlideNext: now }, {
        step: function (val, fx) {
            $(".imgContentSlideMask").css('-webkit-transform', "translateY(" + val + "px)");
            $(".imgContentSlideMask").css('-moz-transform', "translateY(" + val + "px)");
        },
        duration: 700
    }, 'easeInElastic');
};

window.setInterval(function () {
    $("#TechSlider").timer();
}, 100000);

内容滑块间隔调用技术滑块,内容滑块不起作用..

如何根据间隔调用每个函数?

1 个答案:

答案 0 :(得分:0)

您覆盖jQuery.fn.timer,因此只会保留您指定的最后一个值。

首先为内容滑块分配:

//Content Slider

$("#example p:first").css("display", "block");
jQuery.fn.timer = function () {
// Here --^

...然后在执行技术滑块时覆盖

//Tech Slider

$("#TechSlider").css("display", "block");
jQuery.fn.timer = function() {
// Here --^

所以很自然地只保留你指定的最后一个值,就像

一样
a = 1;
a = 2;

...在2中留下a,覆盖1