繁体   English   中英

如何仅使用 Javascript 设置特定 div 块的打开和关闭?

[英]How Set Open and Close of specific div block only using Javascript?

请检查此链接https://jsfiddle.net/bhargavjoshi/sL8f6bkr/3/

我正在尝试通过单击继续阅读来设置打开一个块并通过单击少显示来关闭该块。

现在它通常工作正常,但问题是当我打开两个街区时。 1 和 2 点是打开的,如果单击第 1 点的显示更少,那么它将关闭第一个块,但也会更改显示更少的状态以继续读取第 2 块。

那么如何通过单击 show less 来设置它,它只会关闭特定的那个块。

jQuery(".show-slide-wrp").on("click", function(event){
    event.preventDefault();
    var slidindWrp = jQuery(this).data("slide");
    console.log(slidindWrp);
    jQuery(slidindWrp).slideDown();
    jQuery(this).hide();
});


jQuery(".hide-slide-wrp").on("click", function(event){
    event.preventDefault();
    var $this = jQuery(this);
    var closeDiv = $this.closest(".sliding-wrp");
    jQuery(".show-slide-wrp").show();
    closeDiv.slideUp();
    jQuery('html, body').animate({
        scrollTop: closeDiv.offset().top - 300
    }, 500);

});

// scoll by id
jQuery(".contenttable a").click(function(event) {
    event.preventDefault();
    var $this = jQuery(this);
    var getScrollId = $this.attr("href");  
    console.log(getScrollId);
   jQuery('html, body').animate({
        scrollTop: jQuery(getScrollId).offset().top
    }, 500);
});

问题在这里:

    jQuery(".hide-slide-wrp").on("click", function(event){
    event.preventDefault();
    var $this = jQuery(this);
    var closeDiv = $this.closest(".sliding-wrp");
    jQuery(".show-slide-wrp").show(); // You show all "Keep reading" occurences
    closeDiv.slideUp();
    jQuery('html, body').animate({
        scrollTop: closeDiv.offset().top - 300
    }, 500);

});
//you could put a data-target on theses elements :
<div class="hide-slide-wrp" data-target=".sliding7"><a>Show less</a></div>

编辑:我做了一支笔:为了不像数据目标一样手动将属性添加到您的 html,因为您的页面看起来像 static html,当用户单击目标时,我将链接数据添加到“显示更少”继续阅读”链接。 那么当我点击“少显示”链接时,我知道要隐藏哪个“继续阅读”链接,你明白我的意思吗?

第一:当您点击“保持阅读”时,将 data-target 属性添加到右结束标记:

 var $closingTag = $(this).closest(".benefixbox").find(".hide-slide-wrp");

第二:当你点击结束标签时:隐藏“继续阅读”标签:

var dataTarget = $(this).data("target");// here is my target : keep reading
    jQuery("[data-slide='"+dataTarget+"']").show(); // we show the link keep reading again because we know what its data-slide is

打开/关闭一个<div>使用按钮</div><div id="text_translate"><p>我有 3 个不同的 div 和 3 个按钮。 每个按钮打开一个 div,如果打开另一个 div,则必须先关闭第一个 div。 我可以用一些js来做。 我不是程序员,所以我的 js 技能接近于 0。</p><p> 每个按钮都使用 class: .button-1 , .button-2 &amp; .button-3 。 每个 div 都有不同的 ID: #div-1 、 #div-2和#div-3 。</p><p> 这是我正在使用的代码(每个按钮和 div 重复 x3):</p><pre> jQuery(document).ready(function() { // Hide the div jQuery('#div-1').hide(); jQuery('.button-1').click(function(e){ e.preventDefault();jQuery("#div-1").slideToggle('opened closed'); }); }); jQuery(function($){ $('.button-1').click(function(e){ e.preventDefault(); $('#div-2').hide(); $('#div-3').hide(); }); });</pre><p> 它工作正常。 当您打开和关闭同一个 div 时效果是平滑的,但是当您在另一个 div 打开时单击不同的按钮时,两个 div 之间的过渡效果并不平滑。</p><p> 有什么建议吗?<br> 这是<a href="https://jsfiddle.net/MilkyTech/n41pcgb3/29" rel="nofollow noreferrer">jsFiddle</a>中的一个示例。</p><p> 我想问一下,一旦打开其中一个,是否有可能不允许用户关闭.divs</p><p> 提前致谢!</p></div>

[英]Open/close a <div> using buttons

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用onclick =“ showElem的JavaScript打开/关闭div 如何在javascript中启用特定div块的滚动 使用javascript推送对象时,如何打开div并关闭另一个div? 当另一个div设置为显示块时如何在5秒内打开一个div 如何使用div名称打开显示块? JavaScript关闭已打开div 是否可以使用javascript仅显示一个按钮然后关闭文本块? 如何使用JavaScript关闭警报消息div? 如何使用javascript打开关闭菜单? 打开/关闭一个<div>使用按钮</div><div id="text_translate"><p>我有 3 个不同的 div 和 3 个按钮。 每个按钮打开一个 div,如果打开另一个 div,则必须先关闭第一个 div。 我可以用一些js来做。 我不是程序员,所以我的 js 技能接近于 0。</p><p> 每个按钮都使用 class: .button-1 , .button-2 &amp; .button-3 。 每个 div 都有不同的 ID: #div-1 、 #div-2和#div-3 。</p><p> 这是我正在使用的代码(每个按钮和 div 重复 x3):</p><pre> jQuery(document).ready(function() { // Hide the div jQuery('#div-1').hide(); jQuery('.button-1').click(function(e){ e.preventDefault();jQuery("#div-1").slideToggle('opened closed'); }); }); jQuery(function($){ $('.button-1').click(function(e){ e.preventDefault(); $('#div-2').hide(); $('#div-3').hide(); }); });</pre><p> 它工作正常。 当您打开和关闭同一个 div 时效果是平滑的,但是当您在另一个 div 打开时单击不同的按钮时,两个 div 之间的过渡效果并不平滑。</p><p> 有什么建议吗?<br> 这是<a href="https://jsfiddle.net/MilkyTech/n41pcgb3/29" rel="nofollow noreferrer">jsFiddle</a>中的一个示例。</p><p> 我想问一下,一旦打开其中一个,是否有可能不允许用户关闭.divs</p><p> 提前致谢!</p></div>
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM