jQuery Grid展开/折叠div兄弟姐妹库

朱帕戈

在一个有4张图像的网格的画廊上工作,当您单击其中一张图像时,该图像会展开,并且旁边会显示另一个带有一些内容的分区,将其余图像向下移动。

我的主要问题是:我不确定如何在显示新分区时使第4列不动。我一直在玩css职位,但没有成功

感觉很扎实,但也许我正在错误地解决,使用同位素会更容易吗?

我想出了这个小提琴:

http://jsfiddle.net/jupago/xq279/32/

$(".photo").click(function(e) {
    if( $(this).prev().hasClass("open") ) {
        $(this).prev().removeClass("open").addClass("closed");
            }
    else {
        // if other menus are open remove open class and add closed
        $(this).siblings().prev().removeClass("open").addClass("closed"); 
        $(this).prev().removeClass("closed").addClass("open");
    }
     if( $(this).hasClass("opaque") ) {
        $(this).removeClass("opaque");
        }
    else {
        // change opacity of selected image
        $(this).siblings().removeClass("opaque"); 
        $(this).addClass("opaque");
    }
});
杰里米斯

我摆弄了一下,想出了这个:http : //jsfiddle.net/S3QpB/

HTML:我将第4行的box divs移到了后面,并给了它们id,这样我就可以在javascript中对它们进行测试。

<div class="wrapper">
<div class="gallerybox column1">TEXT for image 1</div>
<div class="photo"><img src="http://goo.gl/VEEw3z"/></div>

<div class="gallerybox column2">TEXT for image 2</div>
<div class="photo"><img src="http://goo.gl/VEEw3z"/></div>

<div class="gallerybox column3">TEXT for image 3</div>
<div class="photo"><img src="http://goo.gl/VEEw3z"/></div>


<div class="photo" id="box-4"><img src="http://goo.gl/VEEw3z"/></div>
<div class="gallerybox column4">TEXT for image 4</div>    

<div class="gallerybox column1">TEXT for image 1</div>
<div class="photo"><img src="http://goo.gl/VEEw3z"/></div>

<div class="gallerybox column2">TEXT for image 2</div>
<div class="photo"><img src="http://goo.gl/VEEw3z"/></div>

<div class="gallerybox column3">TEXT for image 3</div>
<div class="photo"><img src="http://goo.gl/VEEw3z"/></div>

<div class="photo" id="box-4-2"><img src="http://goo.gl/VEEw3z"/></div>
<div class="gallerybox column4">TEXT for image 4</div>        

<div class="gallerybox column1">TEXT for image 1</div>
<div class="photo"><img src="http://goo.gl/VEEw3z"/></div>

<div class="gallerybox column2">TEXT for image 2</div>
<div class="photo"><img src="http://goo.gl/VEEw3z"/></div>

<div class="gallerybox column3">TEXT for image 3</div>
<div class="photo"><img src="http://goo.gl/VEEw3z"/></div>

<div class="photo" id="box-4-3"><img src="http://goo.gl/VEEw3z"/></div>
<div class="gallerybox column4">TEXT for image 4</div>        

JavaScript:

$(".photo").click(function(e) {
if ( ($(this).attr('id') !== "box-4") && ($(this).attr('id') !== "box-4-2") && ($(this).attr('id') !== "box-4-3") ) {
    if( $(this).prev().hasClass("open") ) {

        $(this).prev().removeClass("open").addClass("closed");

        }

    else {

        // if other menus are open remove open class and add closed

        $(this).siblings().prev().removeClass("open").addClass("closed"); 

        $(this).prev().removeClass("closed").addClass("open");

    }

     if( $(this).hasClass("opaque") ) {

        $(this).removeClass("opaque");

        }

    else {

        // if other menus are open remove open class and add closed

        $(this).siblings().removeClass("opaque"); 

        $(this).addClass("opaque");

  }
} else {
    if( $(this).next().hasClass("open") ) {
        $(this).next().removeClass("open").addClass("closed");
        }
    else {
    $(this).siblings().next().removeClass("open").addClass("closed"); 
        $(this).next().removeClass("closed").addClass("open");
    }
    if( $(this).hasClass("opaque") ) {
        $(this).removeClass("opaque");
        }
    else {
        // if other menus are open remove open class and add closed
        $(this).siblings().removeClass("opaque"); 
        $(this).addClass("opaque");
  }
}
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

jQuery兄弟姐妹如何删除类?

jQuery-最近的兄弟姐妹

Jquery兄弟姐妹()不适用于div内的元素

jQuery-无法隐藏隐藏父级的兄弟姐妹

使用jquery与兄弟姐妹显示数据的问题

jQuery-删除兄弟姐妹不工作

jQuery兄弟姐妹方法和设置高度

在 jQuery 中隐藏祖父母兄弟姐妹的孩子

jQuery选择器,最接近的兄弟姐妹组合

jQuery单击切换兄弟姐妹

jQuery-.on(“ click”)隐藏每个兄弟姐妹

jQuery的最后一个兄弟姐妹再次来到第一个兄弟姐妹?

jQuery下一个兄弟姐妹选择器(“上一个〜兄弟姐妹”)

如何使用jquery遍历上一个兄弟姐妹的元素而不是下一个兄弟姐妹的元素?

如何使用jQuery为一个兄弟姐妹元素的所有父母添加类

如何检查是否使用jQuery检查了所有兄弟姐妹(包括选定的)?

JQuery,如何根据元素相对于兄弟姐妹的位置来选择元素?

使用jQuery访问“特定行”中的其他兄弟姐妹

jQuery选择除自身以外的所有兄弟姐妹和孩子

在jQuery中选择父母的下一个兄弟姐妹的孩子

在javascript或jquery中获取选定复选框的兄弟姐妹

具有显示和隐藏功能(现在为jQuery)的兄弟姐妹纯JavaScript

删除兄弟姐妹正在删除jQuery中的多余元素

删除兄弟姐妹正在删除jQuery中的多余元素

如何使用jQuery选择元素的所有先前兄弟姐妹?

jQuery,悬停时,只显示这个而不是所有的兄弟姐妹

使用jQuery将CSS“width”属性设置为兄弟姐妹的文本值

使用 jQuery 展开和折叠 div

jquery div展开和折叠问题