我创建了自己的添加到购物车
按钮,当用户单击该按钮时,它会弹出一条警报,提示该产品已添加到购物车。我有三类产品,并为每一类创建了一个单击事件处理程序(弹出警报)。我看到的问题是,当用户将产品添加到购物车时,警报弹出的速度非常慢。通常需要 10-20 秒。我是不是做错了什么?
<div class="productinfo">
<div class="producttitle"><?php echo $specialty1->Specialty1 ?></div>
<div class="buybutton">
<?php $producturl = ProductURL::find(array('Product'=>$specialty1->Specialty1));
if($producturl[0]->URL!=NULL){
echo '<span id="add"><a id="add-link" href="' . $producturl[0]->URL . '" data-role="button" data-inline="true" data-mini="true" data-theme="d" target="vspage" onclick="' . "_gaq.push(['_trackEvent', 'Buy Now', 'Specialty', '" . $specialty1->Specialty1 . "'" . "]); _gaq.push(['_link', '" . $producturl[0]->URL . "']);" . '">';
if($producturl[0]->Button!=NULL){
echo $producturl[0]->Button . '</a></span>';
}else {
echo 'Add To Cart</a>';
}
}
if($producturl[0]->URL2!=NULL){
echo '<span id="add"><a id="add2-link" href="' . $producturl[0]->URL2 . '" data-role="button" data-inline="true" data-mini="true" data-theme="d" target="vspage" onclick="' . "_gaq.push(['_trackEvent', 'Buy Now', 'Specialty', '" . $specialty1->Specialty1 . "'" . "]); _gaq.push(['_link', '" . $producturl[0]->URL2 . "']);" . '">';
if($producturl[0]->Button2!=NULL){
echo $producturl[0]->Button2 . '</a></span>';
}else {
echo 'Add To Cart</a>';
}
}
if($producturl[0]->URL3!=NULL){
echo '<span id="add"><a id="add3-link" href="' . $producturl[0]->URL3 . '" data-role="button" data-inline="true" data-mini="true" data-theme="d" target="vspage" onclick="' . "_gaq.push(['_trackEvent', 'Buy Now', 'Specialty', '" . $specialty1->Specialty1 . "'" . "]); _gaq.push(['_link', '" . $producturl[0]->URL3 . "']);" . '">';
if($producturl[0]->Button3!=NULL){
echo $producturl[0]->Button3 . '</a></span>';
}else {
echo 'Add To Cart</a>';
}
}
?></div>
<script type="text/javascript">
$(document).ready(function(){
$('a#add-link').click(function(event) {
event.preventDefault();
var url = $(this).attr("href");
$.post(url, function () {
alert("You added this product to your cart.");
});
});
$('a#add2-link').click(function(event) {
event.preventDefault();
var url = $(this).attr("href");
$.post(url, function () {
alert("You added this product to your cart.");
});
});
$('a#add3-link').click(function(event) {
event.preventDefault();
var url = $(this).attr("href");
$.post(url, function () {
alert("You added this product to your cart.");
});
});
});
</script>
最佳答案
发生这种情况的原因是您正在向某个 URL 发送请求,该请求需要一段时间才能响应。您需要优化所请求的端点,以便更快地显示警报 - 即使如此,您仍然受到用户连接速度的限制。
关于javascript - 如何加快警报速度,Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29855578/