小编Ben*_*ley的帖子

AND 多个参数

function andMultipleExpr(){
  let logicalAnd;
  let i;
  for (i = 0; i < arguments.length; i++){
    logicalAnd =  arguments[i] && arguments[i+1];
  }
  return logicalAnd;
}

console.log(andMultipleExpr(true, true, false, false));
Run Code Online (Sandbox Code Playgroud)

我期望的是执行以下代码:true&&true&&&false&&false并且应该返回false

如何在 js 中做到这一点?谢谢

javascript function

13
推荐指数
3
解决办法
222
查看次数

clearTimeout 和 clearInterval 不适用于移动设备

我在移动设备(Android 和 iOS、手机和平板电脑)上清除标准 javascript 计时器时遇到问题。
我的页面包含 2 个按钮,一个播放/暂停切换按钮和一个停止按钮(两个 FontAwesome 图标),其简单的 HTML 是:

<span class="fa fa-pause control-button" id="pause-button"></span>
<span class="fa fa-stop control-button" id="stop-button"></span>
Run Code Online (Sandbox Code Playgroud)

间隔由以下函数启动:

var interval = function() {
    $('.control-button').fadeIn(300);
    //initiate the interval
    infiniteInterval = window.setInterval(Tiles.infiniteTick, speed); 
};
Run Code Online (Sandbox Code Playgroud)

其中速度是在较早的函数中定义的(默认值为 300)。infiniteTick 是一个非常简单的函数,运行良好。我没有在这里解释它,因为它需要对整个程序的解释,但如果需要,我可以提供代码。

播放和暂停切换如下:

$('body').on('click touchstart', '#pause-button', function() {
    if ($(this).hasClass('fa-pause')) {
        window.clearInterval(infiniteInterval);
        $(this).removeClass('fa-pause');
        $(this).addClass('fa-play');
    } else {
        infiniteInterval = window.setInterval(Tiles.infiniteTick, speed);
        $(this).removeClass('fa-play');
        $(this).addClass('fa-pause');
    }
});
Run Code Online (Sandbox Code Playgroud)

最后,间隔以此结束(为简单起见,删除了一些纯粹的美学附加功能)

$('body').on('click touchstart', '#stop-button', function() {
    window.clearInterval(infiniteInterval);
    $('.control-button').fadeOut(300);
});
Run Code Online (Sandbox Code Playgroud)

我最初通过研究认为这是由于点击事件没有正确注册,但正如你所看到的,我已经添加touchstart到所有点击事件中,这没有任何区别。它在所有桌面浏览器上都运行良好。

非常感谢任何帮助,我很乐意回答任何进一步的问题。

谢谢,

javascript mobile jquery

3
推荐指数
1
解决办法
1952
查看次数

标签 统计

javascript ×2

function ×1

jquery ×1

mobile ×1