显示基于URL的元素

时间:2014-09-04 12:30:43

标签: javascript jquery

  1. 我正在处理一项任务,我需要隐藏元素并在用户点击div时将其重定向到另一个URL。

  2. 如果用户直接转到该网址,则不应该隐藏元素,因为它尚未点击。

  3. 我已经设法做了第一点。

    元素将在两个页面上

    我的逻辑在这里,但它不起作用:

    flag = false;
    
    $(document).ready(function() {
    
        $("div.main").click(function() {
            flag==true;
            $(".notired").hide(); 
        });
    
        if ((document.location.href.indexOf("xyz") > 0) && (flag==true))
            $(".notired").hide();
    
    });
    

    HTML:

    <div class="main">
        <a href="xyz.com" title="Click here">
            <img src="../images/notif.png">
        </a>
        <span class="notired">';
            echo $count;
            echo '
        </span>
    </div>
    

    CSS:

    .notired
    {
        display: inline-block;
        background: #E43C03;
        text-align: center;
        color: #FFF;
        font-size: 12px;
        font-weight: bold;
        -moz-border-radius: 6px;
        -webkit-border-radius: 6px;
        border-radius: 6px;
        width: 14px;
        z-index: 1;
        margin-left:-9px;
    }
    
    
    .main
    {
        width:50px;
    }
    

    寻找解决方案。

1 个答案:

答案 0 :(得分:2)

确保您的元素默认隐藏,然后:

  • 检查当前网址是否与您需要的网址匹配
  • 如果确实如此,那就什么也不做,因为你想隐藏它
  • 如果没有则显示

如果我理解正确你需要总是隐藏在点击功能上,那么只需将.hide()放在事件处理程序中

  $(document).ready(function() {

    if(window.location.hash) {
        // The URL contains the hash sent when clicked on button
        $(".notired").hide();
    }
  });

在这里

<a href="xyz.com#clicked" title="Click here">