javascript - 如何为 CSS 编写 jQuery 或 JavaScript 等价物

标签 javascript jquery css html

我想要一个等同于 CSS 的 jQuery,当单击选项卡时它会显示它的内容。现在,我只能从 CSS 中获取它。我希望使用 jQuery 或 Javascript 具有相同的功能。

比如现在点击SUN显示“It is Sunday”,点击MON显示“It is Monday”等等。

我怎样才能拥有来自 jQuery 或 Javascript 的相同功能?

@import url('https://fonts.googleapis.com/cssfamily=Open+Sans:400,600,700');
* {
  margin: 0;
  padding: 0;
}

body {
  padding: 2px;
  background: #E5E4E2;
}

.tabinator {
  background: #fff;
  padding: 1px;
  font-family: Open Sans;
  margin-top: 10px;
}

.tabinator input {
  display: none;
}

.tabinator label {
  box-sizing: border-box;
  display: inline-block;
  padding: 5px 0.6%;
  color: #ccc;
  margin-bottom: -1px;
  margin-left: -1px;
  font-family: courier;
  font-weight: bold;

}

.tabinator label:before {
  content: '';
  display: block;
  width: 100%;
  height: 15px;
  background-color: #fff;
  position: absolute;
  bottom: -4px;
  left: 0;
  z-index: 10;
}

.tabinator label:hover {
  color: red;
  cursor: pointer;
}

.tabinator input:checked+label {
  position: relative;
  color: red;
  font-weight: bold;
  background: #fff;
  border: 1px solid #bbb;
  border-bottom: 1px solid #fff;
  border-radius: 5px 5px 0 0;
  font-size: 22px;
}

.tabinator input:checked+label:after {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  box-shadow: 0 0 15px #939393;
}

#content1,
#content2,
#content3,
#content4,
#content5,
#content6,
#content7 {
  display: none;
  border-top: 1px solid #bbb;
  padding: 3px;
  margin-top: 2px;
}

#tab1:checked~#content1,
#tab2:checked~#content2,
#tab3:checked~#content3,
#tab4:checked~#content4, 
#tab5:checked~#content5,
#tab6:checked~#content6,
#tab7:checked~#content7 {
  display: block;
  box-shadow: 0 0 15px #939393;
}
<div class="tabinator">

  <input type="radio" id="tab1" name="tabs" checked>
  <label for="tab1">SUN</label>
  <input type="radio" id="tab2" name="tabs">
  <label for="tab2">MON</label>
  <input type="radio" id="tab3" name="tabs">
  <label for="tab3">TUE</label>
  <input type="radio" id="tab4" name="tabs">
  <label for="tab4">WED</label>
  <input type="radio" id="tab5" name="tabs">
  <label for="tab5">THU</label>
  <input type="radio" id="tab6" name="tabs">
  <label for="tab6">FRI</label>
  <input type="radio" id="tab7" name="tabs">
  <label for="tab7">SAT</label>

  <div id="content1">
    <p> This is Sunday</>
  </div>

  <div id="content2">
    <p> This is Monday</p>
  </div>

  <div id="content3">
    <p> This is Tuesday</p>
  </div>

  <div id="content4">
    <p> This is Wednesday</p>
  </div>
  
  <div id="content5">
    <p> This is Thursday</p>
  </div>
  
  <div id="content6">
    <p> This is Friday</p>
  </div>
  
  <div id="content7">
    <p> This is Saturday</p>
  </div>

最佳答案

你合适吗? (见片段)

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<style>
    * {
        margin: 0;
        padding: 0;
    }
    body {
        padding: 2px;
        background: #E5E4E2;
    }
    ul#daysList {
        display: inline-block;
        width: 100%;
        list-style: none;
        background: #fff;
        padding: 1px 1px 0 1px;
        font-family: Open Sans;
        margin: 10px 0 0 0;
    }
    ul#daysList li {
        position: relative;
        box-sizing: border-box;
        display: block;
        float: left;
        box-shadow: 0 0 15px #939393;
        width: 70px;
        height: 30px;
        text-align: center;
        line-height: 030px;
        color: #ccc;
        margin-bottom: -5px;
        margin-left: -1px;
        font-family: courier;
        font-weight: bold;
    }
    ul#daysList li:hover {
        color: red;
        cursor: pointer;
    }
    ul#daysList li.currentDay {
        color: red;
        font-weight: bold;
        background: #fff;
        border: 1px solid #bbb;
        border-bottom: 1px solid #fff;
        border-radius: 5px 5px 0 0;
        font-size: 22px;
    }
    ul#daysList li.currentDay:after {
        display: block;
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        box-shadow: 0 0 15px #939393;
    }
    .content {
        display: none;
        border-top: 1px solid #bbb;
        padding: 0 7px;
        margin-top: 0;
        background: #fff;
        width: 100%;
        height: 40px;
        line-height: 38px;
        box-shadow: 0 0 15px #939393;
    }
    .currentContent {
        display: inline-block;
    }
</style>
</head>
<body>
    <ul id="daysList">
        <li data-day="content1" class="currentDay">SUN</li>
        <li data-day="content2">MON</li>
        <li data-day="content3">TUE</li>
        <li data-day="content4">WED</li>
        <li data-day="content5">THU</li>
        <li data-day="content6">FRI</li>
        <li data-day="content7">SAT</li>
    </ul>

    <div id="content1" class="content currentContent">
        <p> This is Sunday</p>
    </div>
    <div id="content2" class="content">
        <p> This is Monday</p>
    </div>
    <div id="content3" class="content">
        <p> This is Tuesday</p>
    </div>
    <div id="content4" class="content">
        <p> This is Wednesday</p>
    </div>
    <div id="content5" class="content">
        <p> This is Thursday</p>
    </div>
    <div id="content6" class="content">
        <p> This is Friday</p>
    </div>
    <div id="content7" class="content">
        <p> This is Saturday</p>
    </div>

	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	<script>
        $(function () { // Jquery ready. for complete page loaded

            $("#daysList li").click(function () {
                var
                content_id = "#"+ $(this).data("day");

                $("#daysList li").removeClass("currentDay");
                $(this).addClass("currentDay");

                $(".content").removeClass("currentContent");
                $(content_id).addClass("currentContent");
            });
        }); // Jquery
</script>
</body>
</html>

关于javascript - 如何为 CSS 编写 jQuery 或 JavaScript 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45678626/

相关文章:

javascript - 将 scrollIntoView 函数应用于 JQuery 函数

javascript - 常量脚本 -> 更改 src iframe (1min, 5min) + jQuery

javascript - 在嵌套子文档数组中查找与特定条件匹配的文档总数

javascript - 从 ng-repeat 中删除元素,但将其 HTML 保留在 dom 中

javascript - (JQUERY) - 通过 WebSocket 返回 JSON 对象并应用于选择不起作用

html - 从 Bootstrap Accordion 中删除边框

javascript - 如何访问 Angular 中对象数组内部的数组?

javascript - 正则表达式选择除

javascript - 如何制作一个全黑的空加载屏幕?这一直有效

html - <DIV> 中的文本垂直居中