Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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
jQuery登录按钮正在打开一个登录窗口,但如果javascript关闭_Jquery - Fatal编程技术网

jQuery登录按钮正在打开一个登录窗口,但如果javascript关闭

jQuery登录按钮正在打开一个登录窗口,但如果javascript关闭,jquery,Jquery,我有一个登录按钮,它是一个链接。 当我点击它时,它会滑下一个包含登录表单的小窗口 现在,我想做的是,如果浏览器不支持javascript代码(JS处于脱机状态),那么它将转到链接 我需要找到一种方法在点击时禁用该按钮ID的链接,JS会这样做,当JS关闭时,它会像正常一样通过 这是我的代码: $(document).ready(function() { $("#loginToggler").click(function() { setTimeou

我有一个登录按钮,它是一个链接。 当我点击它时,它会滑下一个包含登录表单的小窗口

现在,我想做的是,如果浏览器不支持javascript代码(JS处于脱机状态),那么它将转到链接

我需要找到一种方法在点击时禁用该按钮ID的链接,JS会这样做,当JS关闭时,它会像正常一样通过

这是我的代码:

    $(document).ready(function() {  
        $("#loginToggler").click(function() {
            setTimeout(function() {
                $("#login_block").slideToggle("slow");
            }, 100);
        });
        $("#closeLogin").click(function() {
            $("#login_block").slideUp("fast");
        });
    });

            <li id="last-child"><a href="#"><div id="login"></div></a></li>
$(文档).ready(函数(){
$(“#loginToggler”)。单击(函数(){
setTimeout(函数(){
$(“#登录块”)。滑动切换(“慢速”);
}, 100);
});
$(“#closeLogin”)。单击(函数(){
$(“登录块”).slideUp(“快速”);
});
});

  • 我可以在那里做些什么来做到这一点?

    将实际链接放到
    href=“
    中,并将
    onclick=“return false;”“
    添加到
    标记中

    即:

  • “return false”告诉浏览器,如果启用了JavaScript,则不要跟随该链接。如果未启用JavaScript,“onclick”事件将不会触发,“return false”无效

  • 使登录成为普通超链接
  • 在JQuery中,更改超链接的href属性,使其不再链接到任何内容
  • 添加滑出功能
  • 您可以使用.attr函数使其在javascript中不再直接链接到登录页面。所以会有点像

    <li id="last-child"><a href="loginpageurl" id="loginbutton"><div id="login"></div></a></li>
    
    $(document).ready(function() {  
        $("#loginbutton").attr("href","#");
        $("#loginToggler").click(function() {
            setTimeout(function() {
                $("#login_block").slideToggle("slow");
            }, 100);
        });
        $("#closeLogin").click(function() {
            $("#login_block").slideUp("fast");
        });
    });
    
  • $(文档).ready(函数(){ $(“#登录按钮”).attr(“href”,“#”); $(“#loginToggler”)。单击(函数(){ setTimeout(函数(){ $(“#登录块”)。滑动切换(“慢速”); }, 100); }); $(“#closeLogin”)。单击(函数(){ $(“登录块”).slideUp(“快速”); }); });
    根据需要调整标识符

    因此,如果没有javascript,它将像普通链接一样运行。如果有,链接将无处可去,滑出功能将被启用。

    您可以使用e.preventDefault()并让您的登录链接href转到登录页面

    如果启用了javascript:

    用户单击login_块将向下滑动的链接,然后调用e.preventDefault()以防止使用href位置

    如果禁用javascript:

    将使用href位置,并将用户带到登录页面

    $(document).ready(function() {  
         $("#loginToggler").click(function() {
              $("#login_block").slideToggle("slow");
              e.preventDefault();
         });
         $("#closeLogin").click(function() {
              $("#login_block").slideUp("fast");
         });
    });
    
    <li id="last-child">
         <a href="http://www.Somesite.com/Login">
              <div id="login"></div>
         </a>
    </li>
    
    $(文档).ready(函数(){
    $(“#loginToggler”)。单击(函数(){
    $(“#登录块”)。滑动切换(“慢速”);
    e、 预防默认值();
    });
    $(“#closeLogin”)。单击(函数(){
    $(“登录块”).slideUp(“快速”);
    });
    });
    

  • 对于禁用JavaScript的人,为什么不让表单始终可见并隐藏,然后用JavaScript制作动画呢?我宁愿将它们发送到实际登录页面,这就是我的设计。你可以使用标记更改链接的href指向实际登录页面<代码>
    如果我返回false,登录将不会出现,因为我返回的是js,我认为它没有打开。在这种情况下,您可以创建一个函数来显示您的登录弹出窗口,并在onclick中调用它,然后返回false。不起作用。如果我没记错的话,我想Attr被重命名为其他名称了?
    $(document).ready(function() {  
         $("#loginToggler").click(function() {
              $("#login_block").slideToggle("slow");
              e.preventDefault();
         });
         $("#closeLogin").click(function() {
              $("#login_block").slideUp("fast");
         });
    });
    
    <li id="last-child">
         <a href="http://www.Somesite.com/Login">
              <div id="login"></div>
         </a>
    </li>