Javascript 使用jquery将单击的对象id转换为变量以进行优化
你好,我想知道是否有一种方法可以点击一些东西,比如在这里,我想这样做,当其中一个图像被点击时,我可以把它的id变成一个变量,然后从那里做一个if语句,这样我可以在使用变量后淡出所有其他框和淡出。否则,我将不得不通过点击那里的id来创建6个独立的函数,这将使代码变得更多 我认为这是一种优化它的方法,不确定是否有更好的方法来优化这段代码,考虑到这段代码可能会被复制6次,我基本上想要一种将它们合并为一段的方法。我感谢所有的帮助,我已经关注这一点有一段时间了,但我似乎无法理解,也许换个角度会有所帮助Javascript 使用jquery将单击的对象id转换为变量以进行优化,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,你好,我想知道是否有一种方法可以点击一些东西,比如在这里,我想这样做,当其中一个图像被点击时,我可以把它的id变成一个变量,然后从那里做一个if语句,这样我可以在使用变量后淡出所有其他框和淡出。否则,我将不得不通过点击那里的id来创建6个独立的函数,这将使代码变得更多 我认为这是一种优化它的方法,不确定是否有更好的方法来优化这段代码,考虑到这段代码可能会被复制6次,我基本上想要一种将它们合并为一段的方法。我感谢所有的帮助,我已经关注这一点有一段时间了,但我似乎无法理解,也许换个角度会有所帮助 j
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();
});
});
jQuery(函数(){
jQuery(“.catalignleft”)。单击(函数(){
函数完成(){
jQuery(“.alignleft”);
}
如果(状态==1){
jQuery(“#box1”).fadeOut();
jQuery(“#box2”).fadeOut();
jQuery(“#box3”).fadeOut();
jQuery(“#box4”).fadeOut();
jQuery(“#box5”).fadeOut();
jQuery(“#box6”).fadeOut();
jQuery(“#box1”).fadeIn();
地位--;
}否则{
jQuery(“#box1”).fadeIn(1600,“线性”,完整);
状态++;
}
});
jQuery(“#btn2”)。单击(函数(){
jQuery(“#box1”).fadeOut();
jQuery(“#log”).empty();
});
jQuery(“.blocked a”)。单击(函数(事件){
event.preventDefault();
jQuery(“”)
});
jQuery(“#btn2”)。单击(函数(){
jQuery(“#box2”).fadeOut();
jQuery(“#log”).empty();
});
});
使用类选择器而不是ID选择器,并在其淡出
回调中放置一个$(this).fadeIn
,如下所示:
$(".box").click(function() {
$(".box").fadeOut("slow", function() {
$(this).fadeIn();
});
});
(假设您的所有盒子都有一个“盒子”类):
而且,没有理由使用
jQuery(…)
。您可以将其缩短为$(…)
,并节省一些键入时间。正如Elliot在他的回答中所示,您可以使用此选项引用当前对象(在本例中是单击的对象)(即使您没有使用jQuery) 嘿,齐姆,我想这应该写在评论里。=)对。我不能在你的帖子下(也不能在问题下)加上评论。也许我需要多一点名声?我会考虑的。谢谢你的反馈:)我会的,但wordpress不允许这样做:D但似乎是合理的,我试图找出它,我确实知道这一点,但我只是没有想到这样使用它,谢谢
<div class="box"></div>