javascript - 如何使用 jquery 启用/禁用 div 层

标签 javascript jquery html css

我有以下请求...我想要 4 个 href 标签,当我点击一个特定的标签时显示一个 div 层,该层在 CSS 中默认设置为隐藏。当我单击另一个 href 以显示另一个 div 并关闭前一个时。如果有任何帮助,我将不胜感激!

HTML

            <p><a href="#" id="btn1">Link1</a></p>
            <p><a href="#" id="btn2">Link2</a></p>
            <p><a href="#" id="btn3">Link3</a></p>
            <p><a href="#" id="btn4">Link4</a></p>

CSS

 #index_main_refSL {
     display:block;
     position:absolute;
     width:600px;
     height:495px;
     background:#09F;
     visibility:hidden;

    } 
#index_main_refFL {
     display:block;
     position:absolute;
     width:600px;
     height:495px;
     background:#C93;
     visibility:hidden;

    } 
#index_main_refFL2 {
     display:block;
     position:absolute;
     width:600px;
     height:495px;
     background:#96C;   
     visibility:hidden;

    } 
#index_main_refAm {
     display:block;
     position:absolute;
     width:600px;
     height:495px;
     background:#FF6;
     visibility:hidden;
    } 

JQUERY

('#btn1').click(function(e) { 

            $('#index_main_refSL').css({opacity: 1.0, visibility: "visible"}).animate({opacity: 0}, 200);
            $('#index_main_refSL').stop();
            $('#index_main_refFL').hide();
            $('#index_main_refFL2').hide();
            $('#index_main_refAm').hide();




    });
    $('#btn2').click(function(e) { 

            $('#index_main_refFL').css({opacity: 1.0, visibility: "visible"}).animate({opacity: 0}, 200);
            $('#index_main_refSL').stop();
            $('#index_main_refSL').hide();
            $('#index_main_refFL2').hide();
            $('#index_main_refAm').hide();
            /*$('#index_main_refFL').stop();*/


    });
    $('#btn3').click(function(e) { 

            $('#index_main_refFL2').css({opacity: 1.0, visibility: "visible"}).animate({opacity: 0}, 200);
            $('#index_main_refSL').stop();
            $('#index_main_refSL').hide();
            $('#index_main_refFL').hide();
            $('#index_main_refAm').hide();
            /*$('#index_main_refFL2').stop();*/


    });
    $('#btn4').click(function(e) { 
            $('#index_main_refAm').css({opacity: 1.0, visibility: "visible"}).animate({opacity: 0}, 200);
            $('#index_main_refSL').stop();
            $('#index_main_refSL').hide();
            $('#index_main_refFL').hide();
            $('#index_main_refFL2').hide();
            /*$('#index_main_refAm').stop();*/


    });

最佳答案

你可以使用 fadeIn() 而不是 animate()

 $('#btn1').click(function(e) { 
     $('#index_main_refSL').fadeIn('slow');
     $('#index_main_refFL,#index_main_refFL2,#index_main_refAm').fadeOut(); //multiselector

});

并在 CSS 中将 display:block 更改为 none

#index_main_refSL {
  display:none;
  position:absolute;
  width:600px;
  height:495px;
  background:#09F;
} 

关于javascript - 如何使用 jquery 启用/禁用 div 层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19854915/

相关文章:

javascript - 如果所选元素可见,则不执行任何操作,如果不可见则滚动到它

javascript - 从表中获取数据以显示为纯文本

jQuery 图像选择器

jquery - 访问和/或操作元素的 angular 2/typescript 方式是什么?

javascript - 查找并替换字符串

javascript - 将用户重定向到特定时间并返回

Javascript RegExp 在具有嵌套子字符串的字符串上应用跨度标签

jquery - 如果引导列达到 12,如何在 jQuery 中添加类行?

javascript - 在 <p> 元素内使用 javascript 变量

html - CSS :not pseudo-class applying broadly and not targeting specific element