Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery是否将值限制为大于语句?_Javascript_Jquery - Fatal编程技术网

Javascript jQuery是否将值限制为大于语句?

Javascript jQuery是否将值限制为大于语句?,javascript,jquery,Javascript,Jquery,我试图制作一个滚动图像,使用导航按钮切换到不同的16:9部分。一切正常,除了jQuery似乎将ifigBase.css'left'>igMaxLeft限制在-1200px或更高,即使igMaxLeft是,例如,-2600px。这种行为有什么原因吗?我觉得数学很好 var igWrap = $('.infographic-wrapper'); var igBase = $('.infographic-base'); var igPrev = $('.infographic-

我试图制作一个滚动图像,使用导航按钮切换到不同的16:9部分。一切正常,除了jQuery似乎将ifigBase.css'left'>igMaxLeft限制在-1200px或更高,即使igMaxLeft是,例如,-2600px。这种行为有什么原因吗?我觉得数学很好

    var igWrap = $('.infographic-wrapper');
    var igBase = $('.infographic-base');
    var igPrev = $('.infographic-previous');
    var igNext = $('.infographic-next');
    var igFrameWidth = igWrap.css('width');
    var igMaxLeft = parseInt(igBase.css('width'), 10) + parseInt(igFrameWidth, 10);
    igMaxLeft = '-' + igMaxLeft + 'px';

    igPrev.click(function(){
        if(igBase.css('left') < '0px'){
            igBase.css('left','+=' + igFrameWidth);
        }
    });
    igNext.click(function(){
        if(igBase.css('left') > igMaxLeft){
            igBase.css('left','-=' + igFrameWidth);
        }
    });

下面是完整的示例:

将css像素字符串转换为整数解决了问题。感谢用户2864740的提示

    var igMaxLeft = (parseInt(igBase.css('width'), 10) - parseInt(igFrameWidth, 10)) * -1;

    igPrev.click(function(){
        if(parseInt(igBase.css('left'), 10) < 0){
            igBase.css('left','+=' + igFrameWidth);
        }
    });
    igNext.click(function(){
        if( 0 >= parseInt(igBase.css('left'), 10) && parseInt(igBase.css('left'), 10) > igMaxLeft){
            igBase.css('left','-=' + igFrameWidth);
        }
    });

字符串的运算符与数字的运算符不同,因为字符串使用词法排序。例如,这些为假:-200px<-100,-200px<-100px。修正:使用带的数字进行正确的数字排序。谢谢,我会将字符串转换为整数。另请参见:,