我尝试制作一个在history.go()
和history.go(-2)
之间切换的后退按钮,具体取决于页面上是否有特定的div#id
(不是按钮的父级) 。使用div#id
生成PHP
,按钮为html/js
。
我花了几个小时试图弄清楚如何做到这一点。
用法是:
电子商务网站:您从类别页面(即烹饪用品)转到特定产品页面(即Pan#1)。将产品添加到购物车后,页面刷新(没有ajax)。 div显示为"added to cart"
。如果单击history.go(-1)
后退,则必须单击后退按钮x2才能返回到类别页面。
因此当"添加到购物车" div出现,我想将history.go()更改为history.go(-2),因此只需点击按钮x1即可返回类别页面。
有什么建议吗?感谢。
<html>
<a class = “cat1” href="#" onclick="history.go(-1)">Go Back</a>
<a class = “cat2” href="javascript:history.back(-2)”>Go Back2</a>
</html>
<script>
$(document).ready(function(){
if($(“.added-message").length > 0) {
$(“.cat2”).show();
////also tried this $divStyle='style="display:none;"';
}
});
</script>
还试过这样的东西(对不起,现在都乱了......)
<script>
function CheckExists() {
var cat1 = document.getElementById(‘cat1’);
var cat2 = document.getElementById(‘cat2’);
if (document.querySelector(‘.added-message’) !== null) {
if (cat2.style.display !== "none") {
cat2.style.display = “none”;
} else {
cat2.style.display = “none”;
}
}
}
</script>
答案 0 :(得分:0)
将此内容添加到您的脚本中:
$(document).ready(function(){
function myfunc(elem){
var $elem = $(elem);
var $window = $(window);
var docViewTop = $window.scrollTop();
var docViewBottom = docViewTop + $window.height();
var elemTop = $elem.offset().top;
var elemBottom = elemTop + $elem.height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
if(myfunc("div.added-message")==true){
$(".cat2").attr("href", "javascript:history.go(-2)")
}
});
希望这会有所帮助