隐藏特定div,具体取决于您所查看的页面

时间:2017-02-01 15:00:40

标签: javascript jquery

我在主页的底部有4个div(有点像旋转木马),点击后会打开一个页面,其中包含有关每个div中的内容的更多详细信息。 我有主页+主页/ div1-详细信息+主页/ div2-详细信息+主页/ div3-详细信息+主页/ div4-详细信息。

问题是:当我进入主页/ div1-details时,div的旋转木马也会出现在底部,但是当我和我不想显示div1时#39; m在主页/ div1-详细信息,因为没有为您已经在的页面设置链接。

目标是创建一个js代码,隐藏与您所看到的页面相对应的div。换句话说,隐藏div1作为主页/ div1-details,隐藏div2作为主页/ div2-details等等。

HTML:

<div class="container-fluid" id="success-cases">
  <div class="row"> <!-- populated by javascript -->
  </div>
</div>

我还有一个数组,其中包含填充div的信息,并且在那里有一个名为&#39; slug&#39;的字段。完成每个div的详细信息页面的URL。每个div,取决于是否创建了详细信息页面,可以有2个可能的链接中的一个,它就是这样做的(我不知道它是否与我想要的相关,但它我认为可能会有所帮助):

  $( ".success" ).each( function () {
    $( this ).bind (
      "click",
      function(){
        item = getObjectInArrayByField (successCasesList, 'company_slug', $(this).attr('data-caso'));
        if (item.has_dedicated_page == true) {
          window.location.href = '/!/success-cases-' + $(this).attr('data-caso');
        } else {
          window.open(item.company_website,
            '_blank'
          )
        }
      }
    );
  });

我知道它不具有超级特异性,因为我没有显示所有代码,但我想知道如何做到这一点,请记住我&# 39;对于js来说,这是一个相当新手。 谢谢!

1 个答案:

答案 0 :(得分:1)

如果它只是隐藏div1-details.html的#div1,div2-details.html等的#div2那么简单,那么这应该是你需要的全部(它将是一个共同点) js文件,由所有div * -details.html页面使用):

// the url of the page starts with the id of the div we want to hide
var myDivToHide = window.location.href.split("-")[0];
// then we simply hide that one div
if(myDivToHide) { $("#"+myDivToHide).hide(); }

但是,这需要每个div都有一个唯一的ID。