单击更改其他元素源

On Click Change another elements source

本文关键字:元素 其他 单击      更新时间:2023-09-26

这里损坏代码的工作版本 http://jsfiddle.net/Uey6W/8/

在弄清楚如何通过单击函数更改另一个元素的属性时遇到困难

狙击

$('#black').click(function() {
$('#blackbox').slideToggle('slow', function() {});
$('#yellowbox').slideUp();
});

在单击IM上,我希望不仅隐藏其他元素,还希望还原另一个按钮

基本上,当另一个按钮切换到打开状态时,我如何将另一个按钮切换到关闭状态

$("#black").toggle(
    function () {
      var src = $(this).attr("src").replace("ready.png", "pressed.png");
      $(this).attr("src", src);
     },
    function () {
      var src = $(this).attr("src").replace("pressed.png", "ready.png");
      $(this).attr("src", src);
    }
);
$('#black').click(function() {
$('#blackbox').slideToggle('slow', function() {});
$('#yellowbox').slideUp();
});
$("#yellow").toggle(
    function () {
      var src = $(this).attr("src").replace("ready.png", "pressed.png");
      $(this).attr("src", src);
     },
    function () {
      var src = $(this).attr("src").replace("pressed.png", "ready.png");
      $(this).attr("src", src);
    }
);
$('#yellow').click(function() {
$('#yellowbox').slideToggle('slow', function() {});
$('#blackbox').slideUp();
});

从我在 api 参考中看到的内容来看,切换不会将两个函数作为参数。并且您正在将一个空函数传递给 slideToggle (如果这是意图,只需省略空函数作为参数)。看起来你走在正确的思路上,只有几个错误。

编辑:正在查看错误的切换。此处提供了正确的文档。

答案一直在

我的脸上,为了恢复其他按钮,我只是更改了点击语句

$('#black').click(function() {
$('#blackbox').slideToggle('slow', function() {});
$('#yellowbox').slideUp();
    $('yellow').atr('src', ready.png)
});

你几乎可以通过执行以下操作来实现完全相同的事情:

var btn1 = "ready.png",
    btn2 = "pressed.png";
$("#black, #yellow").on('click', function() {
    $("#black, #yellow").not(this).prop('src', this.src);
    this.src = this.src==btn1 ? btn2 : btn1;
    $('#'+this.id+'box').slideToggle('slow').siblings('div').slideUp('slow');
});

小提琴