我正在使用Shopisle主题。我在商店页面的左侧显示了产品类别下拉过滤器小部件。但是在较小的屏幕上,它会自动在页面底部移动。如何在较小的屏幕上显示在顶部?
答案 0 :(得分:1)
可以在窗口调整大小事件上使用一些javascript来完成。侧边栏实际上位于HTML标记的右侧(或者更具体地说,它位于下方)。它出现在左侧,因为css的主要部分向右浮动。
在调整大小时,css删除了宽度为767px的浮动。所以侧栏落到了底部。
使用jQuery的insertBefore(http://api.jquery.com/insertbefore/)以及insertAfter,可以切换html标记。
注意:此示例移动整个侧边栏。如果有必要,可以稍微修改一下以移动一个小部件。这表明了一般过程。
**顺便说一下,这个脚本应放在子主题的.js文件中。如果.js文件尚未到位,请尝试将其添加到<script>...</script>
标记内的页脚模板文件(最好是子主题)中。
var sidebar_at_top = false;
function formatdisplay(){
if(jQuery( window ).width() < 768){
if(!sidebar_at_top){
console.log('moving sidebar to before main area');
jQuery('.sidebar-shop').insertBefore(jQuery('.shop-with-sidebar'));
sidebar_at_top = true;
}
}else{
if(sidebar_at_top){
console.log('moving sidebar to after main area');
jQuery('.sidebar-shop').insertAfter(jQuery('.shop-with-sidebar'));
sidebar_at_top = false;
}
}
}
jQuery( window ).resize(function() {
formatdisplay();
});
jQuery( document ).ready(function() {
formatdisplay();
});