- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 VueJS 和 Bootstrap 开发应用程序。
有一个侧边栏是我创建的。侧边栏有文件、电子邮件、社交、应用程序数据等选项。
侧边栏的代码如下所示:
export default {
data(){
return{
open: false
}
},
methods:{
toggle(){
const sideBar = document.getElementsByClassName("side-bar");
if(this.open === true){
this.open = false;
sideBar[0].style.width = "200px";
}
else if(this.open === false){
this.open = true;
sideBar[0].style.width = "73px";
}
}
},
mounted(){
this.open = false;
this.toggle();
var dropdown = document.getElementsByClassName("dropdown-btn");
console.log(dropdown);
var i;
for (i = 0; i < dropdown.length; i++) {
dropdown[i].addEventListener("click", function() {
var dropdownContent = this.nextElementSibling;
if (dropdownContent.style.display === "block") {
dropdownContent.style.display = "none";
} else {
dropdownContent.style.display = "block";
}
});
}
}
}
.openbtn:focus{
outline: none;
}
/* .sidebar-footer{
position: absolute;
width: 197px;
height: 41px;
bottom: 0;
background: #3F51B5;
transition: 0.5s;
} */
.sidebar:after, body > .navbar-collapse:after{
background: linear-gradient(to bottom, #F5F5F5 0%, #F5F5F5 100%)
}
.sidebar .sidebar-wrapper .sidenav {
height: 100%;
width: 200px;
z-index: 1;
top: 0;
left: 0;
background-color: #F5F5F5;
overflow-x: hidden;
padding-top: 20px;
transition: 0.5s;
}
/* Style the sidenav links and the dropdown button */
.sidenav a, .dropdown-btn {
padding: 6px 8px 6px 16px;
text-decoration: none;
font-size: 20px;
color: #818181;
display: block;
border: none;
background: none;
width:100%;
text-align: left;
cursor: pointer;
outline: none;
transition: 0.5s;
}
/* On mouse-over */
.sidenav a:hover, .dropdown-btn:hover {
color: #E91E63;
border: 0px;
transition: 0.5s;
}
/* Add an active class to the active dropdown button */
.active {
color: #E91E63;
transition: 0.5s;
}
/* Dropdown container (hidden by default). Optional: add a lighter background color and some left padding to change the design of the dropdown content */
#dropdown-container {
display: none;
background-color: #FAFAFA;
transition: 0.5s;
}
/* Optional: Style the caret down icon */
.fa-caret-down {
float: right;
padding-top: 2px;
padding-right: 60px;
}
.sidebar .sidebar-wrapper .sidenav {
padding-top: 75px;
transition: 0.5s;
}
.fa {
width: 1.28571429em;
text-align: center;
transition: 0.5s;
}
.openbtn {
padding: 0px 25px 0px 20px;
background-color: #F5F5F5;
border: none;
outline: none;
margin-top: 13px;
margin-bottom: 28px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div class="sidebar">
<div class="sidebar-wrapper">
<div class="sidenav">
<button v-if="open === true" @click="toggle" class="openbtn">
<svg x="25px" y="85px" width="24px" height="26px" viewBox="0 0 50 50" style="transform: scaleX(1);" fill="rgb(33,33,33)">
<path d="M0,39h50v2H0V39z M0,26h50v-2H0V26z M0,9v2h50V9H0z"></path>
</svg>
</button>
<button v-else @click="toggle" style="float: right" class="openbtn">
<svg width="26px" height="25px" viewBox="0 0 32 32">
<g id="icomoon-ignore"></g>
<path d="M29.312 15.992c0-7.366-5.97-13.337-13.337-13.337s-13.337 5.97-13.337 13.337 5.97 13.337 13.337 13.337 13.337-5.97 13.337-13.337zM3.706 15.992c0-6.765 5.504-12.27 12.27-12.27s12.27 5.505 12.27 12.27-5.505 12.27-12.27 12.27c-6.765 0-12.27-5.505-12.27-12.27z" fill="#000000"/>
<path d="M12.792 15.231l-0.754 0.754 6.035 6.035 0.754-0.754-5.281-5.281 5.256-5.256-0.754-0.754-3.013 3.013z" fill="#000000"/>
</svg>
</button>
<div v-if="this.open === false">
<button class="dropdown-btn" style="font-size: 16px; outline: none">
<i class="far fa-fw fa-file"></i><span style="color: #212121"> Files</span>
<i class="fa fa-caret-down" style="color: #080404"></i>
</button>
<div id="dropdown-container">
<a href="#" style="font-size: 16px;"><i class="far fa-fw fa-clock"></i> Recent</a>
<a href="#" style="font-size: 16px;"><i class="far fa-fw fa-star"></i> Starred</a>
<a href="#" style="font-size: 16px;"><i class="fa fa-fw fa-share-alt"></i> Shared with me</a>
<a href="#" style="font-size: 16px;"><i class="far fa-fw fa-clock"></i> Shared by me</a>
<a href="#" style="font-size: 16px;"><i class="fa fa-fw fa-trash"></i> Trash</a>
</div>
<button class="dropdown-btn" style="font-size: 16px; outline: none">
<i class="far fa-fw fa-envelope-open"></i><span style="color: #212121"> Email</span>
<i class="fa fa-caret-down" style="color: #080404"></i>
</button>
<div id="dropdown-container">
</div>
<button class="dropdown-btn" style="font-size: 16px; outline: none">
<i class="fa fa-fw fa-bullhorn" style="width: 1.28571429em"></i><span style="color: #212121"> Social</span>
<i class="fa fa-caret-down" style="color: #080404"></i>
</button>
<div id="dropdown-container">
</div>
<button class="dropdown-btn" style="font-size: 16px; outline: none">
<i class="fa fa-fw fa-database"></i><span style="color: #212121"> App Data</span>
<i class="fa fa-caret-down" style="color: #080404"></i>
</button>
<div id="dropdown-container">
</div>
</div>
</div>
</div>
</div>
当我尝试单击"file"下拉按钮时,没有显示相应的容器菜单。
我在这里做错了什么?我希望得到一些帮助。提前致谢!
最佳答案
好的,
我在你的代码中看到了很多东西,
在您的模板中,您永远不需要使用关键字“this”,您所做的一切都已经在组件范围内。
不需要加'open === true','open'就够了
当您使用像 VueJS 这样的库时,DOM 会在您更新状态时重新呈现,因此如果您直接修改 HTML 内容,更改将在下一次更新后丢弃
删除它并更喜欢使用条件样式
sideBar[0].style.width = "200px";
您还需要删除“已安装”函数中的所有内容。事件应与 HTML 组件上的 @eventname 一起使用,如果您希望导航栏默认打开,请使用默认状态。
修复所有这些问题将使您的代码更加清晰,并有很大的机会让您的代码正常工作
关于javascript - 单击下拉按钮时侧边栏下拉菜单不会打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54966527/
我有几个系统使用 docker-compose 并且没有问题。 但是,我在这里有一个“向下”根本不做任何事情的地方。 'up'虽然完美。这是在 MacOS 上。 该项目的昵称是“ Storm ”,脚本
解释起来确实很奇怪,所以就这样...... 我正在从 phpmyadmin 获取包含未转义单引号的数据。我正在尝试转换'至'通过使用Content-Type: text/html;在 php
伙计们?在这里需要一些帮助。我使用委托(delegate)协议(protocol)将一些字符串从“第二个 View Controller ”传回给它的前一个。 我的数组附加了我在委托(delegate
我有以下 eval() 东西: c = Customer() eval("c.name = row.value('customer', '{c}')".format(c=column_name), {
我写了这个测试类: @ContextConfiguration(locations = { "classpath:/test/BeanConfig.xml" }) public class Candi
我这样写代码: @ContextConfiguration(locations = { "classpath:/test/BeanConfig.xml" }) @RunWith(SpringJUnit
假设我更改了文件,然后进行 pull 。 Git 会报错,因为本地仓库还没有保存,将被覆盖。如果我然后删除该添加并使文件与以前相同(与远程 repo 相同),那么会发生 pull 吗? 最佳答案 是的
我正在阅读《Java for Dummies》一书,但遇到了问题。我不明白为什么 @Override 不起作用。我确信这与我的代码有关,因为我之前已经获得了一个多态数组来使用覆盖,但它对我来说太简单了
我从我的项目中提取了这段代码,因为我试图找到我犯的一个错误,该错误使我的 BeginStoryboard 无法自行停止。我尽可能地简化了代码,但仍然没有发现问题。你认为它可能是什么?
这个问题在这里已经有了答案: Difference between char[] and char * in C [duplicate] (3 个答案) 关闭 7 年前。 我想我知道自己问题的答案,
我一直在使用 java 的 Scanner 类时遇到问题。我可以让它很好地读取我的输入,但问题是当我想要输出一些东西时。给定多行输入,我想在完全读取所有输入后只打印一行。这是我用来读取输入的代码:
对于这个问题,我已经用最简单的术语表达了这一点。 如果元素被点击,'active'类被添加到元素,'active'类从其他元素中移除。 但是,如果该元素是“事件的”并且它被第二次单击,则“事件”类不应
这会在桌面上创建一个新文件夹,但不会将文件夹 .pfrom 的内容 move 到文件夹 .pTo。 int main() { SHFILEOPSTRUCT sf = {0}; TCHA
我有一个关于多线程调试 DLL (/MDd) 和多线程调试 (/MTd) 设置的问题。它们之间的区别很明显:一个是使用动态库,一个是使用静态库。当我使用/MDd 编译我的程序时,一切都进行得很好。但是
我的问题是,如果我在页面加载时创建一个克隆变量,jQuery 只会 append 它一次。奇怪! Click to copy This is an element! $(document)
所以...我是一个开发 django 应用程序的新手,但是当我尝试通过 virtualbox heroku 运行 heroku run python manage.py syncdb 时,它一直在下面
我在 Spring Boot 初始化时遇到了问题。我在一个简单的 Spring Boot 项目中有这个结构。 com.project.name |----App.java (Annoted with
我在 www.7hermanosmx.com/menu.php 页面上有以下代码 - 一切正常,除了黄色框(类 menuholder)应该每行三个相互 float 。他们坚决拒绝这样做!我知道我做错了
我正在尝试在我正在构建的小型网站上添加一个下拉菜单。出于某种原因,我可以获得我想要向下滑动到 fadeOut() 的 div 并执行其他类似的操作,但我无法将它获取到 slideDown()。我不知道
我有一个不能正确 float 的 div。当您切换可见性时,它会覆盖一些当前文本,但我可以稍后移动它。只是好奇为什么它不能正确 float ! Simple Tabs with CSS &am
我是一名优秀的程序员,十分优秀!