我刚为一个在wordpress上运行的网站构建了一个滑动顶部面板 . 因此,我使用钩点将 Headers 添加到 Headers 中 . 我使用一个非常简单的custom.js(大多数是从不同来源一起复制的),这样第一次点击时栏会“向下滑动”(=出现),第二次点击时“向上滑动”(=消失) . 由于某些原因,此动画运行不顺畅 . 虽然它有点太快(我可以通过增加速度持续时间轻松改变),动画也似乎是滞后的 . 我打赌,我监督一些重要的事情,因为我不习惯jQuery / Javascript . 是否存在一些代码片段以使转换更顺畅?
Java脚本标记:
// Slidingbar initialization
var tgslidingbar_state = 0;
// Clicking
jQuery( '.tg-toggle-wrapper' ).click( function(){
var $tgslidingbar = jQuery ( this ).parents( '#tgslidingbar-area').children( '#tgslidingbar' );
//Expand
if ( tgslidingbar_state === 0 ) {
$tgslidingbar.slideDown( 340, 'easeOutQuad' );
jQuery( '.tg-toggle-wrapper' ).addClass( 'open' );
tgslidingbar_state = 1;
//Collapse
} else if( tgslidingbar_state == 1 ) {
$tgslidingbar.slideUp(340,'easeOutQuad');
jQuery( '.tg-toggle-wrapper' ).removeClass( 'open' );
tgslidingbar_state = 0;
}
});
HTML的标记:
<div id="tgslidingbar-area" class="tgslidingbar-area">
<div style="display: none;" id="tgslidingbar">
<div class="containertop">
Slidingbar Content Here!
</div></div>
<div class="tg-toggle-wrapper"><a class="tg-toggle" href="#"></a>
</div></div>
使用此标记,滑动条可以向下和向上滑动 . 例如,我已经在滑动条中添加了谷歌 Map ,当时我注意到条形图是滞后的 . 这可能是导致动画滞后的原因,导致谷歌 Map 只在栏打开时加载吗?我还在复制的片段动画中实现了“easeOutQuad”属性,并在网上搜索了这个属性 . 它似乎是一个流行的动画jQuery库 . 到目前为止,我还没有将这个库包含在我的网站中,也许这就是原因?
亲切的问候来自德国!
2 回答
我在代码上应用了一些修改 .
我使用查询的动画功能 .
#tgslidingbar的初始显示属性已更改为“阻止”
在容器顶级类上添加了'padding'并删除了tgslidingbar类中的'padding' .
https://jsfiddle.net/nigayo/cn49ubr6/
[HTML]
[JS]
我建议一些不同的选择 .
first,
相反,使用jquery的animate函数 . http://api.jquery.com/animate/
示例代码:https://jsfiddle.net/nigayo/jo5vd2ob/
second.
你可以使用css过渡 . http://jsfiddle.net/nigayo/qy1ummx6/1/
[CSS]
[JS]