Jquery 悬停和焦点应用 类 加上数据延迟迭代
Jquery on hover and focus apply classes plus data-delay iteration
我正在尝试弄清楚如何使列表中的列表项在每个列表项延迟 100 毫秒的情况下淡入淡出。
到目前为止,我已经做到了这一点,它确实应用了 类 对其进行动画处理,并且每个列表项的属性值增加 100 毫秒。但是当我悬停时,所有项目同时 fadeInUp,即使应用了 data-wow-delay 并且我的 wow.js 库没有控制台错误。有任何想法吗?干杯。
<nav id="site-navigation" class="main-navigation" role="navigation" itemscope itemtype="http://schema.org/SiteNavigationElement">
<h1 class="nocontent outline">Hoved navigation</h1>
<button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"><?php esc_html_e( 'Primary Menu', 'crafthouse-agency' ); ?></button>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_id' => 'primary-menu' ) ); ?>
<?php wp_nav_menu( array( 'theme_location' => 'secondary', 'menu_id' => 'secondary-menu' ) ); ?>
<ul class="social-share-section">
<li>
<a href="#" class="social-share">
<svg class="facebook-header">
<use xlink:href="#facebook"></use>
</svg>
<span class="share-text">Del "" <span class="screen-reader-text">på Facebook</span></span>
</a>
</li>
<li>
<a href="#" class="social-share">
<svg class="linkedin-header">
<use xlink:href="#linkedin"></use>
</svg>
<span class="share-text">Del "" <span class="screen-reader-text">på LinkedIn</span></span>
</a>
</li>
</ul>
</nav><!-- #site-navigation -->
@keyframes fadeInUp {
0% {
opacity: 0;
-webkit-transform: translate3d(0, 20%, 0);
transform: translate3d(0, 32%, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
.fadeInUp {
-webkit-animation-name: fadeInUp;
animation-name: fadeInUp;
}
// Dropdown menu animation
$("#primary-menu > li > a").on("hover focus", function(){
var current = 0;
$(".sub-menu .menu-item").each(function() {
$(this).addClass("animated wow fadeInUp");
$(this).attr("data-wow-delay", current+"00ms");
current++;
});
});
$("#primary-menu > li > a").on("hover focus", function(){
$(".sub-menu .menu-item").each(function(i) {
$(this).delay((i++) * 100).fadeTo(1000, 1); })
});
});
我认为您需要在添加延迟数据属性后初始化 wow.js
。你也不需要加animated
class, wow
会在初始化的时候加上:
$("#primary-menu > li > a").on("click focus", function() {
var current = 0;
$(".sub-menu .menu-item").each(function() {
$(this).addClass("wow fadeInUp").attr("data-wow-delay", current + "00ms");
current++;
});
new WOW().init();
});
我正在尝试弄清楚如何使列表中的列表项在每个列表项延迟 100 毫秒的情况下淡入淡出。
到目前为止,我已经做到了这一点,它确实应用了 类 对其进行动画处理,并且每个列表项的属性值增加 100 毫秒。但是当我悬停时,所有项目同时 fadeInUp,即使应用了 data-wow-delay 并且我的 wow.js 库没有控制台错误。有任何想法吗?干杯。
<nav id="site-navigation" class="main-navigation" role="navigation" itemscope itemtype="http://schema.org/SiteNavigationElement">
<h1 class="nocontent outline">Hoved navigation</h1>
<button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"><?php esc_html_e( 'Primary Menu', 'crafthouse-agency' ); ?></button>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_id' => 'primary-menu' ) ); ?>
<?php wp_nav_menu( array( 'theme_location' => 'secondary', 'menu_id' => 'secondary-menu' ) ); ?>
<ul class="social-share-section">
<li>
<a href="#" class="social-share">
<svg class="facebook-header">
<use xlink:href="#facebook"></use>
</svg>
<span class="share-text">Del "" <span class="screen-reader-text">på Facebook</span></span>
</a>
</li>
<li>
<a href="#" class="social-share">
<svg class="linkedin-header">
<use xlink:href="#linkedin"></use>
</svg>
<span class="share-text">Del "" <span class="screen-reader-text">på LinkedIn</span></span>
</a>
</li>
</ul>
</nav><!-- #site-navigation -->
@keyframes fadeInUp {
0% {
opacity: 0;
-webkit-transform: translate3d(0, 20%, 0);
transform: translate3d(0, 32%, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
.fadeInUp {
-webkit-animation-name: fadeInUp;
animation-name: fadeInUp;
}
// Dropdown menu animation
$("#primary-menu > li > a").on("hover focus", function(){
var current = 0;
$(".sub-menu .menu-item").each(function() {
$(this).addClass("animated wow fadeInUp");
$(this).attr("data-wow-delay", current+"00ms");
current++;
});
});
$("#primary-menu > li > a").on("hover focus", function(){
$(".sub-menu .menu-item").each(function(i) {
$(this).delay((i++) * 100).fadeTo(1000, 1); })
});
});
我认为您需要在添加延迟数据属性后初始化 wow.js
。你也不需要加animated
class, wow
会在初始化的时候加上:
$("#primary-menu > li > a").on("click focus", function() {
var current = 0;
$(".sub-menu .menu-item").each(function() {
$(this).addClass("wow fadeInUp").attr("data-wow-delay", current + "00ms");
current++;
});
new WOW().init();
});