这里有一个奇怪的,
我使用简单的CMS,基本上我有一个购物车。默认情况下,它会被隐藏,直到有人点击"查看我的购物车"选项和购物车使用jQuery切换滑动。
这实际上工作正常。
购物车更新时会出现问题。作为表单结构,您必须进行编辑(以qty或'检查'项目进行删除),然后点击"更新购物车"。页面刷新,因此购物车再次隐藏。
无论如何都要这样做,以便在点击此链接(特别是)时,页面会刷新,但购物车默认显示?
继承我的代码,我想我可以附上一个班级'也许这个链接,但我不确定。
<script type="text/javascript" charset="utf-8">
(function($) {
$('#show_basket').click(function() {
$('#basket_box').toggle('slow');
});
$('#lclose_basket').click(function() {
$('#basket_box').hide('slow');
});
$('#continue_shop').click(function() {
$('#basket_box').hide('slow');
});
$('#continue_shop2').click(function() {
$('#basket_box').hide('slow');
});
}(jQuery));
N.B:我有2个链接,因为我有一个移动和桌面版本的篮子。
ALSO:
当我点击它时,如何让它关闭?有没有办法做到这一点?目前,我需要点击&#34;继续购物&#34;链接以关闭篮子。
答案 0 :(得分:0)
要在默认情况下显示购物车,刷新后您可以执行以下操作:
$(document).ready(function(){
$('#basket_box').show('slow');
}
如果您不希望在每次网站刷新时触发此操作,您可以例如在链接中添加GET参数并检查此参数:
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
var param = getParameterByName('parameter-name');
if(param){
//do stuff
}
注意:可以找到通过名称检索参数的功能here
第二种可能性是,显示链接上的购物车点击并通过AJAX刷新购物车内容。
$('#refresh_link').click(function() {
$('#basket_box').show('slow');
//do ajaxcall -> write callback-data to the cart
$.ajax({
url: "pathto/cart.php", /path to your script
type: "POST",
data: 'id='+id, // e.g. the ID of the cart or the customer
success: function (data) {
//data contains the data you get from "cart.php"
//you can s.th. like:
$('div').html(data); // this write the data into a specified div.
}
});
});
有关jQuery和Ajax的更多信息,请尝试阅读手册(http://api.jquery.com/jquery.ajax/)或查看此处:http://www.php4every1.com/tutorials/jquery-ajax-tutorial/
在jQuery中,你可以使用最多的CSS选择器。因此,当您点击时,您可以触发您在问题中显示的点击事件在div上显示了购物车:
$('div.cart').click(function(){
$('#basket_box').hide('slow');
});
我希望我做得对,这对你有帮助。
问候