为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
Why isn't window.onresize working? (javascript/jquery)
我试图让这个网站在大屏幕上显示一个选项卡框,但在小屏幕上只是一个正常的布局。这是我的:
function adapt() {
if(document.documentElement.clientWidth > 800) {
$(document).ready(function() {
$(".box").hide();
$(".box:first").show();
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active");
$(this).addClass("active");
$(".box").hide();
var activeTab = $(this).attr("rel");
$("#"+activeTab).show();
});
});
}else{
$(document).ready(function () {
$('.box').show();
});
};}
window.onload = adapt();
window.onresize = adapt();
onload事件处理程序可以工作,因此只有在页面加载在较大屏幕上时,tab box jquery函数才能工作,并且在较小屏幕上加载时,它会显示所有内容。我添加了onresize事件,这样当浏览器窗口缩小时,它也会发生变化,但它不起作用。如果我在大屏幕上加载,然后缩小它,显示的只是第一个选项卡中的内容,如果我在小屏幕上加载并将窗口放大,则显示所有内容,选项卡按钮不起作用。我是不是误解了window.resize的工作原理?
我猜测,也许事件在第一次调整大小时只触发一次,如果差异不足以让我的另一个条件接管,那么它就不会发生。如果是这样的话,有没有一种方法可以让它不断检查屏幕大小,比如CSS媒体查询?
别忘了,如果项目中的其他代码也使用window.onresize
或window.onload
,您的代码将被覆盖
使用addEventListener
函数是一种更好的做法
window.addEventListener('resize', adapt);
您需要调用引用,而不是执行函数
window.onload = adapt;
window.onresize = adapt;
因为当你做时
window.onload = adapt();
window.onresize = adapt();
您执行adapt(),由于它不返回任何内容,因此您对这些事件
您可以尝试使用jquery:
$(document).ready(function() {
adapt(); // onload
$(window).resize(adapt()); // resize
});
相关文章:
- 不正确的工作jquery插件bxslider与插件elevatezoom
- 更改图像src-dons't工作jquery/js
- event.prventDefault()不工作(jQuery实时)
- delay()不会'第二次工作jquery
- 如何工作 jQuery 就绪
- 几天后,昨天停止工作jQuery
- .click() 不再工作 jquery.
- 如何使工作jquery"“滑动”;在iPad上滚动
- 为什么不是't这个选择器正在工作(Jquery和Asp.net)
- Flexslider无法在html网站中工作(jQuery无法加载?)
- 点击,点击不工作?jquery
- 按钮在“加”和“减”之间切换,需要“点击”;只能在fa +上工作.jQuery
- 突出显示搜索列表不工作(jquery问题)
- 页眉内的Div /靠近页面顶部/在2次点击事件后不显示,而它的's页脚双胞胎工作- jquery
- 为什么css后台jQuery代码不工作jQuery设置多个css值
- .stop()不是't使用我的悬停,使快速移动工作-jQuery
- 自定义验证方法不工作- jQuery验证插件
- 数据表columnDefs不工作:jquery / javascript
- 工作jQuery代码赢得'不要在电话间隙跑步
- 我的Javascript代码不工作- Jquery选择器问题