我是cs cart 4.2.4的新手,在AJAX主页上加载产品有一些问题,以优化网站速度。我在主页上有5个标签。我想通过Ajax加载它们。 为此,我创建了一个包含所有产品选项卡的自定义页面,在主页上,我添加了一个smarty的自定义块,并通过Ajax调用该页面。 现在页面已在主页上成功加载,但当我点击添加到心愿单按钮时,该事件会运行两次。所以每次当我点击愿望清单按钮时,它会显示一条消息,表明产品已经存在。实际上这个按钮一次运行两次。
我的自定义块代码是
{literal}
<script>
var count = 1;
$(window).unbind('scroll');
$(window).scroll(function(){
if(count==1){
$('.span16.homepg-product-block').html("<img class='loadimg' src='images/common_imgs/loading.gif' style='margin:15px auto 25px 43%'>");
$.ajax({
url:'/ajax-products',
type:'GET,
success: function(data){
$('.span16.homepg-product-block').html(data);
}
});}
count++;
});
</script>
{/literal}
答案 0 :(得分:0)
我们建议您使用内置函数来发出ajax请求。他们最有可能解决这个问题。 E.g。
function fn_change_tab(obj_id, id, option_id)
{
var $ = Tygh.$;
var url = fn_url('products.get_tab_content);
$.ceAjax('request', url, {
result_ids: 'my_block_content',
caching: true,
force_exec: true,
method: 'get'
});
}
您的模板和返回的内容应包含以下格式的div:
<div id="my_block_content">
YOUR CONTENT HERE
<!--my_block_content--></div>
只会重新审核此内容
答案 1 :(得分:0)
我有一种新方法可以缩小页面大小。我只是使用lazy load jquery插件来加载所有图像。