Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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 发出逻辑条件以查找值所在的逻辑集_Javascript_Jquery - Fatal编程技术网

Javascript 发出逻辑条件以查找值所在的逻辑集

Javascript 发出逻辑条件以查找值所在的逻辑集,javascript,jquery,Javascript,Jquery,我们在产品中实现了通用滑块功能。我们需要从URL读取项目索引值,并滚动滑块以显示活动项目 下面的代码逻辑用于显示活动缩略图,为此,我需要将DIV设置为负数左侧 首先,我们从URL散列值(即#slide=7)获取总缩略图项,然后索引活动项。一套至少包含5项。需要将滑块宽度乘以ActiveItemIndex所在的页面集值 Javascript代码- showActiveThumbnailOnPageLoad : function() { var _this = this, t

我们在产品中实现了通用滑块功能。我们需要从URL读取项目索引值,并滚动滑块以显示活动项目

下面的代码逻辑用于显示活动缩略图,为此,我需要将DIV设置为负数左侧

首先,我们从URL散列值(即#slide=7)获取总缩略图项,然后索引活动项。一套至少包含5项。需要将滑块宽度乘以ActiveItemIndex所在的页面集值

Javascript代码-

showActiveThumbnailOnPageLoad : function() {
    var _this = this,
        totalThumbnails = $('.slidetabs a').length,
        activeItem = window.location.href.split('=')[1],
        scrollAmount;

    if(activeItem > 5 && activeItem <= 10) {
        scrollAmount = '-=' + 772
    } else if(activeItem > 10 && activeItem <= 15) {
        scrollAmount = '-=' + 772 * 2
    } else if(activeItem > 15 && activeItem <= 20) {
        scrollAmount = '-=' + 772 * 3
    }

    $('.slidetabs').stop().animate({
        left : scrollAmount
    });
}
showActiveThumbnailOnPageLoad:function(){
var_this=这个,
totalThumbnails=$('.slidetabs a')。长度,
activeItem=window.location.href.split('=')[1],
滚动量;
如果(activeItem>5&&activeItem 10&&activeItem 15&&activeItem尝试以下操作:

scrollAmount = '-=' + 772 * ((activeItem  - 1) / 5);
编辑(基于和)

为使分区更接近:

scrollAmount = '-=' + 772 * (((activeItem  - 1) / 5) >> 0);
或:

试试这个:

scrollAmount = '-=' + 772 * ((activeItem  - 1) / 5);
编辑(基于和)

为使分区更接近:

scrollAmount = '-=' + 772 * (((activeItem  - 1) / 5) >> 0);
或:

您可以尝试:

scrollAmount = '-=' + 772 * ~~((activeItem - 1) / 5);
您可以尝试:

scrollAmount = '-=' + 772 * ~~((activeItem - 1) / 5);
使用以下命令:

scrollAmount = '-=' + 772 * Math.floor((((activeItem > 0) ? activeItem : 1)  - 1) / 5);
使用以下命令:

scrollAmount = '-=' + 772 * Math.floor((((activeItem > 0) ? activeItem : 1)  - 1) / 5);

小心:你必须舍入你的除法!@Samuelcailerie:你是对的。我以为activeItem被视为整数,除法结果也会是整数。所以根据这个答案:我应该使用两个选项之一:var num=~~(a/b);var num=(a/b)>>0;我会适当地更新我的答案。小心:你必须舍入除法!@Samuelcailerie:你是对的。我以为activeItem被视为整数,除法结果也会是整数。所以基于这个答案:我应该使用两个选项之一:var num=~~(a/b);var num=(a/b)>>0;我会适当地更新我的答案。如果
activeItem===0
Math.floor(-0.2)
给出
-1
),它就不起作用了。是的,你是对的,但我认为至少有5个(+ve no.)页面中的activeItem根据其第一个if条件。但我会根据您的条件对其进行修改。由于存在此条件,
activeItem
可能小于5,然后可能等于0…但如果您想避免此情况,可以读取OP的第一个条件,或者使用双位补码…您是对的t、 活动项永远不会是0。谢谢您的帮助,先生。如果
activeItem===0
Math.floor(-0.2)
给出
-1
),它将不起作用。是的,您是对的,但我认为至少有5个(+ve no.)页面中的activeItem根据其第一个if条件。但我会根据您的条件对其进行修改。由于存在此条件,
activeItem
可能小于5,然后可能等于0…但如果您想避免此情况,可以读取OP的第一个条件,或者使用双位补码…您是对的t、 活动项永远不会为0。感谢您的帮助,先生。今天学习了一个新方面。我不知道双位概念。非常感谢Samuel。@Lokesh,如果您同时学习了一些东西并解决了您的问题,那就太好了!:)今天学到了一个新的方面。我不知道双位的概念。非常感谢塞缪尔。@Lokesh如果你学到了一些东西,同时解决了你的问题,那就太好了!:)