我使用以下代码,
<div>
<ul>
<li class="hide">Code 1</li>
<li class="hide">Code 2</li>
<li class="hide">Code 3</li>
<li class="hide">Code 4</li>
<li class="hide">Code 5</li>
<li class="hide">Code 6</li>
<li class="hide">Code 7</li>
<li class="hide">Code 8</li>
</ul>
</div>
$(document).ready(function() {
$(".hide").click(function(e) {
$(this).toggleClass("hideit");
});
});
ul li.show {
list-style: inside;
padding-left: 15px;
cursor: pointer;
height:16px;
}
ul li.hideit {
list-style: none;
list-style-image: none;
padding-left: 35px;
cursor: pointer;
}
但问题是当我点击它时,文字会向右移动并再次点击它会到达同一位置
我正在尝试的方式是当我点击li时,列表样式应该没有,但文本不应该移动
我正在检查IE7 +浏览器和所有OPera,Safari,FF,Chrome
此致
答案 0 :(得分:3)
从hide-it
中删除填充ul li.hideit {
list-style: none;
list-style-image: none;
cursor: pointer;
}
演示:Fiddle
答案 1 :(得分:2)
只需从您的班级padding
中移除hideit
:
ul li.hideit {
list-style: none;
list-style-image: none;
/*padding-left: 35px; Remove this*/
cursor: pointer;
}
答案 2 :(得分:1)
答案 3 :(得分:0)
单击时,会向该元素添加一个类! hideit
。
对于那个班级,你正在使用
padding-left: 35px;
在重新点击时,该类被删除,并间接从元素中删除填充!
这是导致问题,删除它!你的问题将得到解决!
删除后,元素将不再移动!