因此在 jQuery 中重复 "If" 查询

Repeat "If" query consequently in jQuery

我想永久重复“If”查询以检索一条信息并执行相应的操作。

这应该用于仅在用户登录时显示内容。 目前查询在页面加载后立即发生一次。问题是当用户在页面加载后登录时,内容没有出现并且必须重新加载页面。这是我当前的代码:

import wixUsers from 'wix-users';
   
$w.onReady( () => {
if (wixUsers.currentUser.loggedIn) {
$w('#html1').show();
$w('#button17').show();
$w('#box9').hide();
$w('#button29').show();

}
else {
$w('#html1').hide();
$w('#button17').show();
$w('#box9').show();
$w('#button29').hide();

}
});

怎么可能总是检查这个? 大概这个的解决方法比较简单,但是我对jQuery了解不多。感谢您的支持!

如果您希望在成功登录后将代码 运行 然后尝试 wixUsers.onLogin (这需要 运行 在 onReady 函数中)。

import wixUsers from 'wix-users';
    
wixUsers.onLogin((user) => {
  let userId = user.id;
  let isLoggedIn = user.loggedIn;
  let userRole = user.role;
} );

您应该能够通过添加以下内容将代码片段集成到您的代码中:

import wixUsers from 'wix-users';

function toggleLoginState(isLoggedIn) {
    if (isLoggedIn) {
        $w('#html1').show();
        $w('#button17').show();
        $w('#box9').hide();
        $w('#button29').show();

    }
    else {
        $w('#html1').hide();
        $w('#button17').show();
        $w('#box9').show();
        $w('#button29').hide();

    }
}

$w.onReady(() => {
    toggleLoginState(wixUsers.currentUser.loggedIn); // Set default state once page has finished loadading.

    wixUsers.onLogin((user) => {
        toggleLoginState(user.loggedIn); // This should always be true.
    });
});

可以在文档中找到更多详细信息https://www.wix.com/velo/reference/wix-users/onlogin