jquery - jQuery延迟功能的问题
问题描述
我正在处理我页面的客户评论部分,其中有一个显示连续名称的 div 和一个在几秒钟后移动到每个名称的箭头。然而,当我输入我的 jQuery 让它等待几秒钟以便客户可以阅读第一个推荐时,它会自动跳跃像素数,尽管我输入了代码来延迟它。这里发生了什么?
HTML:
<div class="cust-name div-box" style="padding: 0;">
<div class="d-flex flex-row justify-content-around">
<p>Zach</p>
<p>Zach</p>
<p>Zach</p>
<p>Zach</p>
</div>
<div class="arrow-up"></div>
</div>
jQuery:
var $upArrow = $('.arrow-up');
// $(document).ready(function() {
// $upArrow.delay(5000).css("left", "50px");
// });
$upArrow.hide();
$upArrow.show(2000).css("left", "25px");
$upArrow.delay(2000);
$upArrow.css("left", "50px");
解决方案
来自文档:
它可以与标准效果队列或自定义队列一起使用。只有队列中的后续事件被延迟;例如,这不会延迟不使用效果队列的 .show() 或 .hide() 的无参数形式。
.css()
不要使用效果队列,所以,更好的方法是使用setTimeout()
;
对于您的代码:
$upArrow.hide().show(2000).css("left", "25px");
setTimeout(function() { $upArrow.css("left", "50px"); }, 2000);
推荐阅读
- laravel - laravel eloquent order by specific value with PostreSQL 数据库
- python - 运行另一个函数后如何关闭 tkinter 对话框?
- html - 从 R 中的 HTML 中刮取一个类似表格的索引
- python - Tkinter 包中的 bg 和字体等功能不起作用
- oracle - 如何比较 2 列并返回 oracle SQL 中的差异
- gstreamer - 如何使用 Deepstream SDK 拍摄视频并仅提取 jpg 中的帧
- spring - 多行 AggregateItemReader 未按 spring-batch-samples 中的建议工作
- machine-learning - BigQuery ML - 一次迭代后线性回归器训练停止
- c# - 如何阻止我的代码最后循环?
- powershell - 我尝试使用 powershell 安装 yarn 包。首先我输入了 npm install -g yarn 然后我输入了 yarn install。但我收到以下错误