案例是;
我有2个网页..
第1页 - 主页
主页包含导航(主页,产品)
产品导航有一个下拉选项 .
列表是:(Product1,Product2)
这两个选项都使用此代码链接到第二页,
<a href="<?php echo $this->url(array('controller'=>'ProductItem',
'action'=>'index')); ?>#folio" class="imglink">Folio Plus</a>
结果:效果很好
第2页 - 产品
产品下拉菜单仍显示在第2页 .
隐藏了Product1和Product2内容,因此只有在“产品”下拉列表中选择产品时,才会显示每个产品 .
问题:当我在产品页面上并从下拉列表中选择另一个产品时,页面内容不会改变,但网址现在指向我选择的产品 .
当product1显示然后我想切换到其他产品说product2时,url地址现在指向product2但是显示的内容仍然是product1 ..
我用这个代码 .
var anc = window.location.href.split('#')[1];
$('#' + anc + '.prod_cont').show();
请问任何解决方案?...提前谢谢
1 回答
请尝试使用
window.location.hash
来读取和修改哈希值 . 它应该更可靠,因为浏览器会为您解析它 .此外,您的选择器选择的是具有值
anc
和类prod_cont
的ID . 它会找到的一个例子是:<div id='someanc' class='prod_cont'/>
. 如果你有多个具有该id的div标签,你可能会遇到麻烦,因为我相信jQuery可能会将其转换为document.getElementById,它只返回一个元素 . 我认为你正在寻找的是这样的结构:<div id='someanc'><div class='prod_cont' style='display: hidden;'></div></div>
或沿着这些线的东西 . 适当的选择器是'#'+anc+' > .prod_cont'
,它应该在id为anc
的元素中获取所有具有类prod_cont
的子元素 .