JavaScript中的多个if用于执行多项操作

时间:2015-10-01 10:03:56

标签: javascript jquery html css

我有一个div,包含3个不同的div。

我需要帮助来制作智能切换功能。

因此,当单击父div时,它将检查哪个div可见,并为每个div执行特定操作。

因此,如果Div1可见,请执行X. 如果Div2可见,请执行Y. 如果div3可见,请执行Z

DECLARE @cols NVARCHAR (MAX)

SELECT @cols = COALESCE (@cols + ',[' + LEFT(DATENAME(MONTH,join_date),3)+'/'+CAST(YEAR(join_date) AS
               VARCHAR(4)) + ']', 
              '[' + LEFT(DATENAME(MONTH,join_date),3)+'/'+CAST(YEAR(join_date) AS VARCHAR(4)) + ']')
               FROM    (SELECT DISTINCT join_date FROM MData T0) PV  
               ORDER BY join_date

DECLARE @query NVARCHAR(MAX)
SET @query = 'SELECT * FROM 
             (
                 SELECT Mtype, LEFT(DATENAME(MONTH,join_date),3)+''/''+CAST(YEAR(join_date) AS join_date  VARCHAR(4)) FROM MData T0
             ) x
             PIVOT 
             (
                 count(join_date)
                 join_date IN (' + @cols + ')
            ) p;' 

EXEC SP_EXECUTESQL @query
$(".button").click(function() {
  if ($('.div1', this).is(':visible')) {
    $(".div1", this).hide();
    $(".div2", this).show();
  }
  if ($('.div2', this).is(':visible')) {
    $(".div2", this).hide();
    $(".div3", this).show();
    $(".divtemp", this).show();
  }
  if ($('.div3', this).is(':visible')) {
    $(".div3", this).hide();
    $(".div1", this).show();
    $(".divtemp", this).hide();
  }
});

问题是,当运行此代码时,它正确地贯穿整个代码,因为每个“if”正在完成下一个“if”。

这可能是基本的编程,但如果有人能提供帮助,我们将非常感激!

  • 取值

2 个答案:

答案 0 :(得分:2)

  1. 您可以缓存DOM元素,而不是一次又一次潜入DOM
  2. QGraphicsItem用于独家条件
  3. 如果要对多个元素执行相同的功能,请使用多个选择器
  4. 在代码中查看内联评论

    
    
    QGraphicsScene
    
    
    

答案 1 :(得分:0)

好吧,如果我明白你想要什么,你可能只需要添加“else”条款。然而,最重要的是你必须处理点击事件,而你做错了。

$(".button").on('click', function(e){
    e.preventDefault(); //this way you prevent the default click actions;
    if($(".div1").is(":visible")){
        //Do stuff
    }else if $(".div2").is(":visible"){
        //Do other stuff
    }else if(){}
    ...
})