javascript - 带箭头切换的多个 div 切换

标签 javascript jquery html css

您好,这是一个二合一的问题。我有以下 fiddle :

Fiddle

我正在努力做到这一点,当菜单切换打开时,箭头会转到向下的位置,然后当菜单关闭时,箭头会返回到向上的位置。我也想要它,这样当另一个“点击我”被点击时,如果另一个打开它会关闭前一个。 Accordion 风格的菜单更容易,但它有多个打开和关闭的 div。想法?

 $(document).ready(function () {
     // Toggles 1st Hidden Desktop Div
     $(".dtc-s").click(function () {
         $(".dtc-h").slideToggle(500);
         $(".dtc-h").find('span').css('transform', 'rotate(90deg)');
     });
     // Toggles 2nd Hidden Desktop Div
     $(".dtc-two-s").click(function () {
         $(".dtc-two-h").slideToggle(500);
         $(".dtc-two-h").find('span').css('transform', 'rotate(90deg)');
     });
     // Toggles 3rd Hidden Desktop Div
     $(".dtc-three-s").click(function () {
         $(".dtc-three-h").slideToggle(500);
         $(".dtc-three-h").find('span').css('transform', 'rotate(90deg)');
     });
     // #1
     if ($('.dtc-one').is(':visible')) $(this).next().slideDown();
     $(this).find('span').css('transform', 'rotate(0deg)');
     // #2
     if ($('.dtc-two').is(':visible')) $(this).next().slideDown();
     $(this).find('span').css('transform', 'rotate(0deg)');
     // #3
     if ($('.dtc-three').is(':visible')) $(this).next().slideDown();
     $(this).find('span').css('transform', 'rotate(0deg)'); {}
 });

最佳答案

“我也希望这样当另一个“Click Me”被点击时如果另一个打开它关闭前一个“

对于这部分,您可以像这样在点击时隐藏其他 2 个 div

$(".dtc-s").click(function () {
     $(".dtc-h").slideToggle(500);
     $(".dtc-two-h").hide(500);
     $(".dtc-three-h").hide(500);
});

fiddle here

还在寻找你的第一个问题

编辑:

对于你的第一个问题,改变这一行

$(".dtc-h").find('span').css('transform', 'rotate(90deg)');

对此

$(this).find('span').css('transform', 'rotate(90deg)');

如果您想将箭头返回到正确的位置,您可能需要包含一个标志或向元素添加/删除 .rotation 类

Edit2:“如果有一种方法可以在切换新的“点击我”后将之前打开的切换按钮的箭头返回到其右侧位置?” fiddle here

想法:

     $(".dtc-two-s").find('span').removeClass('transform'); //not clicked => remove rotation
     $(".dtc-three-s").find('span').removeClass('transform'); //not clicked => remove rotation
     $(this).find('span').toggleClass('transform'); //clicked => add rotation

关于javascript - 带箭头切换的多个 div 切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26096066/

相关文章:

javascript - 查找具有特定 css 类的元素

javascript - 如何检测浏览器窗口是否处于事件状态

html - 高亮 anchor 元素

javascript - d3 图有客户的时区而不是数据的

javascript - 使用 Parse.com 查询制作新闻源

javascript - 在JS中, (a===b===c) 和 ( (a===b)&&(a===c)&&(b===c) ) 相同吗?//抱歉我的无知

javascript - 查看 [对象 HTMLInputElement] - JavaScript

javascript - 如何使用 Vue.js 显示和隐藏 Bootstrap 微调器?

包含名称的 jQuery float 框

php - $.ajax 不会删除带有复选框的多个表行