我正在尝试隐藏按钮,而div的样式定位为0.
要解释的整个JS代码是:
$('#left-button').click(function() {
event.preventDefault();
$('#myTab').animate({
left: "+=200px"
}, "fast");
});
上面的代码工作。如果我点击按钮(左键),“mytab”div就会向左移动。现在,当#myTab的样式为“left:0”时,我想要隐藏#左键。
我试过了:
if ($('#myTab').css('left') == '0') {
$('#left-button').style.display = "none";
}
基本风格是
#myTab { width:300px; height:300px; position:relative; left:0; background:#777 }
#left-button {width:200px; height:200px; background:#ccc; }
没有调试错误但没有任何反应。我能做什么? 如果有另一种方法而不是Js,请告诉我。
非常感谢你。
答案 0 :(得分:2)
您刚刚错过了单位价值px
if ($('#myTab').css('left') == '0px') {
$('#left-button').hide();
}
使用.hide()
代替style.display = "none";
答案 1 :(得分:2)
您的代码中的主要问题是使用行$('#left-button').style.display = "none";
,并且您在if条件if ($('#myTab').css('left') == '0') {
if应为if ($('#myTab').css('left') == '0px') {
$ object返回jQuery包装的数组/对象,您尝试访问的是实际的DOM元素,因此您有两个选项来访问DOM元素:
<强> 1。使用jQuery方法hide()
$('#left-button').hide();
或
<强> 2。使用DOM属性显示
$('#left-button')[0].style.display = "none";
注意:强>
jQuery Object:The Wrapped Set:Selectors返回一个jQuery对象 被称为“包裹集”,这是一种类似于阵列的结构 包含所有选定的DOM元素。你可以迭代 包装集像数组或访问单个元素通过 索引器(例如$(sel)[0])。更重要的是,您也可以申请 jQuery针对所有选定元素进行操作。
答案 2 :(得分:1)
我认为这就像你从左边获得价值,尝试使用偏移功能
if ($('#myTab').offset().left == 0) {
$('#left-button').hide();
}
答案 3 :(得分:0)
.css以px为单位进行测量,因此您应该尝试:
if ($('#myTab').css('left') == '0px') {
$('#left-button').style.display = "none";
}