提问者:小点点

基于布尔条件执行多个javascript文件


我的WordPress网站中有大约5个javascript文件,我试图根据布尔条件一个一个地执行它们。

如果计数为0,javascript将调用tag1.jstag2.js,如果计数为1,依此类推。

如果计数达到4,则计数重置为0。 这样就不断地重复着。 我试过这个密码。 但即使是第一次也不起作用。

jQuery(document).ready(function( $ ) {
   var canClick = true;
   var count= 0;
   $("body").click(function () {
       if (canClick) {
           if(parseInt(count) === 0) {
                $.getScript("https:example.com/custom_js/atag1.js");  
            }
            else if(parseInt(count) === 1) {
                $.getScript("https:example.com/custom_js/atag2.js");  
            }
            else if(parseInt(count) === 2) {
                $.getScript("https:example.com/custom_js/atag3.js");  
            }
            else if(parseInt(count) === 3) {
                $.getScript("https:example.com/custom_js/atag4.js");  
            }
            else if(parseInt(count) === 4){
                $.getScript("https:example.com/custom_js/atag5.js");
                count=0;
             }            
            canClick = false;
            setTimeout(() => {
              canClick = true
            },10000);
           count = parseInt(count)+1;
       }
    });
});

基本上,如果用户单击页面,则此代码执行每个javascript,超时区分单击。


共1个答案

匿名用户

如果您想按点击次数加载脚本。 然后你可以看看这个解决方案,它看起来会更精确。

var clicks = 0;
document.addEventListener('click', () => {
  loadJS();
  ++clicks;
});


function loadJS() {
  if (clicks === 4) {
     clicks = 0;
  }
  switch (clicks) {
    case 0:
        console.log('load first js');
        break;
    case 1:
        console.log('load second js');
        break;
    case 2:
        console.log('load 3rd js');
        break;
    case 3:
        console.log('load 4th js');
        break;
    case 4:
        console.log('load 5th js');
        break;
    default:
    // code block
 }
}

工作演示