我有一个有产品页面的在线商店。该页面有两个选择框可供选择,并将根据这两个选项过滤结果。
如果我从选择框中选择标准A + B,则页面会过滤产品以显示具有该标准的产品。但是,当此事件发生时,页面会滚动到页面顶部。这在移动设备上尤其令人讨厌,因为选择框不在页面的顶部。
如何在选择时添加javascript事件以滚动到特定div(例如#ProductList)。
或者可能是一个onload事件,它将#ProductList添加到url的末尾。
我找到了根据所选id滚动到div id的示例。但是当我点击选择框时,我需要一些更简单的东西,它总是滚动到相同的div #ProductList。
This Example works for id selected but i need a general one that scrolls to one specific div id
var select = document.getElementById('test');
select.onchange = function(){
var id = this.getElementsByTagName('option')[this.selectedIndex].value,
el = document.getElementById(id),
top = el.offsetTop;
window.scrollTo(0,top);
};
非常感谢任何帮助!!!!
谢
答案 0 :(得分:0)
只需写下
var id = 'YOUR ID HERE',
而不是
var id = this.getElementsByTagName('option')[this.selectedIndex].value,
答案 1 :(得分:0)
我会做的是
$("#test").change(function(){
var val=$(this).val();
var divtext=""+$("#"+val+" p").html();// this is div content
});
答案 2 :(得分:0)
您可以使用URL片段跳转到所需的页面元素。请参阅下面的代码:
var select = document.getElementById('test');
select.onchange = function(){
var id = this.getElementsByTagName('option')[this.selectedIndex].value;
var link = window.location.href;
// If URL already has a fragment, remove it
if (link.indexOf('#') != -1)
link = link.substring(0, link.indexOf('#'));
// Add URL fragment with id of the div you want to jump to
window.location.href = link + '#' + id;
};
答案 3 :(得分:0)
我已经明白了!
感谢不同观点的家伙们!真的帮我偶然发现了答案!
如果需要,您可以删除/存档此帖子。这是第一次在协议上不确定!
再次感谢
谢