後的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很多:) –