我有一张显示“添加到购物车”的图片,当点击它时,jQuery会显示div,表示已成功添加到购物车。问题是,因为我需要它作为图片滚动的链接才能工作,点击时链接到页面顶部(
<div class="producttext"> Body Snatcher <!-- product name text --> <div class="pricetag"><img src="pricetags/1499.png" width="113" height="150" /> </div></div> <!-- pricetag, ending both the pricetag and text div -->
<div class="addtocart"><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('cart','','cart-rollover.png',1)"><img onclick="document.getElementById('addedcartbg').style.display = 'block'" src="cart.png" width="200" height="80" id="cart" /></a> <br /></div>
答案 0 :(得分:0)
尝试将href更改为“javascript:;”所以它不会跳转到named / empty(so top)锚点。
答案 1 :(得分:0)
我只能猜到这一点,因为我看不到你在这里使用的函数所涉及的代码。通常,当我使用函数调用并且不希望对从中调用它的页面进行任何更改时,我只需添加'return false;'作为函数的最后一行。
但是,如果您希望从函数返回数据,那么在从函数返回false之前,您可能需要将函数返回的值放在全局声明的变量中。 例如,在您显示的函数中......
function MM_swapImgRestore() {
...do my processing here;
my_global_variable_1 = (value you want returned from this function)
return false;
}
functionMM_swapImage('cart','','cart-rollover.png',1) {
...do my processing here;
my_global_variable_2 = (value you want returned from this function)
return false;
}
对于锚标记,你可以做同样的事情......
<a href="javascript:return false;"
onmouseout="MM_swapImgRestore()"
onmouseover="MM_swapImage('cart','','cart-rollover.png',1)">
<img onclick="document.getElementById('addedcartbg').style.display='block'"
src="cart.png" width="200" height="80" id="cart" />
</a>
此外,我会将onclick事件添加到锚点而不是图像,即使如此 HTML5允许所有标签上的javascript处理程序。
<a href="javascript:return false;"
onclick="document.getElementById('addedcartbg').style.display='block'"
onmouseout="MM_swapImgRestore()"
onmouseover="MM_swapImage('cart','','cart-rollover.png',1)">
<img src="cart.png" width="200" height="80" id="cart" />
</a>
以下是我在jsfiddle
为您提供的示例