使用滚动和屏幕大小的嵌套 JQuery if 语句
Nested JQuery if statements using scroll and screen size
尝试在滚动时更改导航栏的大小。唯一的区别是我需要两组尺寸,具体取决于屏幕尺寸。收缩类工作保证只是尝试调整功能以实现屏幕尺寸。
编辑:澄清一下,我想在有人向下滚动页面时调整导航栏的高度。还需要检查屏幕尺寸是否比 768px <或>,因为我需要两组尺寸。希望较大的集合从 250px 变为 150px,滚动时更改为 150px。在较小的屏幕上,我希望大小在 150px 和 70px 之间切换。或>
$(window).scroll(function() {
if ($(window).width() > 768) {
if ($(document).scrollTop() > 50) {
$('nav').addClass('shrink');
$(".navbar").css({
'height': '150px',
});
} else {
$('nav').removeClass('shrink');
$(".navbar").css({
'height': '250px',
});
else if ($(window).width() < 768) {
if ($(document).scrollTop() > 50) {
$('nav').addClass('shrink');
$(".navbar").css({
'height': '70px',
});
}
} else {
$('nav').removeClass('shrink');
$(".navbar").css({
'height': '150px',
});
编辑2:累了这样的东西,没有运气
$(document).ready(function() {
$(window).scroll(function() {
if ($(document).scrollTop() > 50) {
// check the screen size
if ($(window).width() > 768) {
$('nav').addClass('shrink');
$(".nav-bar").css("height", "150px");
} else {
$('nav').addClass('shrink');
$(".nav-bar").css("height", "80px");
}
} else {
// back to normal when there is less scrolling
if ($(window).width() < 768) {
$('nav').removeClass('shrink');
$(".nav-bar").css("height", "250px");
} else {
$('nav').removeClass('shrink');
$(".nav-bar").css("height", "100px");
}
});
});
编辑3:我需要这样的东西...如何使其语法正确?
$(window).scroll(function() {
if ($(window).width() > 768) {
if ($(document).scrollTop() > 50) {
$('nav').addClass('shrink');
$(".navbar").css({
'height':'150px',
});
} else {
$('nav').removeClass('shrink');
$(".navbar").css({
'height':'250px',
});
} else {
if ($(document).scrollTop() > 50) {
$('nav').addClass('shrink');
$(".navbar").css({
'height':'120px',
});
} else {
$('nav').removeClass('shrink');
$(".navbar").css({
'height':'140px',
}
});
}
});
});
根据我从你的问题中理解的内容,你可以这样实现它:
$(window).scroll(function() {
if ($(window).width() > 768) {
if ($(document).scrollTop() > 50) {
$('nav').addClass('shrink');
$(".navbar").css({
'height':'150px',
});
} else {
$('nav').removeClass('shrink');
$(".navbar").css({
'height':'250px',
});
}
} else {
if ($(document).scrollTop() > 50) {
$('nav').addClass('shrink');
$(".navbar").css({
'height':'120px',
});
} else {
$('nav').removeClass('shrink');
$(".navbar").css({
'height':'140px',
});
}
}
});
查看有关 CODEPEN 的工作示例
相关文章:
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- jQuery通过嵌套的ajax调用延迟对象
- 获取不带Jquery的嵌套父HREF节点
- 多个嵌套元素上的jQuery.text('')
- 如何在嵌套函数jquery上保持变量的值不变
- Jquery从嵌套函数返回
- jQuery对嵌套在<李>并且<a>元素,同时离开父<ul>打开
- javascript和jQuery的嵌套对象函数中的变量范围
- AngularJS:在使用嵌套的JQuery Sortables时保持Dom和Model同步
- 使用 jQuery 传递的 Rails 嵌套属性
- 嵌套在 .get 请求中的 jQuery 不会执行
- 具有完整时间设置的嵌套 JQuery 动画
- 使用滚动和屏幕大小的嵌套 JQuery if 语句
- 嵌套JQuery循环中的基本操作
- 嵌套JQuery.click()事件
- 带有大量数据的嵌套jquery
- 为什么在函数中嵌套jQuery调用
- Javascript函数工厂嵌套在一个即时函数内嵌套jQuery准备好了
- 嵌套Jquery选择器当前元素在一个循环
- 引用嵌套JQuery中的原始html元素