当前位置: 首页 > 知识库问答 >
问题:

将jQuery插件应用于隐藏元素

郏稳
2023-03-14

我有一个页面,里面有许多隐藏的div。这些div使用CSS处理程序隐藏。div{show: no}

在每个隐藏的div中,都有一个jQuery支持的幻灯片,使用名为TN3的jQuery插件构建。

每个隐藏的div都链接到页面上可见的照片。单击照片显示相应的隐藏div并将其滑动到位。再次单击照片,或单击隐藏div中的关闭按钮,将其向后滑动并再次隐藏。这是使用一个简单的jQuery显示/隐藏切换脚本完成的。

我的问题是,当你点击一张照片,隐藏的div变得可见时,现在可见的div中的jQuery幻灯片不起作用。

我认为这是因为幻灯片的脚本使用了$(文档)。ready()函数。由于隐藏的div不是DOM的一部分(因为它们被设置为display:none)-运行幻灯片放映所需的jQuery不会启动。

我认为这给我留下了两个选择:

>

  • 在使用jQuery加载页面时隐藏隐藏的div,而不是将CSS设置为display:none。我认为这意味着隐藏的div在页面加载时会在几秒钟内全部可见,然后用jQuery代码将它们隐藏起来——这看起来很笨拙,不可取。

    不知何故,当用户单击照片以切换隐藏div的可见性时,将操作幻灯片放映所需的jQuery代码设置为触发。这就是我崩溃的地方——我不知道怎么做。

    我对JavaScript的了解仅限于jQuery,并且通常仅限于使用具有$(文档).就绪()的函数。除了页面加载之外,我不知道如何在另一个事件上触发代码。

    幻灯片的代码如下所示。

    任何想法都将不胜感激

    $(document).ready(function () {
        $('.tn3-gallery').tn3({
            image: {
                transitions: [{
                    type: "fade",
                    easing: "easeInQuad",
                    duration: 423
                }]
            },
            thumbnailer: {
                overMove: false
            },
            mouseWheel: false
        });
    }); // end ready
    
  • 共有1个答案

    利海阳
    2023-03-14

    DOM中存在display:none的元素,但当您为它们应用gallery插件时,它可能会计算这些元素的高度/宽度以用于gallery标注,并且由于元素未显示,因此需要0。

    jquery的。宽度()或。对于显示为“无”的元素,height()将返回0

    如果是这样,那么可能的解决方案是:

    1) 仅在“隐藏”div第一次可见后初始化gallery

    2)临时设置元素显示:块,但具有可见性:在库初始化之前隐藏-这将允许采取正确的高度/宽度的元素

    第二个示例:

    $('.tn3-gallery')
           .css({'display':'block','visibility':'hidden'})
           .tn3({
               //your tn3 options
              init:function(){
               //turn element back to display:none after gallery is built
                $('.tn3-gallery').css({'display':'none','visibility':'visible'})
              }
           });
    
     类似资料:
    • 问题内容: 我正在使用jquery tablesorter插件并将其应用于ID为#table的表 我的搜索工具通过ajax请求结果,并使用具有相同ID的新表替换该表 如果我的代码是这样的: 我要添加什么以使插件在新表上工作?(我知道jquery的实时事件,但是在这种情况下该如何使用呢? 问题答案: 您必须在搜索请求完成后重新运行。 });

    • 我正在生成一个“灰色主题”-虽然还有一些调整要做,但我对它相当满意。 灰色主题 但我似乎在Chrome中的按钮方面遇到了一个问题(其他浏览器似乎都可以),悬停效果似乎会产生不想要的结果。 如果我悬停菜单,然后继续悬停“测试按钮”,伪元素不会附着在边界半径上,在悬停时提供方形角。 我会寻找伪元素来坚持边界半径。 我的按钮代码是: 有没有办法阻止按钮的伪元素出现在实际元素边界半径的前面(效果是生成“光

    • 问题内容: 我需要获取隐藏的div内的元素的高度。现在,我显示div,获取高度,然后隐藏父div。这似乎有点愚蠢。有没有更好的办法? 我正在使用jQuery 1.4.2: 问题答案: 您可以做这样的事情,但是有点笨拙,请忘记它是否已经是绝对的:

    • 本文向大家介绍jQuery控制元素隐藏和显示,包括了jQuery控制元素隐藏和显示的使用技巧和注意事项,需要的朋友参考一下 1、jQuery隐藏和显示效果 通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素: 2、jQuery淡入淡出效果 通过 jQuery,您可以实现元素的淡入淡出效果。 jQuery 拥有下面四种 fade 方法: fadeIn()

    • 问题内容: 我有一个输入,其类型设置为隐藏,我需要将其类型更改为文本。似乎无法弄清楚这一点,或者jQuery是否可行 问题答案: 使用jQuery 1.4,您可以在分离输入时更改其类型。

    • 本文向大家介绍jQuery元素的隐藏与显示实例,包括了jQuery元素的隐藏与显示实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery元素的隐藏与显示的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的jQuery程序设计有所帮助。