簡體   English   中英

使用Javascript刷新每次點擊的錨標簽

[英]Refresh Anchor Tag on Each Click with Javascript

我有一個電子商務網站,每當有人單擊“添加到托盤”(我們稱其為托盤而不是購物車)時,頁面都會刷新到同一頁面並將其自身定位到該產品的div(在此處進行嘗試: http://www.boostliquidation.com/ )。 使用以下Javascript會發生這種情況:

 $('input.returnLink').each(function(){
     $(this).attr('value',window.location.href + $(this).attr('data-skuhash'));
     }); 

並將此錨定標簽放置在“添加到購物車”按鈕之前的隱藏輸入標簽中:

<input type="hidden" value="back" name="return_to" class='returnLink' data-skuhash='#{%     for variant in product.variants %}{{variant.sku}}{% endfor %}' /> 

({%%}中的代碼是Shopify網站使用的稱為Liquid的語言)。

效果很好...但僅適用於第一個產品。 它將在地址欄中添加SKU編號,並在其前面加上#號。 如果用戶添加了另一個產品,它會刷新到頁面頂部,因為它將SKU編號修改為地址欄中已經顯示的現有SKU編號。

如何在首次使用現有SKU替換現有SKU之后添加產品,以使它們刷新回到產品而不是頁面頂部?

我可能會嘗試使用string.replace()

var str = window.location.href;
var hash = $(this).attr('data-skuhash');

if (str.match('#\w\w+'){
   str.replace('#\w\w+', hash);
} else {
    str = str + hash;
}

在網址末尾查找任何哈希,如果找到則替換該哈希,如果找不到則添加一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM