javascript - 当图片发生变化时,我想为我的菜单添加延迟。这怎么可能?
问题描述
这些是我的 HTML 和 jQuery 代码。当导航及其子项变为悬停时,我想延迟更改菜单的图片。你能指导我吗?
<!-- header --
<nav class="nav">
<ul>
<li>
<a href="" data-index="1">
Home
</a>
</li>
<li>
<a href="" data-index="2">
About Us
</a>
</li>
<li>
<a href="" data-index="3">
Services
</a>
</li>
<li>
<a href="" data-index="4">
Shop
</a>
</li>
<li>
<a href="" data-index="5">
Our Teams
</a>
</li>
<li>
<a href="" data-index="6">
Blog
</a>
</li>
<li>
<a href="" data-index="7">
Contact Us
</a>
</li>
</ul>
</nav>
这些是我的 HTML 和 jQuery 代码。当导航及其子项变为悬停时,我想延迟更改菜单的图片。你能指导我吗?
jQuery
// menu toggler click event
$(".menu-toggler").click(function() {
$(this).toggleClass("menu-toggler-close");
$(".nav").fadeToggle();
});
$(".nav").click(function() {
$(".menu-toggler").removeClass("menu-toggler-close");
$(".nav").fadeOut();
});
$(".nav > ul").click(function(e) {
e.stopPropagation();
});
$(".nav > ul > li > a").hover(
function() {
var dataIndex = $(this).data("index");
$(".nav").css(
"background",
"url('images/nav" + dataIndex + ".webp') center center / cover"
);
},
function() {
$(".nav").css("background", "rgba(0, 0, 0, 0.8)");
},
解决方案
您可以使用setTimeout()
方法来延迟您的代码。
setTimeout(function()
{
$(".nav").css(
"background",
"url('images/nav" + dataIndex + ".webp') center center / cover"
);
}, 1000);
推荐阅读
- php - Apache不执行php文件
- python - 生成生日日期的排序列表并将每个日期附加到文件中的换行符
- java - 如果未设置媒体类型,则 Spring 休息控制器返回 XML
- spring - 我们可以在 Spring JPA 中动态传递 @Query (value="Dyanically read from some properties file")
- powershell - 通过 Powershell Graph API 发送带有附件的邮件
- javascript - HTML逐列而不是逐行添加数据
- javascript - 引导弹出框焦点不起作用
- excel - 用于填充工作表上特定表格的用户表单数据
- node.js - Node.js 中多线程加密的好资源?
- java - Spring / JPA 加入命名空间键