jQuery 切换带有方向和动画的类
jQuery toggleClass with direction and animation
我按照教程在滚动后向我的网站添加一个固定标题,并且网站的徽标出现在固定部分。
有效,代码:
var nav_container = $(".nav-container");
var nav = $("nav");
var logo = $("logo");
nav_container.waypoint({
handler: function(event, direction) {
nav.toggleClass('sticky', direction=='down');
logo.toggleClass('logo_sticky', direction=='down');
if (direction == 'down')
nav_container.css({ 'height' : nav.outerHeight() });
else
nav_container.css({ 'height' : 'auto' });
});
});
如何在徽标中添加淡入延迟,使其不会突然出现?
我尝试过的版本:
logo.toggleClass('logo_sticky', direction=='down').delay(500).fadeIn('slow');
logo.delay(500).toggleClass('logo_sticky', direction=='down').fadeIn('slow');
(在切换类之前)
logo.delay(500).fadeIn('slow')
logo.toggleClass('logo_sticky', direction=='down');
(在切换类之后)
logo.toggleClass('logo_sticky', direction=='down');
logo.delay(500).fadeIn('slow')
老实说,我已经尝试了我想到的每一个组合,哈哈我正在尝试的新版本也不起作用:
$(function() {
var nav_container = $(".nav-container");
var nav = $("nav");
var logo = $("logo");
$.waypoints.settings.scrollThrottle = 30;
nav_container.waypoint({
handler: function(event, direction) {
if (direction == 'down'){
nav_container.css({ 'height':nav.outerHeight() });
nav.addClass('sticky', direction=='down').stop();
logo.css({"visibility":"visible"}).fadeIn("slow");
}
else{
nav_container.css({ 'height':'auto' });
nav.removeClass('sticky', direction=='down').stop();
logo.css({"visibility":"hidden"});
}
},
offset: function() {
return (0);
}
});
});
但是如果我不是淡入淡出放置切换,它会动画更改,但方向不好(img 出现,然后切换消失)谢谢
http://api.jquery.com/delay/
http://api.jquery.com/fadein/
使用$(yourLogoSelector).delay(delayAmount).fadeIn();
这是它工作的证据 http://jsfiddle.net/6d8cf/
似乎
fadeIn 仅在您没有 css 时才有效 属性可见性:隐藏,但显示:无...
您可以执行element.hide();
,然后element.fadeIn()
.由于hide()改变了页面的布局,因为它消除了其中的项目,这是我遇到的解决方案:
$(function() {
// Do our DOM lookups beforehand
var nav_container = $(".nav-container");
var nav = $("nav");
var logo = $("logo");
$.waypoints.settings.scrollThrottle = 30;
nav_container.waypoint({
handler: function(event, direction) {
if (direction == 'down'){
nav_container.css({ 'height':nav.outerHeight() });
nav.addClass('sticky', direction=='down').stop();
logo.css('opacity',0).animate({opacity:1}, 1000);
}
else{
nav_container.css({ 'height':'auto' });
nav.removeClass('sticky', direction=='down').stop();
logo.css('opacity',1).animate({opacity:0}, 1000);
}
},
offset: function() {
return (0);
}
});
});
相关文章:
- 方向感知三维立方体动画
- “L”方向的脚本动画
- 使用 JavaScript 触发 CSS 动画淡入和淡出 - 仅适用于一个方向
- 根据键盘 threejs 更改对象旋转动画方向
- 将方向作为变量传递给 jquery 动画函数
- JavaScript动画,IMG在屏幕上移动,每次触摸屏幕限制时,他们都会转向方向
- 动画方向箭头“围绕我”样式使用ngCordova
- 在动画过程中更改方向(使用原版JS动画)
- jQuery 切换带有方向和动画的类
- jQuery将问题动画化-动态选择方向
- 禁用phonegap中的方向更改动画
- 如何动画图像&从右到左改变方向
- JQuery图像旋转动画,工作在一个方向,而不是另一个
- 相同的动画在不同的方向上花费的时间更长
- 用动画方向改变图像
- jQuery改变方向的CSS关键帧动画中途
- 如何在jQuery中反转高度动画方向
- 动画在方向上升之前执行
- 如何检测移动Safari全局方向旋转动画
- 谷歌地图API自定义标记动画和方向沿着路径