javascript - 用jquery将点击的对象id变成变量进行优化

标签 javascript jquery jquery-ui

你好,我想知道是否有一种方法可以让某些东西被点击,就像这里我想做的那样,这样当其中一个图像被点击时,我可以将它的 id 变成一个变量,然后从那里做一个if 语句,以便我可以在使用变量后淡出所有其他框并淡入。否则我将不得不通过单击 id 来创建 6 个单独的函数,这将使其产生更多代码 我认为这是一种优化方法,不确定是否有更好的方法来优化这段代码,考虑到这可能会被复制 6 次,我基本上想要一种将它们合并为一个的方法。我很感激所有的帮助,我已经关注这个问题有一段时间了,但似乎无法弄清楚,也许获得另一个视角会有所帮助

jQuery(function(){
    jQuery(".catalignleft").click(function() {


        function complete() {
          jQuery(".alignleft");
        }

        if(status == 1) {
            jQuery("#box1").fadeOut();
            jQuery("#box2").fadeOut();
            jQuery("#box3").fadeOut();
            jQuery("#box4").fadeOut();
            jQuery("#box5").fadeOut();
            jQuery("#box6").fadeOut();
            jQuery("#box1").fadeIn();
            status--;
        } else{
        jQuery("#box1").fadeIn(1600, "linear", complete);
status++;
}



    });

    jQuery("#btn2").click(function() {
    jQuery("#box1").fadeOut();

    jQuery("#log").empty();
    });
    jQuery(".blocked a").click(function(event) {
  event.preventDefault();
  jQuery('<div/>')
});


    jQuery("#btn2").click(function() {

    jQuery("#box2").fadeOut();
    jQuery("#log").empty();
    });
});

最佳答案

使用类选择器而不是 ID 选择器,并将 $(this).fadeIn 放入其 fadeOut 回调中,如下所示:

$(".box").click(function() {
    $(".box").fadeOut("slow", function() {
        $(this).fadeIn();
    });
});

(假设你所有的盒子都有一个“盒子”类):

<div class="box"></div>
<小时/>

此外,没有理由使用jQuery(...)。您可以将其缩短为 $(...) 并节省一些打字时间。

关于javascript - 用jquery将点击的对象id变成变量进行优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10167935/

相关文章:

Ms CRM 中的 Javascript(带有 odata 查询)无法正常工作?

javascript - 切换 - 在 div 外部单击时隐藏项目

android - Android 浏览器上的 CSS3 动画问题

javascript - 在 onchange 事件上添加变量值

javascript - 更改 ul 列表中的 react 链接

Jquery显示和隐藏冲突

php - JQuery 数组和输入复选框+隐藏

php - 如何将已经运行的 jquery ajax post 请求重用到自动完成功能?

jquery-ui - 如果超出范围,防止 jQuery UI 日期选择器更改文本字段的值

javascript - 禁用 "remove on backspace"(或完全删除 ibeam)