어떻게 정렬 부트스트랩 알림으로 두 개의 열?

0

질문

나는 아주 간단하지 같은 페이지 내가 입력할 수 있는 회원과 제거하거나 완료로 표시합니다. 회원은 스트랩 경고,그래서 지금까지 너무 좋아요.

나의 문제는 경고/회원들은 너무 광범위하고 있어야에서 두 개 또는 세 개의 열을 볼 수 있도록 더 많은 그들의습니다.

이것은 내가 붙어 있기 때문에,그리드 시스템은 원하지 않습니다. I don't know what I 편하게 사용하실 수 있습니다!

누군가가 나를 도와 주시겠습니,어떻게 다시 정렬 구성원 목록으로 두 개 또는 세 개의 열?

내가 함께 노력 열과 team1 단추입니다.

이 JSFiddle URL 한다: https://jsfiddle.net/voriand/zsfo65wb/

$(document).ready(function() {
  $('.btn-addmember').click(function() {
    if ($('#text').val().length != 0) {
      var x = $('#memberlist').html();
      var y =
        `<div class="alert alert-success alert-dismissible fade in">
        <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
                            ` + $('#text').val() + `</div>`;
      $('#memberlist').html(y + x);
      $('#text').val("");
    } else alert("Please, enter the name of the member");
  });
  
  //Adding members of team1
  $('.btn-team1').click(function() {
    if ($('#team1').val().length != 0) {
      var members = $('#team1').val().split('\n');

      for (var i = 0; i < members.length; i++) {
        var x = $('#memberlist').html();
        var y =
          `<div class="col-sm"><div class="alert alert-success alert-dismissible fade in">
                                        <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
                                        <b>` + members[i] + `</b></div></div>`;
        if (members[i].trim().length > 0) {
          $('#memberlist').html(y + x);
        }
      }
    }
  });

  //Adding members of team2
  $('.btn-team2').click(function() {
    if ($('#team2').val().length != 0) {
      var members = $('#team2').val().split('\n');

      for (var i = 0; i < members.length; i++) {
        var x = $('.container').html();
        var y =
          `<div class="alert alert-success alert-dismissible fade in">
                                        <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
                                        <b>` + members[i] + `</b></div>`;
        if (members[i].trim().length > 0) {
          $('.container').html(y + x);
        }
      }
    }
  });
  // When Member is clicked
  $(document).on('click', '.alert', function() {
    if ($(this).css('text-decoration-line') == "none") {
      $(this).css('text-decoration-line', 'line-through');
      $(this).css('background-color', '#dddddd');
      $(this).css('border-color', '#dddddd');
    } else {
      $(this).css('text-decoration-line', 'none');
      $(this).css('background-color', '#dff0d8');
      $(this).css('border-color', '#d6e9c6');
    }
  });
});
.container {
  width: 80%;
  height: auto;
}

.foot {
  position: fixed;
  left: 10%;
  bottom: 0;
  width: 80%;
  text-align: center;
}

.form-group {
  height: 0px;
  visibility: hidden;
}

.copyright {
  width: 100%;
  text-align: right;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>

<center>

  <div class="foot">
    <div class="row">
      <div class="col-sm-1"> </div>
      <div class="col-sm-10">
        <!-- Input for members -->
        <div class="input-group">
          <input type="text" class="form-control" placeholder="Add member" id="text">
          <div class="input-group-btn">
            <button class="btn btn-success btn-addmember">
                <i class="glyphicon glyphicon-plus">
                </i></button>
          </div>
          <div class="input-group-btn">
            <button class="btn btn-success btn-team1">
                <i class="glyphicon glyphicon-plus">
                </i> TEAM1</button>
          </div>
          <div class="input-group-btn">
            <button class="btn btn-success btn-team2">
                <i class="glyphicon glyphicon-plus">
                </i> TEAM2</button>
          </div>
        </div>
        <br>
        <br>
      </div>
    </div>
    <div class="form-group">
      <label for="exampleFormControlTextarea1">Team1</label>
      <textarea class="form-control" id="team1" rows="3">
        vivamus eget 
        lacus vitae 
        mi vulputate 
        varius integer 
        suscipit orci 
        condimentum
        vestibulum
        </textarea>
      <label for="exampleFormControlTextarea1">Team2</label>
      <textarea class="form-control" id="team2" rows="3">
        vivamus eget 
        lacus vitae 
        mi vulputate 
        varius integer 
        suscipit orci 
        condimentum
        vestibulum
        </textarea>
    </div>
    <p class="copyright">Created by: Me - <a href="mailto:[email protected]">[email protected]</a></p>
  </div>

  <br>
  <h2 class="text text-success">Team Members</h2>
  <br>

  <div class="container-fluid">
    <div id="memberlist" class="row">

    </div>
  </div>
</center>

alert html javascript jquery
2021-11-19 14:26:30
2

최고의 응답

1
  1. 을 명확히 HTML:

    • CSS 사용 margin 산 대 <br>
    • text-center 가 아닌 클래스 center 태그
    • 한 장소에 바닥글의 끝에서 HTML <footer> 태그
    • .container.container-fluid 빈 열고
    • 사용 계층 구조 .form-inline > .input-group > .input-group-btn 을 구성하는 입력 버튼으로 인라인 양식
  2. CSS:

    • 나는 일부를 제거 CSS 지침 및 복원의 동작 원 스트랩의 컨테이너입니다. 내가 사용하는 것이 좋습니다 Bootstrap4 또는 5 플렉스 상자를 더 달성하기 위해 가동 가능한 가능성이 있다.
    • 추가했 스타일 form-inline 블록을 개선하의 레이아웃에서 그 좁은 화면입니다.
  3. 다시 실행 JS:

    • wrap 경고 HTML 코드에 별도 기능 addMember
    • 하나 더 추가 기능을 위해 추가의 팀에 의해 텍스트 영역의 id
    • 단순화 click 코드 단추를 위한의 도움으로 이러한 두 가지 기능
    • .toggleClass().css() 을 변경하는 경고의 외관에서 클릭
    • .append() 를 추가하는 새로운 경고의 끝 부분에 목록
  4. 게 열:

    • Wrap 경고에서 열 차단하는 장소에 여러 경고 있습니다.
    • 추가 두 개의 클래스 col-xs-6 col-sm-4 을 구성하는 경고에는 2 열에서 3 열에 폭 넓은 화면입니다.
    • 지금 스트랩의 해제 경고 있는 충분하지 않기 때문에 우리는 열을 제거하고 차단 너무입니다. 그래서 우리는 우리 제거할 수 있습니다 alert-dismissible 클래스고 data-dismiss특성이 있습니다. 추가했 대체 회원이 폐하여 코드 jQuery too.

https://codepen.io/glebkema/pen/jOLJYJE

$(document).ready(function() {
  var memberList = $("#memberlist");

  memberList.on("click", ".alert", function() {
    $(this).toggleClass("member-clicked");
  });

  memberList.on("click", ".close", function() {
    var memberColumn = $(this).parent().parent();
    memberColumn.fadeOut();
  });

  $(".btn-addmember").click(function() {
    var newMember = $("#text").val().trim();
    if (newMember) {
      addMember(newMember);
    } else {
      alert("Please, enter the name of the member");
    }
    $("#text").val("");
  });

  $(".btn[data-team]").click(function() {
    addTeam($(this).data("team"));
  });

  function addMember(member) {
    member = member.trim();
    if (member) {
      memberList.append(
        `<div class="col-xs-6 col-sm-4"><div class="alert alert-success">` +
        `<span class="close" aria-label="close">&times;</span>` +
        member +
        `</div></div>`
      );
    }
  }

  function addTeam(id) {
    var team = $("#" + id).val().trim();
    if (team) {
      var members = team.split("\n");
      console.log(members);
      for (var i = 0; i < members.length; i++) {
        addMember(members[i]);
      }
    }
  }
});
.footer {
  position: fixed;
  left: 0;
  bottom: 0;
  right: 0;
}

/* create a class for .toggleClass() */
.alert.member-clicked {
  text-decoration-line: line-through;
  background-color: #ddd;
  border-color: #ddd;
}

/* use margin instead of <br> */
.copyright {
  margin-top: 10px;
}

/* use these values not only when the screen is wider than 768 pixels */
.form-inline.form-members .input-group {
  display: inline-table;
  vertical-align: middle;
}
.form-inline.form-members .input-group .input-group-btn {
  width: auto;
}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="container">
  <h2 class="text text-success text-center">Team Members</h2>
  <div id="memberlist" class="row"></div>
</div>

<footer class="footer">
  <div class="container">
    <!-- Input for members -->
    <div class="form-inline form-members">
      <div class="input-group">
        <input type="text" class="form-control" placeholder="Add member" id="text">
        <div class="input-group-btn">
          <button class="btn btn-success btn-addmember"><i class="glyphicon glyphicon-plus"></i></button>
        </div>
      </div>
      <button class="btn btn-success" data-team="team1"><i class="glyphicon glyphicon-plus"></i> TEAM1</button>
      <button class="btn btn-success" data-team="team2"><i class="glyphicon glyphicon-plus"></i> TEAM2</button>
    </div>

    <div class="form-group hidden">
      <label for="exampleFormControlTextarea1">Team1</label>
      <textarea class="form-control" id="team1" rows="7">
        1 vivamus eget 
        1 lacus vitae 
        1 mi vulputate 
        1 varius integer 
        1 suscipit orci 
        1 condimentum
        1 vestibulum
      </textarea>

      <label for="exampleFormControlTextarea1">Team2</label>
      <textarea class="form-control" id="team2" rows="7">
        2 vivamus eget 
        2 lacus vitae 
        2 mi vulputate 
        2 varius integer 
        2 suscipit orci 
        2 condimentum
        2 vestibulum
      </textarea>
    </div>

    <p class="copyright text-right">Created by: Me - <a href="mailto:[email protected]">[email protected]</a></p>
  </div>
</footer>

2021-11-20 00:25:56

Wow,데요..... 이 대답은 매우 상세한,매우 개선하고 있습니다. 감사에 대한 시간과 노력이 함께!!
VORiAND
0

그러나 많은 레이아웃을 개선할 수 있는 다른 여기에 대한 답을 이미 했습니다. 하지만 경고하는 그냥 휴식을 경고 3 열을 변경하지 않고 전체 코드를 추가한 클래스 col-sm-4 (를 생성하는 3 열에는 뷰포트에서는 작은 화면 크기)에 JS 라인 당신은 값을 할당 y. 그래서 그 특정한 문제가:

var y = "<div class='alert alert-success alert-dismissible fade in'><a href='#' class='close' data-dismiss='alert' aria-label='close'>×</a>" + $('#text').val() + "</div>";

2021-11-20 00:06:45

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................