我在页面上有很多图片,一个在另一个下面。当我点击其中一个时,将缩放它们,并且还会在页面的开头刷新/跳转。我怎么能阻止它?这是代码:
<a href="#" style="text-decoration: none"><img src="house.jpg" id="house1" width="200" height="150" onclick="function1()">
CSS:
.mystyle{
position: fixed;
left: 45%;
top: 40%;
transform:scale(5);
}
.mystyle2{
float: right;
transform: scale(1);
}
JS:
function function1(){
var house = document.getElementById("house1");
if(house.className == "mystyle")
house.className = "mystyle2";
else
house.className = "mystyle";
}
答案 0 :(得分:1)
这是一个语义的,可访问的解决方案(与已发布的解决方案不同):
<button onclick="function1()">
<img src="house.jpg" id="house1" width="200" height="150" alt="house">
<button>
注意:
<a>
代码。使用真实<button>
。这避免了所有href
恶作剧。onclick
从<img>
移至<button>
。这为您提供免费的键盘可访问性。<img>
替代文字。我刚刚选择了#34; house&#34;因为它是由文件名暗示的。onclick
属性并从外部js文件中挂接JavaScript。答案 1 :(得分:0)
删除href="#"
<a style="text-decoration: none"><img src="house.jpg" id="house1" width="200" height="150" onclick="function1()">
答案 2 :(得分:0)
function function1(event){
var house = document.getElementById("house1");
if(house.className == "mystyle")
house.className = "mystyle2";
else
house.className = "mystyle";
//return false;
//or
event.preventDefault();
}
&#13;
<a href="#" style="text-decoration: none"><img src="house.jpg" id="house1" width="200" height="150" onclick="function1()"/>
</a>
&#13;
答案 3 :(得分:0)
这种情况正在发生,因为每次单击href="#"
锚点内的图像时都会刷新页面。
只需删除#
或使用jquery:
$('img').click(function(e) {
e.preventDefault();
});
答案 4 :(得分:0)
使用css position属性修复它的位置。 例如位置:固定
答案 5 :(得分:0)
您可以移除<a>
元素,仅保留<img>
或将其包含在<div>
或<li>
等其他元素中。由于您的javascript只会更改样式,因此链接没有用途。
答案 6 :(得分:-1)
使用javascript:void(0);而不是锚标记中的#,
例如:
<a href="javascript:void(0)"></a>
这会对你有帮助, 继续编码:)