【问题标题】:jQuery slide and show/hide divsjQuery 幻灯片和显示/隐藏 div
【发布时间】:2011-09-19 07:37:17
【问题描述】:

http://jsfiddle.net/VCUz4/1/

以上是我正在设计的网站的一部分。通常的 jQuery 幻灯片功能可以正常工作,但我想更进一步。

点击其中一张发布图片后,会出现一个 div,其中显示更大的艺术作品、曲目列表和其他一些信息。如果单击另一个版本,则当它打开时,我希望隐藏旧部分并立即替换新部分。目前我的 jQuery 有问题。

如果 .length > 1,内容会按照我的意愿显示,但如果为 0,则初始内容不会滑动,只会显示,但您可以在版本之间切换。这是我第一次尝试创建自己的脚本,正如您可能知道的那样,老实说,最初的实现只是让各个部分相互向上或向下滑动就足够了,但我想改进我的工作。谢谢

【问题讨论】:

    标签: jquery if-statement show-hide slide


    【解决方案1】:

    我认为你只需要改变你的条件:

    $(document).ready(function() {    
    
        $('#amy, #harris').hide();                        
    
        $('#link2').click(function() {
            if ($("#harris").is(":visible")) {
                $("#harris").hide();
                $("#amy").show();
            }
            else $('#amy').slideDown(500);
    
            return false;
        });
    
        $('#link1').click(function() {
            if ($("#amy").is(":visible")) {
                $("#amy").hide();
                $("#harris").show();
            }
            else $('#harris').slideDown(500);
    
            return false;
        });  
    
    });
    

    不要检查选择器结果的长度。 #harris#amy 都始终在 DOM 中,因此始终会输入 true 条件。

    更新示例http://jsfiddle.net/uwmtN/

    【讨论】:

    • 啊!我想知道为什么会这样,但你已经很好地解释了它,现在它是有道理的。太棒了,谢谢你的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    相关资源
    最近更新 更多