只有JavaScript被禁用才能生成超链接?

use*_*857 5 html javascript css jquery javascript-events

我一直在研究和学习越来越多关于HTML 5,JQuery,CSS3,以及在JavaScript被禁用或未被禁用时隐藏和禁用某些元素的能力.(<noscript>标签)

我的问题是,

  1. 如何使超链接如果工作已禁用JavaScript?
  2. 如果启用JavaScript,我如何确保我的下拉登录菜单显示INSTEAD跟随超链接?

HTML

很简单,如果JS被禁用,我会隐藏我的购物车区域并更改登录链接.

<!-- If JavaScript is disabled it will make the login link take you to a login page instead of a drop-down box. -->         
<noscript>
    <style>
        .login-form, .js-enabled{
            display: none;
        }
        .cart{
            top: -80px;
        }
    </style>                                
    <div class="cart">
        <a href="#" id="cart_img">
            <img src="img/bag.jpg" alt="Check Cart"
            onmouseover="this.src='img/bag-gold.jpg'"
            onmouseout="this.src='img/bag.jpg'">
        </a>
        <a href="#">Why HorseTack?</a> | 
        <a href="#">About</a> | 
        <a href="#">Contact</a> | 
        <a href="http://www.LOGINPAGELINK.com">Login</a>
    </div>
</noscript>
<!-- End JavaScript text -->

<div class="cart js-enabled">
    <a href="#" id="cart_img">
        <img src="img/bag.jpg" alt="Check Cart"
        onmouseover="this.src='img/bag-gold.jpg'"
        onmouseout="this.src='img/bag.jpg'">
    </a>
    <a href="#">Why HorseTack?</a> | 
    <a href="#">About</a> | 
    <a href="#">Contact</a> |                           
    <a href="#" class="login-box">Login</a>
        <div class="login-form">
            <form class="login-frm">
                <label><input type="text" placeholder="Username"></label>
                <label><input type="password" placeholder="Password"></label><br>
                <input type="submit" value="Login"><br>
                <a href="#">New User?</a>
            </form>
        </div>
</div>
Run Code Online (Sandbox Code Playgroud)

JQuery的

这使得登录框向下滑动(只是为了避免将人们带到登录页面,除非他们必须这样做)

    // Login Box Pop-Up
jQuery(document).ready(function() {
    jQuery(".login-form").hide();
    //toggle the componenet with class msg_body
    jQuery(".login-box").click(function()
    {
    jQuery(this).next(".login-form").slideToggle(500);
    });
});
Run Code Online (Sandbox Code Playgroud)

我想要的不是那个<noscript>标签和内容重复,只是超链接只有在没有JavaScript时才能工作的方式.

我已经设置了页面,让用户知道他们的JS何时被禁用(比如Stack Overflow已经完成)

有关我的问题的任何问题(希望我不是模糊的?)问!

Que*_*tin 3

如何使超链接仅在 JavaScript 被禁用时才起作用?如果启用了 JavaScript,如何确保显示下拉登录菜单而不是跟随超链接?

编写一个 JavaScript 函数来显示菜单。确保它捕获第一个参数(这将是事件对象)。

将函数作为事件处理程序绑定到链接。

调用preventDefault()事件对象。

function (event) { /* display menu then ... */ event.preventDefault(); }
Run Code Online (Sandbox Code Playgroud)

<noscript>标签

问题几乎总是有最坏的解决方案。积极进取,不引人注目