后的jquery不工作我有两个按钮的方法,其中一个按钮即Staffing
和另一个按钮即NonStaffing
。当我点击Staffing
按钮时,我可以得到我想要的结果,这意味着我能够看到page1并隐藏page2。但是当我点击NonStaffing
按钮时,我没有得到我想要的结果,这意味着隐藏page1和显示page2。它隐藏了整个页面。我无法弄清楚问题所在。隐藏()的点击按钮
HTML:
<ul>
<li class="menu-item" style="list-style-type: none;margin-left: 50px; margin-top: -120px; position: absolute;">
<input type="submit" name="projectType" value="Staffing" >
</li>
<li style="list-style-type: none;margin-left: 150px; margin-top: -120px; position: absolute;" >
<input type="submit" name="projectType1" value="NonStaffing">
</li>
</ul>
<div id="abc1" style="background: #CCC; height:250px;width:250px;margin-top:150px;border: 4px solid #AAA;">
<button>Open Dialog</button>
Page1
</div>
<div id ="mno" style="background: #CCC; height:110px;width:150px;margin-left:410px;margin-top: -250px; border: 4px solid #AAA;"> Page2
</div>
的Javascript:
var dialogOffset = {
top: 50,
left: 10
}
$("input:submit[name=projectType1]").click(function() {
var value = $(this).val();
if(value=='NonStaffing'){
$('#mno').show();
$('#abc1').hide();
}else{
}
});
$("input:submit[name=projectType]").click(function() {
var value = $(this).val();
if(value=='Staffing'){
$('#abc1').show();
$('#mno').hide();
}else{}
});
$('button').click(function() {
var $parent = $(this).closest('div.col');
var parentPos = $parent.offset()
var parentIndex = $('.col').index($parent);
var numDialogs= $('.colDialog_'+parentIndex).length;
var dialogTop=parentPos.top + dialogOffset.top + numDialogs*30;
var dialogPosition = [parentPos.left + dialogOffset.left, dialogTop];
$('<div class="colDialog_'+parentIndex+'">').dialog({
position: dialogPosition,
width: 170,
title: 'Col:'+(parentIndex+1 +', Dia: '+(numDialogs+1)) ,
close: function() {
$(this).remove()
}
})
});
,你可以找到上面here代码的的jsfiddle。
什么情况是,所有的元素都拿出来看时,用切缘阳性的唯一元素被隐藏。这种定位策略有充分的理由吗? –
你的代码很难理解:尽量减少css的使用(绝对位置和负边距通常是一个不好的做法)。简化所有这些东西,你会发现它会解决你的bug(这实际上是一个css问题,因为负边际) –
实际上我并没有意识到负边际会把我拖到这些问题上。反正我学到了一个新东西今天虽然我是IT行业的新手。 Thanx很多:) –