html – jQuery – 点击链接时DIV的toggleClass,隐藏链接,并在DIV中显示隐藏信息.页面上有多个实例

html – jQuery – 点击链接时DIV的toggleClass,隐藏链接,并在DIV中显示隐藏信息.页面上有多个实例,第1张

概述我的总体目标始于产品页面在productLayout DIV中显示多个产品图片.然后,该DIV中的链接将添加一个类pL100,它扩展了DIV的宽度,以显示隐藏在隐藏DIV中的隐藏内容.然后我想要初始产品图片消失,隐藏的DIV可见.在隐藏的DIV中,我想要一个链接来再次隐藏DIV并将原始DIV带回照片.但是,如果有人点击其他产品来扩展该产品,我希望所有这些都能切换.如果他们这样做,我希望打开的DIV 我的总体目标始于产品页面在productLayout div中显示多个产品图片.然后,该div中的链接将添加一个类pL100,它扩展了div的宽度,以显示隐藏在隐藏div中的隐藏内容.然后我想要初始产品图片消失,隐藏的div可见.在隐藏的div中,我想要一个链接来再次隐藏div并将原始div带回照片.但是,如果有人点击其他产品来扩展该产品,我希望所有这些都能切换.如果他们这样做,我希望打开的div删除pL100类,使其最初显示.

到目前为止,当点击不同的div时,我已经全部关闭以关闭其他div;但是,我需要帮助隐藏初始内容以及在隐藏内容中添加链接以删除添加的类以恢复正常.如果点击其他div,还可以进行所有切换.

我还想为div的“扩展”和“关闭”制作动画,所以它不是那么突然.不确定我是否可以这样做,因为我正在使用addClass和removeClass,但如果有一种方法可以完全不同,那么我很想知道如何.

如果你注意到,我正在调用每个第4个productLayout div,用.productLayout:nth-​​of-type(4n 0)删除右边的marrgin,这样它就可以很好地放在容器div中了.但是,当单击productLayout div时,所有div都会向下移动(这就是我想要的)但是现在每个第4个productLayout div都会被推送到下一个div.有没有办法在保证金中添加回来,然后将其应用到该行中新的第4个productLayout div?

我希望这一切都有道理,对不起,如果我不清楚的话.我真的很感激任何帮助,如果我做错了,请指教.非常感谢.

这是小提琴 – http://jsfiddle.net/pT3DC/

使用JavaScript

$(document).ready(function () {$('.productLayout a').on('click',function(){$(this).closest('div').toggleClass('pL100').siblings().removeClass('pL100');$(this).closest('div').children('.hIDden').toggleClass('hIDe').siblings().removeClass('hIDe');});});

HTML

<div ><div >    <p><a href="#" >Show More 1</a></p>    <div >this is hIDden content</div></div><div >    <p><a href="#" >Show More 2</a></p>    <div >this is hIDden content</div></div><div >    <p><a href="#" >Show More 3</a></p>    <div >this is hIDden content</div></div><div >    <p><a href="#" >Show More 4</a></p>    <div >this is hIDden content</div></div><div >    <p><a href="#" >Show More 5</a></p>    <div >this is hIDden content</div></div><div >    <p><a href="#" >Show More 6</a></p>    <div >this is hIDden content</div></div><div >    <p><a href="#" >Show More 7</a></p>    <div >this is hIDden content</div></div><div >    <p><a href="#" >Show More 8</a></p>    <div >this is hIDden content</div></div></div>

CSS

.container {wIDth: 1000px;padding: 0px 16px; }.productLayout {wIDth: 228px;float: left;margin: 0px 16px 16px 0px;text-align: center;border: 1px solID #333333;}   .productLayout:nth-of-type(4n+0) {margin-right: 0px;}.pL100 {wIDth: 936px;padding: 16px;color: #000000;float: left;margin: 0px 16px 16px 0px;text-align: center;border: 1px solID #333333;}.hIDe {display:none;}.hIDden {clear: both;wIDth: 100%;background-color: #000000;color: #FFFFFF;        }

这是小提琴 – http://jsfiddle.net/pT3DC/

解决方法 回答

演示:jsFiddle

Js

$(document).ready(function () {    $('.productLayout:nth-of-type(4n+0)').addClass('marginFix');    $("div .productLayout .show").click(function () {        $('div .marginFix').removeClass('marginFix');        $('div .pL100').removeClass('pL100');        $('.show').removeClass('hIDe');        $('div .hIDden').addClass('hIDe');        $(this).addClass('hIDe');        $(this).siblings().removeClass('hIDe');        $(this).parent().addClass('pL100');        // `this` is the DOM element that was clicked        var index = $("div .show").index(this) + 1;        $('.productLayout:nth-of-type(4n+' + index + ')').addClass('marginFix');    });    $("div .productLayout .hIDden").click(function () {        $('div .marginFix').removeClass('marginFix');        $('.productLayout:nth-of-type(4n+0)').addClass('marginFix');        $('div .pL100').removeClass('pL100');        $('.show').removeClass('hIDe');        $('div .hIDden').addClass('hIDe');        $(this).siblings().removeClass('pL100');    });});

CSS

.container {    wIDth: 1000px;    padding: 0px 16px;}.productLayout {    wIDth: 228px;    float: left;    margin: 0px 16px 16px 0px;    text-align: center;    border: 1px solID #333333;}.marginFix {    margin-right: 0px;}.pL100 {    wIDth: 936px;    padding: 16px;    color: #000000;    float: left;    margin: 0px 16px 16px 0px;    text-align: center;    border: 1px solID #333333;}.hIDe {    display:none;}.hIDden {    clear: both;    wIDth: 100%;    background-color: #000000;    color: #FFFFFF;}

HTML

<div >    <div >        <p >            <a href="#" >Show More 1</a>        </p>        <div >this is hIDden content</div>    </div>    <div >        <p >            <a href="#" >Show More 2</a>        </p>        <div >this is hIDden content</div>    </div>    <div >        <p >            <a href="#" >Show More 3</a>        </p>        <div >this is hIDden content</div>    </div>    <div >        <p >            <a href="#" >Show More 4</a>        </p>        <div >this is hIDden content</div>    </div>    <div >        <p >            <a href="#" >Show More 5</a>        </p>        <div >this is hIDden content</div>    </div>    <div >        <p >            <a href="#" >Show More 6</a>        </p>        <div >this is hIDden content</div>    </div>    <div >        <p >            <a href="#" >Show More 7</a>        </p>        <div >this is hIDden content</div>    </div>    <div >        <p >            <a href="#" >Show More 8</a>        </p>        <div >this is hIDden content</div>    </div></div>
总结

以上是内存溢出为你收集整理的html – jQuery – 点击链接时DIV的toggleClass,隐藏链接,并在DIV中显示隐藏信息.页面上有多个实例全部内容,希望文章能够帮你解决html – jQuery – 点击链接时DIV的toggleClass,隐藏链接,并在DIV中显示隐藏信息.页面上有多个实例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1055055.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存