Ali.Rashidi
Ali.Rashidi

Reputation: 1462

how to display semantic ui sidebars with javascript?

I want to implement this side bar of semantic ui in my page this is my code:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>

<link rel="stylesheet" href="dist/semantic.min.css" />
<script type="text/javascript" src="dist/semantic.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div class="ui top attached demo menu">
<a class="item">
<i class="sidebar icon"></i>
Menu
</a>
</div>
<div class="ui bottom attached segment pushable">
<div style="" class="ui inverted labeled icon left inline vertical sidebar menu">
  <a class="item">
  <i class="home icon"></i>
  Home
 </a>
 <a class="item">
  <i class="block layout icon"></i>
  Topics
</a>
<a class="item">
  <i class="smile icon"></i>
  Friends
</a>
<a class="item">
  <i class="calendar icon"></i>
  History
 </a>
</div>
<div class="pusher">
<div class="ui basic segment">
  <h3 class="ui header">Application Content</h3>
  <p></p>
  <p></p>
  <p></p>
  <p></p>
</div>
</div>
</div>
</form>
<script>
        $('.context.example .ui.sidebar')
          .sidebar({
              context: $('.context.example .bottom.segment')
          })
          .sidebar('attach events', '.context.example .menu .item')
        ;
</script>
</body>
</html>

This is what I want:

What I want

but when I click on Menu nothing happens. you can find my example here:

My example which I want to implement

Upvotes: 0

Views: 1127

Answers (1)

Rotan075
Rotan075

Reputation: 2615

That is because you are searching for a class that does not exist.

Your Javascript code looks for: $('.context.example .ui.sidebar') but in your HTML code there is no class available named: .context.example.

Therefore it will not work. If you do this:

<form id="form1" runat="server">
<div class="context example"> <!-- context & example class added -->
    <div class="ui top attached demo menu">
        <a class="item">
            <i class="sidebar icon"></i> Menu
        </a>
    </div>
    <div class="ui bottom attached segment pushable">
        <div style="" class="ui inverted labeled icon left inline vertical sidebar menu">
            <a class="item">
                <i class="home icon"></i> Home
            </a>
            <a class="item">
                <i class="block layout icon"></i> Topics
            </a>
            <a class="item">
                <i class="smile icon"></i> Friends
            </a>
            <a class="item">
                <i class="calendar icon"></i> History
            </a>
        </div>
        <div class="pusher">
            <div class="ui basic segment">
                <h3 class="ui header">Application Content</h3>
                <p></p>
                <p></p>
                <p></p>
                <p></p>
            </div>
        </div>
    </div>
</div>
</form>

It will work.

Upvotes: 1

Related Questions