【发布时间】:2020-01-30 04:27:41
【问题描述】:
目前正在尝试完成 Wordpress 构建,但遇到了一个小问题。
我正在使用以下 Jquery 代码:
jQuery( document ).ready( function ($) {
var mobile = $(window).width();
if ( mobile <= 680 ){
$( ".product_title.entry-title" ).insertBefore( ".woocommerce-product-gallery" );
}
} );
因此,当屏幕小于 680 像素时,“product_title.entry-title”类将插入“woocommerce-product-gallery”类之前。这基本上将标题移动到我的产品页面上的产品库上方。
但是这让我很烦,因为此代码仅在每次刷新页面时才会触发。因此,如果我加载页面并调整浏览器大小,直到我刷新它才会发生任何事情。有什么替代方法可以避免这种情况吗?
【问题讨论】:
-
您可以保留两个标题,一个用于移动设备,另一个用于 600 像素以上的视口。现在使用 css 媒体查询控制标题的显示。无需使用 Jquery。 developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/…
-
媒体查询在这里绝对是正确的解决方案,如上所述。但是,要修复您当前的实现,您需要查看
window.onresizeevent。如果使用这个事件,你肯定也想使用 debouncer。 -
我知道我可以使用 CSS 媒体查询。但这将涉及深入研究我的 Wordpress 主题并弄乱布局。我试图避免接触任何 HTML。
-
Media query 是您的绝佳解决方案。
-
只需在该部分添加自定义类(允许 WP 选项)通过媒体查询使用此类定位该标题,您不需要 JS
标签: javascript jquery html css wordpress