有人知道为什么当选择其中一个bin <div>
时它会跳到顶部吗?我已经尝试了所有东西,但它不起作用(至少在Chrome中)。
这是我的剧本:
<script>
$(document).ready(function () {
$("#bin1").click(function(){
$("#div1").slideDown("1000");
$("#div3").hide();
$("#div2").hide();
$("#div4").hide();
});
$("#bin2").click(function(){
$("#div2").slideDown("1000");
$("#div3").hide();
$("#div1").hide();
$("#div4").hide();
});
$("#bin3").click(function(){
$("#div3").slideDown("1000");
$("#div1").hide();
$("#div2").hide();
$("#div4").hide();
});
$("#bin4").click(function(){
$("#div4").slideDown("slow");
$("#div3").hide();
$("#div2").hide();
$("#div1").hide();
return false;
});
});
</script>
这是HTML:
<div id="binheader" style="padding-top:20px;">
<a href="javascript: return null;" id="bin1">
<img src="img/black bin name.png"
style="width:200px; float:left;" />
</a>
<a href="javascript: return null;" id="bin2">
<img src="img/green bin name.png"
style="padding-left:33px; width:200px; float:left;" />
</a>
<a href="javascript: return null;" id="bin3">
<img src="img/yellow box name.png"
style="padding-left: 34px; width:200px; float:left;" />
</a>
<a href="javascript: return null;" id="bin4">
<img src="img/green box name.png"
style="padding-left:33px; width:200px; float:left;" />
</a>
</div>
答案 0 :(得分:7)
<a id="bin1" href="#">
然后在点击处理程序中:
$('#bin1').click(function() {
// do stuff
return false;
});
您的页面跳转到顶部,因为您的代码 - href="javascript: return null;"
- 无法禁用锚点。不要将JavaScript代码放在href
属性中!
考虑一下......
HTML:
<ul id="links">
<li> <a href="#"> <img src="..."> </a> </li>
<li> <a href="#"> <img src="..."> </a> </li>
<li> <a href="#"> <img src="..."> </a> </li>
</ul>
<ul id="slides">
<li> ... </li>
<li> ... </li>
<li> ... </li>
</ul>
JavaScript的:
$('#links a').click(function() {
var i = $(this).parent().index();
$('#slides').children().hide().eq(i).slideDown('slow');
});
请注意,我将您的24行代码缩短为4行!