jquery 切换上滑
jquery toggle slideUp
(第一个代码)
$(document).ready(function () {
var $answers = $('.result_menu');
$(".result_location").click(function () {
var $ans = $(this).next(".result_menu").stop(true).slideToggle(300);
$answers.not($ans).filter(':visible').stop(true).slideUp();
})
(第二个代码)
.toggle( function() {
$(this).children("img").attr("src","./img/icon_1_expand.png");
}, function() {
$(this).children("img").attr("src","./img/icon_1_collapse.png");
});
我有切换选项,第一组代码工作正常,它切换第二组代码,但我有四个 div,我需要第二个代码将“箭头”切换为基本关闭或滑动点击滑动到其他div上。
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
我有四个 div,当单击“1”时,它会向上滑动并显示信息,然后当单击另一个时,当前的关闭并打开新的。一切正常,但我在每个箭头上都有箭头,当单击箭头切换到不同的图像时。一切正常,除了当一个打开而另一个被点击时切换图像箭头不会改变,当其他被点击时刚刚关闭。
基本上这是一些著名的 UI 框架中的传统 Accordion (or collapse)
组件。
这里的问题是你用错了jQuery.toggle()
函数。 .toggle()
表示"hide or show"jQuery中的一组元素。您无法将两个处理程序传递给 .toggle()
函数。官方文档是here.
在你的情况下,如果你只想改变不同状态下的显示图像,你可以简单地使用.toggleClass
。因此,当单击标题时,您可以删除第一张图片的活动 class 并为另一张图片添加活动 class。然后你可以使用背景图像来改变不同的状态。可能是这样的:
// js file
$(this).children(".img").toggleClass('active');
// css file
.img {
background-image: url(./img/icon_1_expand.png);
}
.img.active {
background-image: url(./img/icon_1_collapse.png);
}
您可能会在此处看到 Codepen example。
(第一个代码)
$(document).ready(function () {
var $answers = $('.result_menu');
$(".result_location").click(function () {
var $ans = $(this).next(".result_menu").stop(true).slideToggle(300);
$answers.not($ans).filter(':visible').stop(true).slideUp();
})
(第二个代码)
.toggle( function() {
$(this).children("img").attr("src","./img/icon_1_expand.png");
}, function() {
$(this).children("img").attr("src","./img/icon_1_collapse.png");
});
我有切换选项,第一组代码工作正常,它切换第二组代码,但我有四个 div,我需要第二个代码将“箭头”切换为基本关闭或滑动点击滑动到其他div上。
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
我有四个 div,当单击“1”时,它会向上滑动并显示信息,然后当单击另一个时,当前的关闭并打开新的。一切正常,但我在每个箭头上都有箭头,当单击箭头切换到不同的图像时。一切正常,除了当一个打开而另一个被点击时切换图像箭头不会改变,当其他被点击时刚刚关闭。
基本上这是一些著名的 UI 框架中的传统 Accordion (or collapse)
组件。
这里的问题是你用错了jQuery.toggle()
函数。 .toggle()
表示"hide or show"jQuery中的一组元素。您无法将两个处理程序传递给 .toggle()
函数。官方文档是here.
在你的情况下,如果你只想改变不同状态下的显示图像,你可以简单地使用.toggleClass
。因此,当单击标题时,您可以删除第一张图片的活动 class 并为另一张图片添加活动 class。然后你可以使用背景图像来改变不同的状态。可能是这样的:
// js file
$(this).children(".img").toggleClass('active');
// css file
.img {
background-image: url(./img/icon_1_expand.png);
}
.img.active {
background-image: url(./img/icon_1_collapse.png);
}
您可能会在此处看到 Codepen example。