1. if asmenu:IsVisible() then

        asframe:SetScript("OnMouseDown", function() asmenu:Hide() end);

    else

        asframe:SetScript("OnMouseDown", function() asmenu:Show() end);

    end

    Why does this not work? I have a general understanding of what's going on, but I'm not sure why this doesn't work. My menu frame is hidden when I click on the other frame, but when I click it again nothing happens. The goal is for it to reappear. Any help is appreciated.

  2. if asmenu:IsVisible() then

        asframe:SetScript("OnMouseDown", function() asmenu:Hide() end);

    else

        asframe:SetScript("OnMouseDown", function() asmenu:Show() end);

    end

    Why does this not work? I have a general understanding of what's going on, but I'm not sure why this doesn't work. My menu frame is hidden when I click on the other frame, but when I click it again nothing happens. The goal is for it to reappear. Any help is appreciated.

  3. if asmenu:IsVisible() then

        asframe:SetScript("OnMouseDown", function() asmenu:Hide() end);

    else

        asframe:SetScript("OnMouseDown", function() asmenu:Show() end);

    end

    Why does this not work? I have a general understanding of what's going on, but I'm not sure why this doesn't work. My menu frame is hidden when I click on the other frame, but when I click it again nothing happens. The goal is for it to reappear. Any help is appreciated.

    Without full context it's hard to tell you what's going wrong.  That is I don't know what you're trying to accomplish, or what frame types you are trying to accomplish it with!  Can you please provide more information?