【问题标题】:Is there a way to ignore a class with the <noscript> tag?有没有办法忽略带有 <noscript> 标签的类?
【发布时间】:2014-03-20 20:43:10
【问题描述】:

我目前正在使用 wow.js,以便在您向下滚动时淡入内容。它的工作方式是您将 div 类 wow 添加到您想要淡入的内容中,wow.js 会识别并制作动画。 (这里的文档很简单http://mynameismatthieu.com/WOW/docs.html)

但是,如果浏览器禁用了 javascript,它将无法识别任何具有 wow 类的 CSS 样式,因为我的样式表中没有定义 .wow。我想知道是否有解决方法 - 我是否应该将.wow 类也添加到我自己的样式表中,例如.wow {display: block}?或者有没有办法告诉没有启用 javascript 的浏览器简单地忽略 wow 类?

不幸的是,我不能简单地发送 &lt;noscript&gt;message 说 javascript 已禁用,因为我知道许多工作人员会查看该站点,其中 javascript 已禁用,他们需要能够查看它。

【问题讨论】:

    标签: javascript css class


    【解决方案1】:

    执行此操作的常用方法是相反的。我不确定库是否有限制,但您可以向 &lt;html&gt; 或 &lt;body&gt; 元素添加一个类,以标识 JS 可用。反过来的方法是有一个像.no-js 这样的类,然后如果JS 可以运行,则将其从&lt;body&gt; 中删除。

    例如

    <body class="no-js">
        <script type="text/javascript">document.body.className = "";</script>
    

    从那里,在您的 CSS 中,只需执行以下操作:

    .no-js .wow {
        display: block;
    }
    

    【讨论】:

    • .no-js 会与 Modernizr 合作吗?
    • 您可以将它与 Modernizr 一起使用,它会自动从其中剥离类,因此您不必这样做。但如果你这样做,你会想把它放在我相信的&lt;html&gt;元素上
    【解决方案2】:

    如果浏览器有 Javascript,你只添加 wow 类怎么样?

    例如:

    <div id="one" class="wowable"></div>
    <div id="two" class="wowable"></div>
    
    <script type="text/javascript">
        var wowables = document.getElementsByClassName('wowable');
        for(var i = 0; i < wowables.length; i++) {
            wowables[i].classList.remove( 'wowable' );
            wowables[i].classList.add( 'wow' );
        }
    </script>
    

    【讨论】:

    • 我想你可能忘记了
    • 有些人忘记完成他们的工作
    • 完成输入您的帖子。
    • 好吧,在你的问题中,你写了wow {display: block},只需使用wowable {display: block}。
    猜你喜欢
    • 2020-07-02
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 2020-02-11
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多