Javascript 如何基于window.width()加载不同的HTML?
如何始终收听Javascript 如何基于window.width()加载不同的HTML?,javascript,jquery,Javascript,Jquery,如何始终收听window.width(),并根据宽度值加载不同的HTML代码?我正在使用window.width()和replaceWith() 它只在我打开页面时起作用,而在调整浏览器窗口大小时不起作用 我的html文件中的代码: var width; $(window).resize(function() { width = $(window).width(); if (width < 768) { $("#the
window.width()
,并根据宽度值加载不同的HTML代码?我正在使用window.width()
和replaceWith()
它只在我打开页面时起作用,而在调整浏览器窗口大小时不起作用
我的html文件中的代码:
var width;
$(window).resize(function() {
width = $(window).width();
if (width < 768) {
$("#the_dropdown").replaceWith("<p>Less than 768</p>");
} else {
$("#the_dropdown").replaceWith("<p> More than 768</p>");
}
});
$(window).trigger('resize');
var宽度;
$(窗口)。调整大小(函数(){
宽度=$(窗口).width();
如果(宽度<768){
$(“#u下拉列表”)。替换为(“小于768”;
}否则{
$(“#u下拉列表”)。替换为(“超过768”;
}
});
$(window.trigger('resize');
另一个问题是,replaceWith()
是否适用于涉及长HTML代码(超过1行)的情况
我已经根据特定窗口的宽度编写了一些HTML代码集,我想将其相应地放在我的
#下拉列表
div中。您的代码不起作用,因为replaceWith()
替换选定的元素。在您的例子中,id为的元素是下拉列表。因此,在下一个触发器上,找不到此元素,也不会写入任何文本
用.html()
替换replaceWith()
您的代码不起作用,因为
replaceWith()
替换选定的元素。在您的例子中,id为的元素是下拉列表。因此,在下一个触发器上,找不到此元素,也不会写入任何文本
用.html()
替换replaceWith()
在CSS中可以使用
@media
查询:正如ceadreak提到的,您应该使用media查询或类似Modernizer的东西来检测和响应。这是根据窗口的宽度更改CSS。我已经知道了。我不会改变我的CSS。我正在根据特定窗口的宽度更改我的HTML。只是给你一个搜索条件。您所要求的是响应性设计。不要检查窗口宽度,而是使用窗口。匹配媒体和任何polyfill来支持旧浏览器(如果需要),可以在CSS中使用@media
查询:正如ceadreak提到的,您应该使用媒体查询或类似Modernizer的方法来检测和响应,即根据窗口的宽度更改CSS。我已经知道了。我不会改变我的CSS。我正在根据特定窗口的宽度更改我的HTML。只是给你一个搜索条件。您要求的是响应式设计。不要检查窗口宽度,而是使用window.matchMedia
和任何polyfill来支持较旧的浏览器(如果需要),因此OP应该只调用“$”(“#u下拉列表”).html(小于768”),所以OP应该只调用“$”(“#u下拉列表”).html(小于768)`