我正在使用Shopisle主题。我已经在商店页面的左侧显示了产品类别下拉过滤器小部件。但是在较小的屏幕上,它会自动在页面底部移动。如何在较小的屏幕顶部显示它?

最佳答案

可以使用有关窗口大小调整事件的一些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();
});

关于css - 侧边栏位于较小屏幕的底部,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48878962/

10-09 14:05