Javascript 带参数的jQuery淡入淡出函数
我试图使这个jQuery函数允许使用参数,或者以某种方式使它能够处理列表中的每个元素 我有一个函数,它对列表中的第一个元素执行我想要的操作,但对其他元素不起作用。我想知道是否有一种方法可以将参数传递到jQuery函数中,这样我就可以创建函数,这样我就可以让它与多个元素一起工作Javascript 带参数的jQuery淡入淡出函数,javascript,jquery,html,css,parameter-passing,Javascript,Jquery,Html,Css,Parameter Passing,我试图使这个jQuery函数允许使用参数,或者以某种方式使它能够处理列表中的每个元素 我有一个函数,它对列表中的第一个元素执行我想要的操作,但对其他元素不起作用。我想知道是否有一种方法可以将参数传递到jQuery函数中,这样我就可以创建函数,这样我就可以让它与多个元素一起工作 $(文档).ready(函数(){ $(“#f2”)。单击(函数(){ $(“#f2”).fadeOut() $(“#f1”).delay(375).fadeIn() }); $(“#f1”)。单击(函数(){ $(“#
$(文档).ready(函数(){
$(“#f2”)。单击(函数(){
$(“#f2”).fadeOut()
$(“#f1”).delay(375).fadeIn()
});
$(“#f1”)。单击(函数(){
$(“#f1”).fadeOut();
$(“#f2”).delay(375.fadeIn();
});
});代码>
-
肯塔基大坝防洪闸门打开
今天
乱数假文。。。
-
另一项
今天
乱数假文。。。
-
另一项
今天
乱数假文。。。
创建一个函数并包装代码,以将选择器和延迟作为参数传递
function setAnimation(firstSelector, secondSelector, delayNum) {
$(secondSelector).click(function() {
$(secondSelector).fadeOut()
$(firstSelector).delay(delayNum).fadeIn()
});
$(firstSelector).click(function() {
$(firstSelector).fadeOut();
$(secondSelector).delay(delayNum).fadeIn();
});
}
在脚本上,只需按如下所示调用多个函数:
$(document).ready(function() {
setAnimation("#f1", "#f2", 375);
});
试试这个它很好用
这是您的更新代码切换到类
如果始终针对相同的选择器,则不需要传递选择器
您还需要向函数添加一些prev
和next
逻辑,否则单击的任何f2
或f1
元素都会触发页面上的所有逻辑
$(文档).ready(函数(){
$(“.f2”)。单击(函数(){
$(this.fadeOut();
$(this).next('.f1').delay(375.fadeIn();
});
$(“.f1”)。单击(函数(){
$(this.fadeOut();
$(this.prev('.f2').delay(375.fadeIn();
});
});代码>
-
肯塔基大坝防洪闸门打开
今天
乱数假文。。。
-
另一项
今天
乱数假文。。。
-
另一项
今天
乱数假文。。。
您使用的是ID,而不是类。这总是会引起问题。将f1
和f2
更改为类。不应该有多个id相同的元素。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li>
<div class="direction-r">
<div class="flag-wrapper">
<span class="flag">Kentucky Dam Flood Gates Open</span>
<span class="time-wrapper">
<span class="time">Present Day</span>
</span>
</div>
<div class="f2">
<img src="images/Top-KY-Dam.jpg" />
</div>
<div class="desc f1">
Lorem Ipsum...
</div>
</div>
</li>
<li>
<div class="direction-r">
<div class="flag-wrapper">
<span class="flag">Another Item</span>
<span class="time-wrapper">
<span class="time">Present Day</span>
</span>
</div>
<div class="f2">
<img src="images/Top-KY-Dam.jpg" />
</div>
<div class="desc f1">
Lorem Ipsum...
</div>
</div>
</li>
<li>
<div class="direction-r">
<div class="flag-wrapper">
<span class="flag">Another Item</span>
<span class="time-wrapper">
<span class="time">Present Day</span>
</span>
</div>
<div class="f2">
<img src="images/Top-KY-Dam.jpg" />
</div>
<div class="desc f1">
Lorem Ipsum...
</div>
</div>
</li>
</ul>
$(document).ready(function() {
$(".f2").on('click', function() {
$(".f2").fadeOut();
$(".f1").delay(375).fadeIn();
});
$(".f1").on('click', function() {
$(".f1").fadeOut();
$(".f2").delay(375).fadeIn();
})
})