【问题标题】:tick to be displayed button on button and to reduce its opacity when it's clicked勾选以在按钮上显示按钮并在单击时降低其不透明度
【发布时间】:2017-11-06 02:15:04
【问题描述】:

我希望在单击按钮后显示一个刻度并降低其不透明度。

#btnTicketType{
    margin-bottom:2%;
    margin-top:10%;
    width:95%;
    height:15em;
    font-size:1.5em;
}

#seatnumber{
    display:block; 
    width:100%; 
    text-align:center;
    font-size:1em;
}

#rectangle{
    height:100%;
    width:100%;
    overflow:auto;
    outline-color:black;
    outline-style:solid;
}
<div id="rectangle">
        <div class="col-md-3">
            <button id="btnTicketType" class="btn btn-default">Button 1</button>
            <small id="seatnumber">Text 1</small>
        </div>
                <div class="col-md-3">
            <button id="btnTicketType" class="btn btn-default">Button 2</button>
            <small id="seatnumber">Text 2</small>
        </div>
                <div class="col-md-3">
            <button id="btnTicketType" class="btn btn-default">Button 3</button>
            <small id="seatnumber">Text 3</small>
        </div>
}
</div>
<br />

如果勾号显示后还可以降低按钮的不透明度,这样对用户来说勾号会更加突出。

【问题讨论】:

  • 除了&lt;button&gt;&lt;/button&gt;&lt;input type='button' /&gt;,您应该使用元素,因为按钮不支持.innerHTML。要么在按钮上使用position:absolute;,然后打勾并拥有两者的父级position:relative;
  • @PHPglue 这个问题和innerHTML() 有什么关系? &lt;button&gt; 标记可以包含其他元素,例如 Op 之后的刻度。从语义上讲,&lt;button&gt; 元素比 &lt;span&gt;(或您可能推荐的任何元素)更合适。
  • 您想在按钮上打勾。您不能在按钮中添加任何内容。
  • 嗯,谢谢chiru。我会查看链接,看看我能做什么

标签: javascript jquery html css


【解决方案1】:

我创建了一个 HTML/CSS/JavaScript sn-p,它执行以下操作:

  1. 在每个按钮上都包含一个“勾号”;和
  2. 单击按钮后,它会淡出

您可以在 JSFiddle 上查看一个工作示例。

您的问题有点令人困惑,因为问题的标题和正文说的不同:

在按钮上显示勾选并在点击时降低不透明度

对比:

我希望在单击按钮后在按钮上显示一个勾号

可以轻松修改此 sn-p 的 CSS 以获得任一结果。

工作片段

$( '.btnTicketType' ).click(function() {
  $(this).addClass('clicked-button');
});
.btnTicketType {
    margin-bottom: 2%;
    margin-top: 10%;
    width: 95%;
    height: 15em;
    font-size: 1.5em;
    transition: all 1s;
}

.seatnumber{
    display: block; 
    text-align: center;
    font-size: 1em;
}

#rectangle{
    overflow: auto;
    outline-color: black;
    outline-style: solid;
}

.clicked-button {
    opacity: .1;
}
<link href="https://opensource.keycdn.com/fontawesome/4.7.0/font-awesome.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="rectangle">
    <div class="col-md-3">
        <button class="btnTicketType btn btn-default" value="">
            <i class="fa fa-check" aria-hidden="true"></i>
            Button 1
        </button>
        <small class="seatnumber">Text 1</small>
    </div>
    <div class="col-md-3">
        <button class="btnTicketType btn btn-default" value="">
            <i class="fa fa-check" aria-hidden="true"></i>
            Button 2
        </button>
        <small class="seatnumber">Text 2</small>
    </div>
    <div class="col-md-3">
        <button class="btnTicketType btn btn-default" value="">
            <i class="fa fa-check" aria-hidden="true"></i>
            Button 3
        </button>
        <small class="seatnumber">Text 3</small>
    </div>
</div>

附加说明

  1. &lt;button&gt; 元素是semantically valid

    HTML &lt;button&gt; 元素代表一个可点击的按钮。

  2. 如果需要,&lt;button&gt; 元素 can contain other HTML elements

    &lt;button&gt; 元素比&lt;input&gt; 元素更容易设置样式。您可以添加内部 HTML 内容(例如 &lt;em&gt;&lt;strong&gt; 甚至 &lt;img&gt;),并利用 :after:before 伪元素实现复杂的渲染,而 &lt;input&gt; 只接受文本值属性.

  3. 根据上述定义,我使用Font Awesomecheck icon 添加到您的按钮中。

  4. 您的 HTML 错误地重用了 ID 属性。 id="btnTicketType" 属性必须是唯一的,并且不能在有效的 HTML 中重复使用。如果您需要设置多个元素的样式,最好使用class="btnTicketType"。我用类替换了重复的 ID 属性,而不是我的 sn-p 中的 HTML。

  5. 如果您在&lt;form&gt; 中使用&lt;button&gt; 元素,则value="" 属性将与表单一起提交。来自MDN documentation

value
按钮的初始值。它定义了与表单数据一起提交的按钮相关联的值。该值在表单提交时以 params 的形式传递给服务器。

【讨论】:

  • 感谢您提供如此多的信息来源供我参考。我只想问一下调用 CSS 以将其不透明度降低到 0.1 的 Jquery 语句。有什么方法可以让我重新点击,它会将不透明度恢复正常吗?
  • @shikiko 您可以使用toggleClass 代替addClass()。您可以在这里了解不同之处:stackoverflow.com/questions/8342396/…
  • 非常感谢您的帮助。对此,我真的非常感激。我想我现在可以管理它了
猜你喜欢
  • 2015-07-26
  • 1970-01-01
  • 2013-08-29
  • 1970-01-01
  • 2014-01-05
  • 2021-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多