停止链接返回顶部

时间:2012-11-16 00:31:58

标签: hyperlink

我有一张显示“添加到购物车”的图片,当点击它时,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>

2 个答案:

答案 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

为您提供的示例

http://jsfiddle.net/Ephiphany/bRF7t/