Php 按浏览器上的“后退”按钮后保留div状态
场景-我正在开发一个基于laravel框架的网站,用户可以将产品添加到购物车,当他们将产品添加到购物车时,我将该产品的div的不透明度设置为“0.3”(稍微不太可见),这样用户就可以知道哪些产品已添加到购物车,而无需进入购物车页面进行检查。此外,我还使用ajax lazyload,当用户向下滚动窗口时,它会得到6个产品。此外,当用户单击产品时,我会将他们重定向到产品页面,在那里他们可以看到产品的详细信息(如电子商务) 现在的问题是,当用户将一些产品添加到购物车中,然后打开一个产品以检查详细信息,然后单击浏览器返回按钮返回到产品列表页面时,该页面上的选定项目将不再被选中(这意味着尽管该产品已添加到购物车中,但不透明度设置为默认值)。 请考虑我使用LaZyLoad在窗口滚动中提供越来越多的产品。Php 按浏览器上的“后退”按钮后保留div状态,php,jquery,ajax,laravel,Php,Jquery,Ajax,Laravel,场景-我正在开发一个基于laravel框架的网站,用户可以将产品添加到购物车,当他们将产品添加到购物车时,我将该产品的div的不透明度设置为“0.3”(稍微不太可见),这样用户就可以知道哪些产品已添加到购物车,而无需进入购物车页面进行检查。此外,我还使用ajax lazyload,当用户向下滚动窗口时,它会得到6个产品。此外,当用户单击产品时,我会将他们重定向到产品页面,在那里他们可以看到产品的详细信息(如电子商务) 现在的问题是,当用户将一些产品添加到购物车中,然后打开一个产品以检查详细信息,
我尝试过的东西-我有一个存储所有购物车产品的会话。我将代码添加到我的产品列表页面,若产品被添加到购物车,则将不透明度设置为0.3。但要获得此结果,用户必须在返回产品列表页面时单击“刷新”按钮。解决方案:我创建了SetInterval Ajax函数以获取会话中的当前产品,并使用该函数更改产品分区的不透明度。因此,尽管我有一个懒虫负载,但我可以根据需要设置产品的不透明度
jQuery(document).ready(function()
{
var refreshId = setInterval( function()
{
$.ajax({
url: '/products/state',
type: "POST",
success: function(data)
{
if(data == 0)
{
}
else
{
$.each(data, function(key, value)
{
$('#product_box_'+value).attr('style','opacity: 0.3');
});
}
}
});
}, 500);
});
解决方案:我创建了SetInterval Ajax函数来获取会话中的当前产品,并使用它来更改产品分区的不透明度。因此,尽管现在我有一个懒散的负载,但我可以根据需要设置产品的不透明度
jQuery(document).ready(function()
{
var refreshId = setInterval( function()
{
$.ajax({
url: '/products/state',
type: "POST",
success: function(data)
{
if(data == 0)
{
}
else
{
$.each(data, function(key, value)
{
$('#product_box_'+value).attr('style','opacity: 0.3');
});
}
}
});
}, 500);
});
“但要获得此结果,用户必须在返回产品列表页面时单击“刷新”按钮。”为什么?如果产品处于会话中(我会避免,也许cookie是一种更好的方法),您应该能够在页面逻辑中将所选产品标记为褪色?感谢您的回复,但我不想使用cookie,因为它有许多我无法控制的东西,例如,如果用户阻止cookie或删除。无论如何,我找到了解决问题的办法。解决方案:我创建了SetInterval Ajax函数来获取会话中的当前产品,并使用它来更改产品分区的不透明度。因此,虽然现在我有一个懒散的负载,但我可以根据需要设置产品的不透明度。“但要获得此结果,用户必须在返回到产品列表页面时单击刷新按钮。”为什么?如果产品处于会话中(我会避免,也许cookie是一种更好的方法),您应该能够在页面逻辑中将所选产品标记为褪色?感谢您的回复,但我不想使用cookie,因为它有许多我无法控制的东西,例如,如果用户阻止cookie或删除。无论如何,我找到了解决问题的办法。解决方案:我创建了SetInterval Ajax函数来获取会话中的当前产品,并使用它来更改产品分区的不透明度。因此,虽然现在我有一个懒散的负载,但我可以根据需要设置产品的不透明度。“但要获得此结果,用户必须在返回到产品列表页面时单击刷新按钮。”为什么?如果产品处于会话中(我会避免,也许cookie是一种更好的方法),您应该能够在页面逻辑中将所选产品标记为褪色?感谢您的回复,但我不想使用cookie,因为它有许多我无法控制的东西,例如,如果用户阻止cookie或删除。无论如何,我找到了解决问题的办法。解决方案:我创建了SetInterval Ajax函数来获取会话中的当前产品,并使用它来更改产品分区的不透明度。因此,尽管现在我有一个懒散的负载,但我可以根据需要设置产品的不透明度。